Bootstrap

4.1-4.13Linux磁盘管理

目录

df命令

du命令

 磁盘分区

1、添加新硬盘

2、分区

3、格式化 

4、挂载卸载

      手动增加swap空间

      LVM

         lvm扩容

ext4格式

XFS格式扩容

扩展卷组


 df命令

df命令用于显示磁盘分区上的可使用的磁盘空间。默认显示单位为KB。可以利用该命令来获取硬盘被占用了多少空间,目前还剩下多少空间等信息。

df(选项)(参数)

选项

-a或--all:包含全部的文件系统;
--block-size=<区块大小>:以指定的区块大小来显示区块数目;
-h或--human-readable:以可读性较高的方式来显示信息;
-H或--si:与-h参数相同,但在计算时是以1000 Bytes为换算单位而非1024 Bytes;
-i或--inodes:显示inode的信息;
-k或--kilobytes:指定区块大小为1024字节;
-l或--local:仅显示本地端的文件系统;
-m或--megabytes:指定区块大小为1048576字节;
--no-sync:在取得磁盘使用信息前,不要执行sync指令,此为预设值;
-P或--portability:使用POSIX的输出格式;
--sync:在取得磁盘使用信息前,先执行sync指令;
-t<文件系统类型>或--type=<文件系统类型>:仅显示指定文件系统类型的磁盘信息;
-T或--print-type:显示文件系统的类型;
-x<文件系统类型>或--exclude-type=<文件系统类型>:不要显示指定文件系统类型的磁盘信息;
--help:显示帮助;
--version:显示版本信息。
[root@linux-02 ~]# df
Filesystem     1K-blocks    Used Available Use% Mounted on
/dev/sda3       16561152 1167724  15393428   8% /
devtmpfs          261688       0    261688   0% /dev
tmpfs             272672       0    272672   0% /dev/shm
tmpfs             272672    5680    266992   3% /run
tmpfs             272672       0    272672   0% /sys/fs/cgroup
/dev/sda1         201380  103988     97392  52% /boot
tmpfs              54536       0     54536   0% /run/user/0

/dev/shm 是内存 写入速度快

第一列 文件系统 

第二列磁盘总大小 

第三列已用 可用

第四列已用%   平时要关注 已用%几  这一列到80%90%就要关注   

第五列挂载点 实际是目录   因为linux 的磁盘不能直接访问 ,需要有挂载点,才能读写数据

-h  人性化显示单位

[root@linux-02 ~]# df -h
Filesystem      Size  Used Avail Use% Mounted on
/dev/sda3        16G  1.2G   15G   8% /
devtmpfs        256M     0  256M   0% /dev
tmpfs           267M     0  267M   0% /dev/shm
tmpfs           267M  5.6M  261M   3% /run
tmpfs           267M     0  267M   0% /sys/fs/cgroup
/dev/sda1       197M  102M   96M  52% /boot
tmpfs            54M     0   54M   0% /run/user/0

带tmp 的文件系统 都是临时的文件系统, 重启后就会消失

df -m 以兆的单位显示

  df -i  查看inode 使用情况

[root@linux-02 ~]# df -i
Filesystem      Inodes IUsed   IFree IUse% Mounted on
/dev/sda3      8285696 30797 8254899    1% /
devtmpfs         65422   375   65047    1% /dev
tmpfs            68168     1   68167    1% /dev/shm
tmpfs            68168   711   67457    2% /run
tmpfs            68168    16   68152    1% /sys/fs/cgroup
/dev/sda1       102400   326  102074    1% /boot
tmpfs            68168     1   68167    1% /run/user/0

     磁盘明明有空间   就是写不进 ,使用 df -i  查看inode 是否已满

关注 /dev/sda3、  /dev/sha1 

查看SWAP分区 /dev/sda2

 

[root@linux-02 ~]# free
              total        used        free      shared  buff/cache   available
Mem:         545348      129928      273796        5680      141624      299648
Swap:       4194300           0     4194300

du命令

du查看文件大小

du命令也是查看使用空间的,但是与df命令不同的是Linux du命令是对文件和目录磁盘使用的空间的查看,还是和df命令有一些区别的。

语法

du [选项][文件]

选项

-a或-all 显示目录中个别文件的大小。
-b或-bytes 显示目录或文件大小时,以byte为单位。
-c或--total 除了显示个别目录或文件的大小外,同时也显示所有目录或文件的总和。
-k或--kilobytes 以KB(1024bytes)为单位输出。
-m或--megabytes 以MB为单位输出。
-s或--summarize 仅显示总计,只列出最后加总的值。
-h或--human-readable 以K,M,G为单位,提高信息的可读性。
-x或--one-file-xystem 以一开始处理时的文件系统为准,若遇上其它不同的文件系统目录则略过。
-L<符号链接>或--dereference<符号链接> 显示选项中所指定符号链接的源文件大小。
-S或--separate-dirs 显示个别目录的大小时,并不含其子目录的大小。
-X<文件>或--exclude-from=<文件> 在<文件>指定目录或文件。
--exclude=<目录或文件> 略过指定的目录或文件。
-D或--dereference-args 显示指定符号链接的源文件大小。
-H或--si 与-h参数相同,但是K,M,G是以1000为换算单位。
-l或--count-links 重复计算硬件链接的文件。

 

块,划成多个小块,每个小块为4K,文件大小不足4K 依然会显示4K ,一个文件可以放在多个小块里,但是一个小块不可以放入多个文件

查看一一个目录的大小 建议加 -sh 

 

4.3 磁盘分区

1、添加新硬盘

点击编辑虚拟机设置 

点击下一步

点击下一步

点击下一步

设置10G够了

点击下一步 》》完成   》》 虚拟机设置框  点击确定

虚拟机不支持热插拔不能识别新硬盘 需要重启 系统(现实中服务器都支持热插拔)

2、分区

fdisk -l 

[root@linux-01 ~]# fdisk -l

磁盘 /dev/sda:21.5 GB, 21474836480 字节,41943040 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x000e3150

   设备 Boot      Start         End      Blocks   Id  System
/dev/sda1   *        2048      411647      204800   83  Linux
/dev/sda2          411648     8800255     4194304   82  Linux swap / Solaris
/dev/sda3         8800256    41943039    16571392   83  Linux

磁盘 /dev/sdb:10.7 GB, 10737418240 字节,20971520 个扇区     # 已显示新的硬盘
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
[root@linux-01 ~]# fdisk /dev/sdb
欢迎使用 fdisk (util-linux 2.23.2)。

更改将停留在内存中,直到您决定将更改写入磁盘。
使用写入命令前请三思。

Device does not contain a recognized partition table
使用磁盘标识符 0x76d4539a 创建新的 DOS 磁盘标签。

命令(输入 m 获取帮助):m
命令操作
   a   toggle a bootable flag                 活动分区标记/引导分区
   b   edit bsd disklabel
   c   toggle the dos compatibility flag
   d   delete a partition                     删除分区
   g   create a new empty GPT partition table
   G   create an IRIX (SGI) partition table
   l   list known partition types                  显示分区类型
   m   print this menu                        #显示菜单和帮助信息
   n   add a new partition                     新建分区
   o   create a new empty DOS partition table
   p   print the partition table                显示分区信息
   q   quit without saving changes              退出不保存
   s   create a new empty Sun disklabel          s<分区编号> 指定分区
   t   change a partition's system id           设置分区号
   u   change display/entry units               与"-l"搭配使用,显示分区数目
   v   verify the partition table               进行分区检查
   w   write table to disk and exit            保存修改
   x   extra functionality (experts only)      扩展应用,高级功能

 

 

常用  -n新建、- p列出  、-w保存 、-d删除

命令(输入 m 获取帮助):p

磁盘 /dev/sdb:10.7 GB, 10737418240 字节,20971520 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x76d4539a

   设备 Boot      Start         End      Blocks   Id  System

# 未进行分区 无分区信息显示


   ##新建分区
命令(输入 m 获取帮助):n
Partition type:
   p   primary (0 primary, 0 extended, 4 free)
   e   extended
Select (default p): 

 

mbr分区 超过2T不能使用fdisk 

p  主分区:最多只能有四个 主分区  例如: pppp 、   ppp+e 、p+e

e  扩展分区 :只能有一个 ,一个扩展分区可分若干个逻辑分区(l)

   设备 Boot      Start         End      Blocks   Id  System      
/dev/sdb1            2048    12584959     6291456    5  Extended   #sdb1扩展分区
/dev/sdb2        12584960    18876415     3145728   83  Linux      #sdb2主分区
/dev/sdb5            4096     2101247     1048576   83  Linux      #sdb5-17 逻辑分区
/dev/sdb6         2103296     4200447     1048576   83  Linux
/dev/sdb7         4202496     6299647     1048576   83  Linux
/dev/sdb8         6301696     8398847     1048576   83  Linux
/dev/sdb9        10500096    12343295      921600   83  Linux
/dev/sdb10        8400896     8605695      102400   83  Linux
/dev/sdb11        8607744     8812543      102400   83  Linux
/dev/sdb12        8814592     9019391      102400   83  Linux
/dev/sdb13        9021440     9226239      102400   83  Linux
/dev/sdb14        9228288     9433087      102400   83  Linux
/dev/sdb15        9435136     9639935      102400   83  Linux
/dev/sdb16        9641984     9846783      102400   83  Linux
/dev/sdb17        9848832     9951231       51200   83  Linux
Select (default p): e
分区号 (1-4,默认 1):
起始 扇区 (2048-20971519,默认为 2048):
将使用默认值 2048
Last 扇区, +扇区 or +size{K,M,G} (2048-20971519,默认为 20971519):+6G
分区 1 已设置为 Extended 类型,大小设为 6 GiB

命令(输入 m 获取帮助):n
Partition type:
   p   primary (1 primary, 1 extended, 2 free)
   l   logical (numbered from 5)
Select (default p): e
无效的分区类型“e”             # 只能有一个扩展分区

 

分区完成后保存操作

命令(输入 m 获取帮助):w
The partition table has been altered!

Calling ioctl() to re-read partition table.
正在同步磁盘

3、格式化 

   磁盘格式:

[root@linux-01 ~]# cat /etc/filesystems   #centos支持的文件系统
xfs     #系统默认文件系统
ext4
ext3
ext2
nodev proc
nodev devpts
iso9660
vfat
hfs
hfsplus
*

查看分区的文件系统

查看已挂载的磁盘格式
[root@linux-01 ~]# mount
sysfs on /sys type sysfs (rw,nosuid,nodev,noexec,relatime)
proc on /proc type proc (rw,nosuid,nodev,noexec,relatime)
/dev/sda3 on / type xfs (rw,relatime,attr2,inode64,noquota)

/dev/sda1 on /boot type xfs (rw,relatime,attr2,inode64,noquota)    
(部分内容)
查看未挂载的磁盘格式
[root@linux-01 ~]# blkid /dev/sdb1
/dev/sdb1: UUID="04db20cf-f3f3-45b7-8b83-3cc97f5d097c" TYPE="xfs" 

 

swap:swap分区独立一种swap文件系统 

mke2fs 磁盘格式化指令

语法

mke2fs(选项)(参数)

选项

-b<区块大小>:指定区块大小,单位为字节;
-c;检查是否有损坏的区块;
-f<不连续区段大小>:指定不连续区段的大小,单位为字节;
-F:不管指定的设备为何,强制执行mke2fs;
-i<字节>:指定"字节/inode"的比例;
-N<inode数>:指定要建立的inode数目;
-l<文件>:从指定的文件中,读取文件西中损坏区块的信息;
-L<标签>:设置文件系统的标签名称;
-m<百分比值>:指定给管理员保留区块的比例,预设为5%;
-M:记录最后一次挂入的目录;
-q:执行时不显示任何信息;
-r:指定要建立的ext2文件系统版本;
-R=<区块数>:设置磁盘阵列参数;
-S:仅写入superblock与group descriptors,而不更改inode able inode bitmap以及block bitmap;
-v:执行时显示详细信息;
-V:显示版本信息。

常用:

 -t   :mke2fs命令不支持将硬盘格式化为 xfs格式

若不指明文件系统格式默认为“ext2”

[root@linux-01 ~]# blkid /dev/sdb1
/dev/sdb1: UUID="04db20cf-f3f3-45b7-8b83-3cc97f5d097c" TYPE="ext2" 
[root@linux-01 ~]# mke2fs -t xfs /dev/sdb1
mke2fs 1.42.9 (28-Dec-2013)

Your mke2fs.conf file does not define the xfs filesystem type.
Aborting...


使用mkfs.xfs  强制 格式化为xfs 格式

[root@linux-01 ~]# mkfs.xfs -f /dev/sdb1 
meta-data=/dev/sdb1              isize=512    agcount=4, agsize=262144 blks
         =                       sectsz=512   attr=2, projid32bit=1
         =                       crc=1        finobt=0, sparse=0
data     =                       bsize=4096   blocks=1048576, imaxpct=25
         =                       sunit=0      swidth=0 blks
naming   =version 2              bsize=4096   ascii-ci=0 ftype=1
log      =internal log           bsize=4096   blocks=2560, version=2
         =                       sectsz=512   sunit=0 blks, lazy-count=1
realtime =none                   extsz=4096   blocks=0, rtextents=0

-b : 在存放大容量的文件是将 块的大小单位设置大一些有利于加快存取速度

[root@linux-01 ~]# mke2fs -t ext4 -b 8196  /dev/sdb1
Warning: blocksize 8196 not usable on most systems.
mke2fs 1.42.9 (28-Dec-2013)
mke2fs: Device size reported to be zero.  Invalid partition specified, or
	partition table wasn't reread after running fdisk, due to
	a modified partition being busy and in use.  You may need to reboot
	to re-read your partition table.

-m   将保留区比例缩小磁盘最大化使用

 

[root@linux-01 ~]# mke2fs -m 1 /dev/sdb1
mke2fs 1.42.9 (28-Dec-2013)
文件系统标签=
OS type: Linux
块大小=4096 (log=2)
分块大小=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
262144 inodes, 1048576 blocks
10485 blocks (1.00%) reserved for the super user      # 0.1% 亦可以
第一个数据块=0
Maximum filesystem blocks=1073741824
32 block groups
32768 blocks per group, 32768 fragments per group
(省略部分内容)

-i   指定"字节/inode"的比例

[root@linux-01 ~]# mke2fs -i 8192 /dev/sdb1

Stride=0 blocks, Stripe width=0 blocks
262144 inodes, 1048576 blocks
变为
Stride=0 blocks, Stripe width=0 blocks 
524288 inodes, 1048576 blocks          # 增加inodes 由原来的1:4 变为1:2 

 

4、挂载卸载

[root@linux-01 ~]# mount /dev/sdb1 /mnt/
[root@linux-01 ~]# df -h
文件系统        容量  已用  可用 已用% 挂载点
/dev/sda3        16G  1.2G   15G    8% /
devtmpfs        477M     0  477M    0% /dev
tmpfs           488M     0  488M    0% /dev/shm
tmpfs           488M  7.7M  480M    2% /run
tmpfs           488M     0  488M    0% /sys/fs/cgroup
/dev/sda1       197M  102M   96M   52% /boot
tmpfs            98M     0   98M    0% /run/user/0
/dev/sdb1       3.8G   16M  3.7G    1% /mnt     # 多了sdb1分区

 

[root@linux-01 mnt]# umount /dev/sdb1
umount: /mnt:目标忙。
        (有些情况下通过 lsof(8) 或 fuser(1) 可以
         找到有关使用该设备的进程的有用信息)
[root@linux-01 mnt]# cd .
[root@linux-01 mnt]# cd
[root@linux-01 ~]# umount /dev/sdb1     #跟分区号
[root@linux-01 ~]# df -h
文件系统        容量  已用  可用 已用% 挂载点
/dev/sda3        16G  1.2G   15G    8% /
devtmpfs        477M     0  477M    0% /dev
tmpfs           488M     0  488M    0% /dev/shm
tmpfs           488M  7.7M  480M    2% /run
tmpfs           488M     0  488M    0% /sys/fs/cgroup
/dev/sda1       197M  102M   96M   52% /boot
tmpfs            98M     0   98M    0% /run/user/0



[root@linux-01 ~]# umount /mnt -l    #跟挂载点 加-l 选项强制卸载
[root@linux-01 ~]# df -h
文件系统        容量  已用  可用 已用% 挂载点
/dev/sda3        16G  1.2G   15G    8% /
devtmpfs        477M     0  477M    0% /dev
tmpfs           488M     0  488M    0% /dev/shm
tmpfs           488M  7.7M  480M    2% /run
tmpfs           488M     0  488M    0% /sys/fs/cgroup
/dev/sda1       197M  102M   96M   52% /boot
tmpfs            98M     0   98M    0% /run/user/0

 

配置文件

[root@linux-01 ~]# vi /etc/fstab 
#
# /etc/fstab
# Created by anaconda on Mon May  6 02:50:16 2019
#
# Accessible filesystems, by reference, are maintained under '/dev/disk'
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
#
#                设备号                     挂载点              分区格式   挂载选项             是否检测    
UUID=6a1b2ba9-a6eb-4774-8de8-061240d4bbf2 /                       xfs     defaults        0    0
UUID=71323b33-1162-4bf1-a407-f2dcee151c8a /boot                   xfs     defaults        0    0
UUID=a2f9036f-270f-49a3-bfe2-33cd2942d179 swap                    swap    defaults        0    0
  dev/sdb1                                /mnt                    ext4    defaults         0    0 

 手动增加swap空间

第一步:
[root@linux-01 ~]# dd if=/dev/zero of=/tmp/newdisk bs=1M count=100
记录了100+0 的读入
记录了100+0 的写出
104857600字节(105 MB)已复制,4.01981 秒,26.1 MB/秒

[root@linux-01 ~]# du -sh /tmp/newdisk
128M	/tmp/newdisk
第二步:
[root@linux-01 ~]# mkswap -f /tmp/newdisk
正在设置交换空间版本 1,大小 = 102396 KiB
无标签,UUID=ff1e3bd7-b7ca-4e2e-948c-663a6cb6092d
[root@linux-01 ~]# free -m
              total        used        free      shared  buff/cache   available
Mem:            974         131         610           7         232         676
Swap:          4095           0        4095
第三步:
[root@linux-01 ~]# swapon /tmp/newdisk
swapon: /tmp/newdisk:不安全的权限 0644,建议使用 0600。
[root@linux-01 ~]# free -m
              total        used        free      shared  buff/cache   available
Mem:            974         131         610           7         232         677
Swap:          4195           0        4195
第四步:
[root@linux-01 ~]# chmod 0600 /tmp/newdisk

卸载swap空间
[root@linux-01 ~]# swapoff /tmp/newdisk
[root@linux-01 ~]# free -m
              total        used        free      shared  buff/cache   available
Mem:            974         131         610           7         232         677
Swap:          4095           0        4095

LVM

#第一步创建分区 

#第一步创建分区


[root@linux-01 ~]# fdisk /dev/sdb
欢迎使用 fdisk (util-linux 2.23.2)。

更改将停留在内存中,直到您决定将更改写入磁盘。
使用写入命令前请三思。

# 修改分区类型 
命令(输入 m 获取帮助):t  
已选择分区 1
Hex 代码(输入 L 列出所有代码):8e
已将分区“Linux”的类型更改为“Linux LVM”

命令(输入 m 获取帮助):p

磁盘 /dev/sdb:10.7 GB, 10737418240 字节,20971520 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0xeb4e9bd4

   设备 Boot      Start         End      Blocks   Id  System
/dev/sdb1            2048     2099199     1048576   8e  Linux LVM
(省略sdb2、sdb3分区过程)

命令(输入 m 获取帮助):p

磁盘 /dev/sdb:10.7 GB, 10737418240 字节,20971520 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0xeb4e9bd4

   设备 Boot      Start         End      Blocks   Id  System
/dev/sdb1            2048     2099199     1048576   8e  Linux LVM
/dev/sdb2         2099200     4196351     1048576   8e  Linux LVM
/dev/sdb3         4196352     6293503     1048576   8e  Linux LVM


[root@linux-01 ~]# fdisk -l

磁盘 /dev/sda:21.5 GB, 21474836480 字节,41943040 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x000e3150

   设备 Boot      Start         End      Blocks   Id  System
/dev/sda1   *        2048      411647      204800   83  Linux
/dev/sda2          411648     8800255     4194304   82  Linux swap / Solaris
/dev/sda3         8800256    41943039    16571392   83  Linux

磁盘 /dev/sdb:10.7 GB, 10737418240 字节,20971520 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0xeb4e9bd4

   设备 Boot      Start         End      Blocks   Id  System
/dev/sdb1            2048     2099199     1048576   8e  Linux LVM 
/dev/sdb2         2099200     4196351     1048576   8e  Linux LVM
/dev/sdb3         4196352     6293503     1048576   8e  Linux LVM

# 第二步创建物理卷 

# 第二步创建物理卷
[root@linux-01 ~]# pvcreate /dev/sdb1 
WARNING: ext4 signature detected on /dev/sdb1 at offset 1080. Wipe it? [y/n]: y
  Wiping ext4 signature on /dev/sdb1.
  Physical volume "/dev/sdb1" successfully created.
[root@linux-01 ~]# pvcreate /dev/sdb2 
  Physical volume "/dev/sdb2" successfully created.
[root@linux-01 ~]# pvcreate /dev/sdb3 
  Physical volume "/dev/sdb3" successfully created.
[root@linux-01 ~]# df -h
文件系统        容量  已用  可用 已用% 挂载点
/dev/sda3        16G  1.4G   15G    9% /
devtmpfs        477M     0  477M    0% /dev
tmpfs           488M     0  488M    0% /dev/shm
tmpfs           488M  7.7M  480M    2% /run
tmpfs           488M     0  488M    0% /sys/fs/cgroup
/dev/sda1       197M  102M   96M   52% /boot
tmpfs            98M     0   98M    0% /run/user/0

#查看物理卷
方法一
[root@linux-01 ~]# pvs
  PV         VG Fmt  Attr PSize PFree
  /dev/sdb1     lvm2 ---  1.00g 1.00g
  /dev/sdb2     lvm2 ---  1.00g 1.00g
  /dev/sdb3     lvm2 ---  1.00g 1.00g
方法二
[root@linux-01 ~]# pvdisplay
  "/dev/sdb2" is a new physical volume of "1.00 GiB"
  --- NEW Physical volume ---
  PV Name               /dev/sdb2
  VG Name               
  PV Size               1.00 GiB
  Allocatable           NO
  PE Size               0   
  Total PE              0
  Free PE               0
  Allocated PE          0
  PV UUID               SrZpIE-sRQi-ewCQ-fd8t-yjNO-fPLj-95BZb3
   
  "/dev/sdb1" is a new physical volume of "1.00 GiB"
  --- NEW Physical volume ---
  PV Name               /dev/sdb1
  VG Name               
  PV Size               1.00 GiB
  Allocatable           NO
  PE Size               0   
  Total PE              0
  Free PE               0
  Allocated PE          0
  PV UUID               xtJKvu-QGaw-hfqI-GHUz-218C-5bTY-mY28yB
   
  "/dev/sdb3" is a new physical volume of "1.00 GiB"
  --- NEW Physical volume ---
  PV Name               /dev/sdb3
  VG Name               
  PV Size               1.00 GiB
  Allocatable           NO
  PE Size               0   
  Total PE              0
  Free PE               0
  Allocated PE          0
  PV UUID               N7UTVS-XSx7-bpdQ-20ze-3MTY-Rf55-0DpQoM


第三步创建卷组

[root@linux-01 ~]# vgcreate vg1 /dev/sdb1 /dev/sdb2
  Volume group "vg1" successfully created
[root@linux-01 ~]# pvs
  PV         VG  Fmt  Attr PSize    PFree   
  /dev/sdb1  vg1 lvm2 a--  1020.00m 1020.00m
  /dev/sdb2  vg1 lvm2 a--  1020.00m 1020.00m
  /dev/sdb3      lvm2 ---     1.00g    1.00g


#查看卷组   
[root@linux-01 ~]# vgdisplay
  --- Volume group ---
  VG Name               vg1
  System ID             
  Format                lvm2
  Metadata Areas        2
  Metadata Sequence No  1
  VG Access             read/write
  VG Status             resizable
  MAX LV                0
  Cur LV                0
  Open LV               0
  Max PV                0
  Cur PV                2
  Act PV                2
  VG Size               1.99 GiB
  PE Size               4.00 MiB
  Total PE              510
  Alloc PE / Size       0 / 0   
  Free  PE / Size       510 / 1.99 GiB
  VG UUID               UIJmdi-MMq2-JJoW-sXQr-1PbV-pE4v-EEVSPA
  
[root@linux-01 ~]# vgs   
  VG  #PV #LV #SN Attr   VSize VFree
  vg1   2   0   0 wz--n- 1.99g 1.99g

删除卷组 
vgremove

 第四步创建逻辑卷

[root@linux-01 ~]# lvcreate -L 100M (-L设置大小)  -n lv1(逻辑卷名)  vg1 (在vg1处创建) 

[root@linux-01 ~]# lvcreate -L 100M -n lv1 vg1 
  Logical volume "lv1" created

第五步格式化 挂载

[root@linux-01 ~]# mkfs.ext4 /dev/vg1/lv1
mke2fs 1.42.9 (28-Dec-2013)
文件系统标签=
OS type: Linux
块大小=1024 (log=0)
分块大小=1024 (log=0)
Stride=0 blocks, Stripe width=0 blocks
25688 inodes, 102400 blocks
5120 blocks (5.00%) reserved for the super user
第一个数据块=1
Maximum filesystem blocks=33685504
13 block groups
8192 blocks per group, 8192 fragments per group
1976 inodes per group
Superblock backups stored on blocks: 
	8193, 24577, 40961, 57345, 73729

Allocating group tables: 完成                            
正在写入inode表: 完成                            
Creating journal (4096 blocks): 完成
Writing superblocks and filesystem accounting information: 完成 


[root@linux-01 ~]# mount /dev/vg1/lv1 /mnt
[root@linux-01 ~]# df -h
文件系统             容量  已用  可用 已用% 挂载点
/dev/sda3             16G  1.4G   15G    9% /
devtmpfs             477M     0  477M    0% /dev
tmpfs                488M     0  488M    0% /dev/shm
tmpfs                488M  7.7M  480M    2% /run
tmpfs                488M     0  488M    0% /sys/fs/cgroup
/dev/sda1            197M  102M   96M   52% /boot
tmpfs                 98M     0   98M    0% /run/user/0
/dev/mapper/vg1-lv1   93M  1.6M   85M    2% /mnt

lvm扩容

ext4格式

第一步调整卷大小

[root@linux-01 ~]# umount /mnt

[root@linux-01 ~]# lvresize -L 200M /dev/vg1/lv1
  Size of logical volume vg1/lv1 changed from 100.00 MiB (25 extents) to 200.00 MiB (50 extents).
  Logical volume vg1/lv1 successfully resized.

第二步 检查磁盘错误

e2fsck -f /dev/vg1/lv1 
e2fsck 1.42.9 (28-Dec-2013)
第一步: 检查inode,块,和大小
第二步: 检查目录结构
第3步: 检查目录连接性
Pass 4: Checking reference counts
第5步: 检查簇概要信息
/dev/vg1/lv1: 13/25688 files (7.7% non-contiguous), 8898/102400 blocks

第三步更新逻辑卷信息

[root@linux-01 ~]# resize2fs /dev/vg1/lv1
resize2fs 1.42.9 (28-Dec-2013)
Resizing the filesystem on /dev/vg1/lv1 to 204800 (1k) blocks.
The filesystem on /dev/vg1/lv1 is now 204800 blocks long.

[root@linux-01 ~]# mount /dev/vg1/lv1 /mnt

[root@linux-01 ~]# df -h
文件系统             容量  已用  可用 已用% 挂载点
/dev/sda3             16G  1.4G   15G    9% /
devtmpfs             477M     0  477M    0% /dev
tmpfs                488M     0  488M    0% /dev/shm
tmpfs                488M  7.7M  480M    2% /run
tmpfs                488M     0  488M    0% /sys/fs/cgroup
/dev/sda1            197M  102M   96M   52% /boot
tmpfs                 98M     0   98M    0% /run/user/0
/dev/mapper/vg1-lv1  190M  1.6M  175M    1% /mnt

 

技巧:# 通过命令 查找安装包名称

[root@linux-01 ~]# yum provides "/*/pvcreate"    # 通过命令 查找安装包名称
已加载插件:fastestmirror
Loading mirror speeds from cached hostfile
 * base: mirrors.aliyun.com
 * extras: centos.ustc.edu.cn
 * updates: mirrors.aliyun.com
1:bash-completion-2.1-6.el7.noarch : Programmable completion for Bash
源    :base
匹配来源:
文件名    :/usr/share/bash-completion/completions/pvcreate


  #查出安装包名称: lvm2
7:lvm2-2.02.180-8.el7.x86_64 : Userland logical volume management tools
源    :base
匹配来源:
文件名    :/usr/sbin/pvcreate
(省略部分内容)





[root@linux-01 ~]# yum install -y lvm2
已加载插件:fastestmirror
Loading mirror speeds from cached hostfile
 * base: mirrors.aliyun.com
 * extras: ftp.sjtu.edu.cn
 * updates: mirrors.aliyun.com


已安装:
  lvm2.x86_64 7:2.02.180-10.el7_6.7                                                                                        

  (省略部分内容)              

完毕!

 

 

缩容:

1、 umount  /mnt       # 卸载
[root@linux-01 ~]#  umount /mnt

2、 检测错误   e2fsck -f /dev/vg1/lv1
[root@linux-01 ~]# e2fsck -f /dev/vg1/lv1
e2fsck 1.42.9 (28-Dec-2013)
第一步: 检查inode,块,和大小
第二步: 检查目录结构
第3步: 检查目录连接性
Pass 4: Checking reference counts
第5步: 检查簇概要信息
/dev/vg1/lv1: 13/49400 files (7.7% non-contiguous), 11886/204800 bloc

3、更新逻辑卷信息resize2fs /dev/vg1/lv1 100M
[root@linux-01 ~]# resize2fs /dev/vg1/lv1 100M
resize2fs 1.42.9 (28-Dec-2013)
Resizing the filesystem on /dev/vg1/lv1 to 102400 (1k) blocks.
The filesystem on /dev/vg1/lv1 is now 102400 blocks long.


4、重新设置卷的大小lvresize -L 100M /dev/vg1/lv1
[root@linux-01 ~]# lvresize -L 100M /dev/vg1/lv1
  WARNING: Reducing active logical volume to 100.00 MiB.
  THIS MAY DESTROY YOUR DATA (filesystem etc.)
Do you really want to reduce vg1/lv1? [y/n]: y
  Size of logical volume vg1/lv1 changed from 200.00 MiB (50 extents) to 100.00 MiB (25 extents).
  Logical volume vg1/lv1 successfully resized.


查询磁盘情况
[root@linux-01 ~]# lvdisplay 
  --- Logical volume ---
  LV Path                /dev/vg1/lv1
  LV Name                lv1
  VG Name                vg1
  LV UUID                riNarv-qgui-4DRo-y2lv-k4MF-kwcF-UPP8Ho
  LV Write Access        read/write
  LV Creation host, time linux-01, 2019-06-16 22:44:59 +0800
  LV Status              available
  # open                 0
  LV Size                100.00 MiB
  Current LE             25
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     8192
  Block device           253:0
   
[root@linux-01 ~]# lvs
  LV   VG  Attr       LSize   Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert
  lv1  vg1 -wi-a----- 100.00m                                                    

重新加载
[root@linux-01 ~]# !mount
mount /dev/vg1/lv1 /mnt
[root@linux-01 ~]# ls /mnt
12234  123.txt  lost+found

 磁盘挂载时没有生成设备文件使用 partprobe

XFS格式扩容

[root@linux-01 ~]# lvs
  LV   VG  Attr       LSize   Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert
  lv1  vg1 -wi-ao---- 100.00m                                                    
1、设置卷大小
[root@linux-01 ~]# lvresize -L 300M /dev/vg1/lv1
  Size of logical volume vg1/lv1 changed from 100.00 MiB (25 extents) to 300.00 MiB (75 extents).
  Logical volume vg1/lv1 successfully resized.
[root@linux-01 ~]# lvs
  LV   VG  Attr       LSize   Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert
  lv1  vg1 -wi-ao---- 300.00m 


2、xfs文件系统需要执行步骤 
[root@linux-01 ~]# xfs_growfs /dev/vg1/lv1
meta-data=/dev/mapper/vg1-lv1    isize=512    agcount=4, agsize=6400 blks
         =                       sectsz=512   attr=2, projid32bit=1
         =                       crc=1        finobt=0 spinodes=0
data     =                       bsize=4096   blocks=25600, imaxpct=25
         =                       sunit=0      swidth=0 blks
naming   =version 2              bsize=4096   ascii-ci=0 ftype=1
log      =internal               bsize=4096   blocks=855, version=2
         =                       sectsz=512   sunit=0 blks, lazy-count=1
realtime =none                   extsz=4096   blocks=0, rtextents=0
data blocks changed from 25600 to 76800

结果查询:
[root@linux-01 ~]# df -h
文件系统             容量  已用  可用 已用% 挂载点
/dev/sda3             16G  1.4G   15G    9% /
devtmpfs             477M     0  477M    0% /dev
tmpfs                488M     0  488M    0% /dev/shm
tmpfs                488M  7.7M  480M    2% /run
tmpfs                488M     0  488M    0% /sys/fs/cgroup
/dev/sda1            197M  102M   96M   52% /boot
tmpfs                 98M     0   98M    0% /run/user/0
/dev/mapper/vg1-lv1  297M  5.5M  292M    2% /mnt

扩展卷组

[root@linux-01 ~]# vgs
  VG  #PV #LV #SN Attr   VSize VFree 
  vg1   2   1   0 wz--n- 1.99g <1.70g
[root@linux-01 ~]# fdisk -l

磁盘 /dev/sda:21.5 GB, 21474836480 字节,41943040 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x000e3150

   设备 Boot      Start         End      Blocks   Id  System
/dev/sda1   *        2048      411647      204800   83  Linux
/dev/sda2          411648     8800255     4194304   82  Linux swap / Solaris
/dev/sda3         8800256    41943039    16571392   83  Linux

磁盘 /dev/sdb:10.7 GB, 10737418240 字节,20971520 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0xeb4e9bd4

   设备 Boot      Start         End      Blocks   Id  System
/dev/sdb1            2048     2099199     1048576   8e  Linux LVM
/dev/sdb2         2099200     4196351     1048576   8e  Linux LVM
/dev/sdb3         4196352     6293503     1048576   8e  Linux LVM

磁盘 /dev/mapper/vg1-lv1:314 MB, 314572800 字节,614400 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节

###添加逻辑卷到卷组
[root@linux-01 ~]# vgextend vg1 /dev/sdb3
  Volume group "vg1" successfully extended
[root@linux-01 ~]# vgdisplay
  --- Volume group ---
  VG Name               vg1
  System ID             
  Format                lvm2
  Metadata Areas        3
  Metadata Sequence No  6
  VG Access             read/write
  VG Status             resizable
  MAX LV                0
  Cur LV                1
  Open LV               1
  Max PV                0
  Cur PV                3
  Act PV                3
  VG Size               <2.99 GiB
  PE Size               4.00 MiB
  Total PE              765
  Alloc PE / Size       75 / 300.00 MiB
  Free  PE / Size       690 / <2.70 GiB
  VG UUID               UIJmdi-MMq2-JJoW-sXQr-1PbV-pE4v-EEVSPA
   
[root@linux-01 ~]# vgs
  VG  #PV #LV #SN Attr   VSize  VFree 
  vg1   3   1   0 wz--n- <2.99g <2.70g

##重新分配卷组大小
[root@linux-01 ~]# lvresize -L 100M /dev/vg1/lv1
  WARNING: Reducing active and open logical volume to 100.00 MiB.
  THIS MAY DESTROY YOUR DATA (filesystem etc.)
Do you really want to reduce vg1/lv1? [y/n]: y
  Size of logical volume vg1/lv1 changed from 300.00 MiB (75 extents) to 100.00 MiB (25 extents).
  Logical volume vg1/lv1 successfully resized.
[root@linux-01 ~]# lvs
  LV   VG  Attr       LSize   Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert
  lv1  vg1 -wi-ao---- 100.00m                                                    
[root@linux-01 ~]# 

 

 

 

 

 

;