Linux之系统 lvm 管理
##### 1.LVM 相关概念 #####
物理存储介质 ##系统的物理存储设备 pv ##物理卷 ,LVM 的基本存储逻辑块
pe ##物理块,LVM最小寻址单元,默认4M vg ##卷组,类似非lvm系统磁盘
lv ##逻辑卷,类似非lvm系统的逻辑分区 le ##逻辑块,lv也可当作最小的寻址单元
##### 2.设置lvm分区挂载 #####
```用watch -n 1 'pvs;vgs;lvs;df -h /mnt' 命令监控lvm系统
1.建立分区设置为lvm类型
fdisk /dev/vdb
2.同步分区表
partprobe
3.将物理分区变为物理卷
pvcreate /dev/vdb1
4.将物理卷变为物理卷组
vgcreate vg0 /dev/vdb1
5.建立逻辑卷
lvcreate -L 100M -n lv0 vg0
-L ##指定逻辑卷大小
-n ##指定逻辑卷名字
6.格式化
mkfs.xfs /dev/vg0/lv0
7.挂载
mount /dev/vg0/lv0 /data
##### 3.逻辑卷/卷组管理 #####
1.lvm的拉伸
```lvm支持热拉伸
^ lv初始大小80M,vg大小96M,文件系统大小77M
(1)当vg中剩余容量充足:
a.扩展逻辑卷
lvextend -L 90M /dev/vg0/lv0
b.扩展挂载的文件系统
xfs_growfs /dev/vg0/lv0
(2)当vg剩余容量不足时:
a. 建立新的物理卷
pvcreate /dev/vdb2
b. 扩展卷组
vgextend vg0 /dev/vdb2
c. 扩展逻辑卷
lvextend -L 150M /dev/vg0/lv0
d. 扩展挂载的文件系统
xfs_growfs /dev/vg0/lv0
2.lvm的缩减
(1)缩减逻辑卷
注意:1.xfs 文件系统不支持缩减,需要ext4文件系统
2.lvm系统不支持热缩减,需要先进行卸载:
文件系统只能在设备卸载状态下格式化或缩减,
在挂载状态下只能进行扩容。
3.文件系统大小不能超过设备大小,必须先对文件系统进行缩减。
^ 挂载状态下不能重新格式化。
a.卸载
umount /data
b.将文件系统格式化为ext4
mkfs.ext4 /dev/vg0/lv0
c.扫描文件(避免缩减空间过小导致数据损坏)
e2fsck -f /dev/vg0/lv0
d.缩减文件系统
resize2fs /dev/vg0/lv0 20M
e.挂载
mount /dev/vg0/lv0 /data
^ 挂载后监控到文件系统缩减成功。
f.缩减逻辑卷
lvreduce -L 20M /dev/vg0/lv0
```注意:若直接编辑 resize2fs /dev/vg0/lv0,表示根据设备大小扩容ext4文件系统大小,
只有指定一个小于当前系统大小的值才能实现缩减。
^ 扩展逻辑卷大小为150M,resize2fs /dev/vg0/lv0 扩容ext4文件系统。
^ 扩容成功
(2)移除物理卷
a.转移占用该物理卷的数据
^ 物理卷/dev/vdb1空间全部空闲
2.移除物理卷
vgreduce vg0 /dev/vdb1
^ 从物理卷组中移除物理卷,容量减小
##### 4.lvm快照 #####
1.建立快照
lvcreate -L 20M -n lv0-backup -s /dev/vg0/lv0
2.挂载
mount /dev/vg0/lv0-backup /mnt
^ 挂载后可以看到逻辑卷快照大小为20M,但挂载后文件系统大小与母盘相同
3.测试
(1)在逻辑卷中存储数据
(2)建立快照并挂载
^ 母盘挂载在/data,快照挂载在/mnt
(3)删除快照中数据
^ 删除快照数据母盘不受影响,安全保存数据
(4)恢复:删除破损快照并重新建立快照
lvremove /dev/vg0/lv0-backup
lvcreate -L 20M -n lv0-backup -s /dev/vg0/lv0
^ 挂载后文件恢复
##### 5.删除LVM #####
^ 当前状态
1.卸载所有的挂载点
2.移除逻辑卷(源文件和快照)
lvremove /dev/vg0/lv0-backup
lvremove /dev/vg0/lv0
3.移除卷组
vgremove vg0
4.移除所有的物理卷
pvremove /dev/vdbx
5.查看移除结果
pvs