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

lvm(逻辑卷--可扩展存储设备)原理

2)监控

watch -n1 'pvs;echo ------;vgs;echo ------;lvs;echo ------;df -h /mnt'   ##监控

lvm(逻辑卷--可扩展存储设备)原理

pvcreate /dev/vdb6
pvcreate /dev/vdb7  ##创建两个物理卷

lvm(逻辑卷--可扩展存储设备)原理

vgcreate vg0 /dev/vdb6  ##创建一个物理卷组

lvm(逻辑卷--可扩展存储设备)原理

lvcreate -L 20M -n lv0 vg0 ##创建一个大小为20M逻辑卷

lvm(逻辑卷--可扩展存储设备)原理

mkfs.xfs /dev/vg0/lv0   ##格式化逻辑卷lv0
mount /dev/vg0/lv0 /mnt  ##挂载lv0到/mnt

lvm(逻辑卷--可扩展存储设备)原理

df -H /mnt
df -h /mnt

lvm(逻辑卷--可扩展存储设备)原理

2.lvm的拉伸
lvm支持热拉伸
1)当vg中的剩余容量充足情况

lvextend -L 80M /dev/vg0/lv0    ##拉伸设备

lvm(逻辑卷--可扩展存储设备)原理

xfs_growfs /dev/vg0/lv0   ##拉伸文件系统

lvm(逻辑卷--可扩展存储设备)原理

2)当vg(物理卷组)中的容量不足时

lvm(逻辑卷--可扩展存储设备)原理
再次建立分区并修改标签8e

lvm(逻辑卷--可扩展存储设备)原理

pvcreate /dev/vdb8
vgextend vg0 /dev/vdb7   ##拉伸物理卷组
vgextend vg0 /dev/vdb8

lvm(逻辑卷--可扩展存储设备)原理

lvextend -L 1G /dev/vg0lv0   ##拉伸设备
xfs_growfs /dev/vg0/lv0   ##拉伸文件系统

lvm(逻辑卷--可扩展存储设备)原理

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

umount /mnt
mkfs.ext4 /dev/vg0/lv0 ##将lv0格式化为ect4格式
mount /dev/vg0/lv0 /mnt

lvm(逻辑卷--可扩展存储设备)原理

lvm(逻辑卷--可扩展存储设备)原理

拉伸:(拉伸不用卸载)

lvextend -L 1111M /dev/vg0/lv0

lvm(逻辑卷--可扩展存储设备)原理

resize2fs /dev/vg0/lv0

resize2fs:调整ext4文件系统的大小,放大或缩小没有挂载的文件系统大小

lvm(逻辑卷--可扩展存储设备)原理

缩减:
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

lvm(逻辑卷--可扩展存储设备)原理

lvm(逻辑卷--可扩展存储设备)原理

2)缩减vg:
移除空闲pv

vgreduce vg0 /dev/vdb7

lvm(逻辑卷--可扩展存储设备)原理

lvm(逻辑卷--可扩展存储设备)原理

移除含有数据的设备:

pvremove /dev/vdb7 /dev/vdb8

lvm(逻辑卷--可扩展存储设备)原理
3.快照:
1)在原来挂载的文件系统上建立文件

touch /mnt/file{1..4}

lvm(逻辑卷--可扩展存储设备)原理
2)卸载后拍快照

umount /mnt/ 
lvcreate -L 50M -n lv0-backup -s /dev/vg0/lv0 ##创建快照

lvm(逻辑卷--可扩展存储设备)原理
3)挂载快照 查看刚才建立的文件

mount /dev/vg0/lv0-backup /mnt
ls /mnt

lvm(逻辑卷--可扩展存储设备)原理
4)删除文件,卸载快照,删除快照

rm -fr /mnt/*  ##不小心删除/mnt下的文件
umount /mnt/   ##下载快照
lvremove /dev/vg0/lv0-backup  ##删除快照

lvm(逻辑卷--可扩展存储设备)原理
5)重新拍快照后挂载快照

lvcreate -L 40M -n lv0-backup -s /dev/vg0/lv0 ##重新拍快照
mount /dev/vg0/lv0-backup /mnt
ls /mnt    ##刚才的文件还在

lvm(逻辑卷--可扩展存储设备)原理
4.lvm的删除

umount /mnt   ##卸载
lvremove /dev/vg0/lv0-backup  ##删除快照
lvremove /dev/vg0/lv0  ##删除逻辑卷
vgremove vg0   ##删除物理卷组
pvremove /dev/vdb7  ##删除物理卷

lvm(逻辑卷--可扩展存储设备)原理

fdisk /dev/vdb  ##删除lvm分区
d
6,7,8

lvm(逻辑卷--可扩展存储设备)原理