Linux平台LVM基本操作
创建
创建物理卷PVpvcreate /dev/sdb
查看PVpvdisplay
创建卷组VGvgcreate vg1 /dev/sdb
查看VGvgdisplay
创建逻辑卷LVlvcreate -n test -L 10G vg1
分配所有空间lvcreate -n test -l 100%FREE vg1
查看LVlvdisplay
删除
删除逻辑卷LVlvremove /dev/vg1/test
删除卷组VGvgremove vg1
可以直接删除VG,会提示你是否同时删除创建的LV
删除物理卷PVpvremove /dev/sdb
扩容
分区扩容
先安装growpart
CentOS:yum install cloud-utils-growpart
Debian:apt install cloud-guest-utils
lsblk查看分区大小,要扩容的分区是/dev/sdb2growpart /dev/sdb 2
扩展分区扩容
如果存在扩展分区,那直接使用growpart扩容逻辑分区是无效的,需要先用growpart扩容扩展分区
从fdisk -l的分区结构看出层级关系,逻辑分区sda6是嵌套在sda4扩展分区内的
Device Boot Start End Blocks Id System
/dev/sda1 2048 4095 1024 83 Linux
/dev/sda2 * 4096 2101247 1048576 83 Linux
/dev/sda3 2101248 68163583 33031168 82 Linux swap / Solaris
/dev/sda4 68163584 1258291199 595063808 5 Extended
/dev/sda5 68165632 68427775 131072 6 FAT16
/dev/sda6 68429824 1258291199 594930688 8e Linux LVM需要先growpart /dev/sda 4然后growpart /dev/sda 6
扩容物理卷PV
默认直接扩到最大pvresize /dev/sdb2
指定调整到12Gpvresize --setphysicalvolumesize 12G /dev/sdb2
扩容逻辑卷LV
默认直接扩到最大lvextend /dev/vg1/test /dev/sdb2
设置扩容后的大小,可用+1G来增加1Glvextend --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来缩减1Glvreduce --size 5G /dev/vg1/test
缩减物理卷PVpvresize --setphysicalvolumesize 6G /dev/sdb
虚拟机如果调整磁盘大小后,系统内磁盘大小没更新,需要手动重新扫描磁盘
sda根据实际磁盘修改echo 1 > /sys/class/block/sda/device/rescan
查看分区文件系统的几种命令
1. df -T
2. parted -l
3. blkid
4. lsblk -f