CentOS LVM基本操作

创建

创建物理卷PV
pvcreate /dev/sdb
查看PV
pvdisplay

创建卷组VG
vgcreate vg1 /dev/sdb
查看VG
vgdisplay

创建逻辑卷LV
lvcreate -n test -L 10G vg1

分配所有空间
lvcreate -n test -l 100%FREE vg1

查看LV
lvdisplay

删除

删除逻辑卷LV
lvremove /dev/vg1/test

删除卷组VG
vgremove vg1
可以直接删除VG,会提示你是否同时删除创建的LV

删除物理卷PV
pvremove /dev/sdb

扩容

扩容分区
先安装growpart
yum install cloud-utils-growpart -y
lsblk查看分区大小,要扩容的分区是/dev/sdb2
growpart /dev/sdb 2

扩容物理卷PV
默认直接扩到最大
pvresize /dev/sdb2
指定调整到12G
pvresize --setphysicalvolumesize 12G /dev/sdb2

扩容逻辑卷LV
默认直接扩到最大
lvextend /dev/vg1/test /dev/sdb2
设置扩容后的大小,可用+1G来增加1G
lvextend --size 15G /dev/vg1/test /dev/sdb2

写入文件系统,使扩容生效(XFS文件系统)
xfs_growfs /dev/vg1/test

写入文件系统,使扩容生效(EXT文件系统)
resize2fs /dev/vg1/test

缩减

缩减文件系统(XFS不支持缩减)
resize2fs /dev/vg1/test 5G
缩减逻辑卷LV
设置缩减后的大小,可用-1G来缩减1G
lvreduce --size 5G /dev/vg1/test
缩减物理卷PV
pvresize --setphysicalvolumesize 6G /dev/sdb

Debian分区扩展
与CentOS不同的是,growpart直接调整分区无效,需要先调整扩展分区,再调整子分区
例如

sda                           8:0    0   120G  0 disk 
|-sda1                        8:1    0   487M  0 part /boot
|-sda2                        8:2    0     1K  0 part 
`-sda5                        8:5    0 119.5G  0 part 
  |-ZabbixServer--vg-root   254:0    0 118.6G  0 lvm  /
  `-ZabbixServer--vg-swap_1 254:1    0   980M  0 lvm  

sda5是扩展分区sda2内的子分区,需要先growpart /dev/sda 2接着growpart /dev/sda 5,后续操作与CentOS相同

虚拟机如果调整磁盘大小后,系统内磁盘大小没更新,需要手动重新扫描磁盘
echo 1 > /sys/class/block/sda/device/rescan

查看分区文件系统的几种命令
1. df -T
2. parted -l
3. blkid
4. lsblk -f