lvm (logical volume manager)


逻辑卷管理

pv	  ##物理卷       	被lv命令处理过的物理分区
vg	  ##物理卷组   	被组装到一起的物理卷
pe	  ##物理扩展      lvm设备的最小单元,lvm时pe的整数倍
lvm	##逻辑卷  		直接使用的设备,可以增大缩减并保持原有数据不变

lvm建立

建立分区并指定标签为8e
pvcreate /dev/vdb1		         ##建立物理卷
vgcreate /vg0 /dev/vdb1		##将物理卷归入卷组
lvcreate -L 20M -n lv0 vg0	##从vg0卷组中抽出20M划为逻辑卷lv0
mkfs.xfs /dev/vg0/lv0	     	##搭建文件系统
mount /dev/vg0/lv0 /mnt		##挂载
df -h /mnt			                     ##查看挂载
parted -l                                   ##查看未挂载的文件系统

查看未使用的磁盘


新建100M大小的分区


修改分区id为8e(Linux LVM)


pvcreate /dev/vdb1		         ##建立物理卷
vgcreate /vg0 /dev/vdb1		##将物理卷归入卷组
lvcreate -L 40M -n lv0 vg0	##从vg0卷组中抽出20M划为逻辑卷lv0


格式化为xfs文件系统


挂载


监控此时的pv/vg/lv信息


lvm拉伸(扩容)

lvm支持热拉伸
当vg中的剩余容量充足时
lvextend -L 80M /dev/vg0/lv0	##当cg容量足够,扩展lv0到80M
xfs_growfs /dev/vg0/lv0		##扩展文件系统

扩展lv0到80M


当vg中剩余容量不足时
再次建立分区并指定标签8e
pvcreate /dev/vdb2		##建立新的物理卷
vgextend vg0 /dev/vdb2		##将物理卷归入卷组
lvextend -L 200M /dev/vg0/lv0	##扩展lv0到200M
xfs_growfs /dev/vg0/lv0		##扩展文件系统

建立新的物理卷


归入卷组vg0


扩展逻辑卷lv0到300M


扩展文件系统


针对ext文件系统的设备的拉伸和缩减

umount /mnt			##卸载,ext不支持热缩减
mkfs.ext4 /dev/vg0/lv0		##格式化lv0为ext4文件系统
mount /dev/vg0/lv0 /mnt		##挂载

格式化为ext4并挂载


拉伸

lvextend -L 400M /dev/vg0/lv0	##扩展逻辑卷lv0到400M
resize2fs /dev/vg0/lv0		          ##扩展ext4文件系统

扩展到400M


扩展ext4文件系统


缩减

umount /dev/vg0/lv0		              ##卸载
e2fsck -f /dev/vg0/lv0		            ##强制检查文件系统
resize2fs /dev/vg0/lv0 100M 	   ##缩减文件系统到100M
lvreduce -L 100M /dev/vg0/lv0	##缩减逻辑卷到100M
mount /dev/cg0/lv0 /mnt	       	##挂载

卸载并检查(不支持热缩减)


缩减文件系统


缩减逻辑卷


缩减物理卷组

vgreduce vg0 /dev/vdb2		##从vg0中取出vdb2
vgextend vg0 /dev/vdb2		##将vdb2添加入vg0
注意已被占用的磁盘无法去除,缩减前需要迁移数据并解除占用


数据迁移

pvmove /dev/vdb1 /dev/vdb2	##将vdb1中数据迁移到vdb2中
vgreduce vg0 /dev/vdb1		##从vg0中取出vdb1
pvremove /dev/vdb1		##从物理卷中删除vdb1

将vdb1中数据迁移到vdb2中,注意此时不要打断,等待100%后,命令提示符自动出现,否则有可能会损坏双方文件导致不可用


从vg0中取出vdb1


从pv中删除vdb1


创建lvm快照

lvcreate -L 40M -n lv0-backup -s /dev/vg0/lv0
mount /dev/vg0/lv0/lv0-backup /mnt
如果写入数据大于40M,会损坏设备
会自动卸载掉lv0-backup,再次挂载会报错
删除重建后看到原设备

创建并挂载


写入60M的数据(快照只有40M),自动损坏解除挂载


再次挂载报错


删除重建后恢复