lvm(逻辑卷--可扩展存储设备)原理
物理分区 A B
1)物理卷:pv
被lv命令处理过的物理分区(把多个不相干的设备联系再一起)
2)物理卷组:vg
被组装到一起的物理卷
3)物理扩展:pe
lvm设备的最小存储单元lvm时pe的整数倍
4)逻辑卷:lvm
直接使用的设备,可以增大缩减并保持原有数据不变
du -H ----->1M=1000K
du -h ------>1M=1024K
1.lvm建立
1)分区并定分区标签为8e
2)监控
watch -n1 'pvs;echo ------;vgs;echo ------;lvs;echo ------;df -h /mnt' ##监控
pvcreate /dev/vdb6
pvcreate /dev/vdb7 ##创建两个物理卷
vgcreate vg0 /dev/vdb6 ##创建一个物理卷组
lvcreate -L 20M -n lv0 vg0 ##创建一个大小为20M逻辑卷
mkfs.xfs /dev/vg0/lv0 ##格式化逻辑卷lv0
mount /dev/vg0/lv0 /mnt ##挂载lv0到/mnt
df -H /mnt
df -h /mnt
2.lvm的拉伸
lvm支持热拉伸
1)当vg中的剩余容量充足情况
lvextend -L 80M /dev/vg0/lv0 ##拉伸设备
xfs_growfs /dev/vg0/lv0 ##拉伸文件系统
2)当vg(物理卷组)中的容量不足时
再次建立分区并修改标签8e
pvcreate /dev/vdb8
vgextend vg0 /dev/vdb7 ##拉伸物理卷组
vgextend vg0 /dev/vdb8
lvextend -L 1G /dev/vg0lv0 ##拉伸设备
xfs_growfs /dev/vg0/lv0 ##拉伸文件系统
3)针对ext文件系统的设备的拉伸和缩减
umount /mnt
mkfs.ext4 /dev/vg0/lv0 ##将lv0格式化为ect4格式
mount /dev/vg0/lv0 /mnt
拉伸:(拉伸不用卸载)
lvextend -L 1111M /dev/vg0/lv0
resize2fs /dev/vg0/lv0
resize2fs:调整ext4文件系统的大小,放大或缩小没有挂载的文件系统大小
缩减:
1)缩减lvm:
umount /dev/vg0/lv0
e2fsck -f /dev/vg0/lv0 ##检查文件系统完整性
resize2fs /dev/vg0/lv0 100M ##缩减lv0到100M
lvreduce -L 100M /dev/vg0/lv0
mount /dev/vg0/lv0 /mnt
2)缩减vg:
移除空闲pv
vgreduce vg0 /dev/vdb7
移除含有数据的设备:
pvremove /dev/vdb7 /dev/vdb8
3.快照:
1)在原来挂载的文件系统上建立文件
touch /mnt/file{1..4}
2)卸载后拍快照
umount /mnt/
lvcreate -L 50M -n lv0-backup -s /dev/vg0/lv0 ##创建快照
3)挂载快照 查看刚才建立的文件
mount /dev/vg0/lv0-backup /mnt
ls /mnt
4)删除文件,卸载快照,删除快照
rm -fr /mnt/* ##不小心删除/mnt下的文件
umount /mnt/ ##下载快照
lvremove /dev/vg0/lv0-backup ##删除快照
5)重新拍快照后挂载快照
lvcreate -L 40M -n lv0-backup -s /dev/vg0/lv0 ##重新拍快照
mount /dev/vg0/lv0-backup /mnt
ls /mnt ##刚才的文件还在
4.lvm的删除
umount /mnt ##卸载
lvremove /dev/vg0/lv0-backup ##删除快照
lvremove /dev/vg0/lv0 ##删除逻辑卷
vgremove vg0 ##删除物理卷组
pvremove /dev/vdb7 ##删除物理卷
fdisk /dev/vdb ##删除lvm分区
d
6,7,8