创建

创建物理卷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
CentOS:yum install cloud-utils-growpart
Debian:apt install cloud-guest-utils

lsblk查看分区大小,要扩容的分区是/dev/sdb2
growpart /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
指定调整到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

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

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

标签: none