Lvm

一、pv  vg  pe lvm 的介绍

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

二、lvm 建立
1.分区并定时分区标签为 8e

Lvm
2.pvcreate  /dev/vdb1        创建物理卷
3.vgcreate vg0 /dev/vdb1   创建物理卷组

Lvm
二、支持在线热拉伸

监控  watch -n 1 'pvs;vgs;lvs;df -h /mnt'

1.当vg 中剩余容量充足情况
lvextend -L 80M -n lv0 vg0   将设备拉伸80M

Lvm
mkfs.xfs /dev/vg0/lv0   格式化

Lvm
mount /dev/vg0/lv0 /mnt  挂载

Lvm

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

Lvm

2.当vg 中容量不足时
再次建立分区并修改标签8e
fdisk /dev/vdb
partprobe   更新分盘表
pvcreate /dev/vdb2      创建物理卷
vgextend vgo /dev/vdb2 创建物理卷组

lvextend -L 200M /dev/vg0/lv0  将设备拉伸200M

Lvm
 xfs_growfs /dev/vg0/lv0  格式化

Lvm

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

1.拉伸

umont /mnt  卸载
mkfs.ext4  /dev/vg0/lv0  格式化

Lvm

blkid 

Lvm

lvextend -L 250M /dev/vg0/lv0   将设备拉伸250M

Lvm
resize2fs /dev/vg0/lv0  拉伸系统文件

Lvm

2.缩减lvm

umount /dev/vg0/lv0  卸载
e2fsck -f /dev/vg0/lv0   扫描数据

Lvm
resize2fs /dev/vg0/lv0  100M 缩减软件

Lvm
lvreduce -L 100M /dev/vg0/lv0 将设备缩减100M

Lvm
 mount /dev/vg0/lv0 /mnt

Lvm
3.缩减vg
1)移除空闲pv
vgreduce vg0 /dev/vdb2  移除物理卷组

Lvm

2)移出含有数据的设备
vgextend vg0 /dev/vdb2
pvmove /dev/vdb1 /dev/vdb2 移除/dev/vdb1的数据

Lvm
vgreduce vg0 /dev/vdb1  移除/dev/vdb1的vg0

Lvm
 pvremove /dev/vdb1 移除/dev/vdb1

Lvm
四、lvm快照

1.创建快照

lvcreate -L 10M -n lv0-backup -s /dev/vg0/lv0   快照
mount /dev/vg0/lv0-backup /mnt

Lvm
 rm -fr /mnt/*
2.恢复坏掉的快照
 umount /mnt
lvremove /dev/vg0/lv0-backup  删除快照
lvcreate -L 10M -n lv0-backup -s /dev/vg0/lv0 快照
 mount /dev/vg0/lv0-backup /mnt      挂载

Lvm

五、删除lvm

 umount /mnt
lvremove /dev/vg0/lv0-backup  删除快照
lvremove /dev/vg0/lv0         删除/dev/vg0/lv0

Lvm
vgremove vg0                 
pvremove /dev/vdb2    移除/dev/vdb2
pvs                        查看是否删除

Lvm