lvm的管理
一. lvm的建立及删除
pv:物理卷 #由分区生成
pe:物理单元 #由物理卷重组生成
vg:物理卷组 #由大量物理单元组成
lvm:逻辑卷 #由物理卷组中分割出的定量物理单元组成
作用:拉伸(最大18EB)或压缩(不能无限)分区
1. lvm建立
fdisk /dev/vdb #建立分区,并利用“t”把分区id修改为8e
partprobe #同步分区表
pvcreate /dev/vdb1 #创建物理卷
vgcreate vg0 /dev/vdb1 #创建物理卷组
lvcreate -L 100M -n lv0 vg0 #创建逻辑卷
mkfs.xfs /dev/vg0/lv0 #格式化设备,同步文件系统
mkdir /westos
mount /dev/vg0/lv0 /westos #挂载设备投入使用
监控命令:watch -n 1 'pvs;echo =====;vgs;echo ====;lvs;echo ====;df -h /westos'
2. 扩大容量
1> 当vg中容量充足时---拉伸lv
lvextend -L 200M /dev/westos/lv0 #拉伸设备,扩大lv0至200M
xfs_growfs /dev/westos/lv0 #扩大文件系统
2> 当vg中容量不充足时---添加pv
pvcreate /dev/vdb2 #创建物理卷pv
vgextend vg0 /dev/vdb2 #扩大物理卷组vg
lvextend -L 800M /dev/vg0/lv0 #拉伸设备,扩大逻辑卷lv0
xfs_growfs /dev/vg0/lv0 #扩大文件系统
3. 缩减容量
注:只有ext4格式方可缩减
1> 缩减设备
umount /westos #卸载
mkfs.ext4 /dev/vg0/lv0 #将/dev/vg0/lv0格式化为ext4
e2fsck -f /dev/vg0/lv0 #检测设备,扫描文件防止
resize2fs /dev/vg0/lv0 50M #缩减文件文件系统
lvreduce -L 50M /dev/vg0/lv0 #缩减设备
2> 缩减卷组
pvmove /dev/vdb2 /dev/vdb1 #当移除的/dev/vdb2中有数据时,需要将/dev/vdb2中的数据移至/dev/vdb1
vgreduce vg0 /dev/vdb2 #把vg中的/dev/vdb2移除
pvremove /dev/vdb2 #把pv中的/dev/vdb2移除
4. lvm的删除删除
lvs #查看逻辑卷lv
vgs #查看物理卷组vg
pvs #查看物理卷pv
lvremove /dev/vg0/lv0 #删除逻辑卷lv
vgremove vg0 #删除物理卷组vg
pvremove /dev/vdb1 #删除物理卷pv
注:在操作过程中如果卸不掉的话,利用df查看是否在使用,如果被使用的话,利用umount卸载再操作
当系统出现以下问题:
[[email protected] ~]# vgs
PV 1rlaoZ-Kfzh-WB7j-myKX-OD6r-KZV0-Fq5flC not recognised. Is the device missing?
PV 1rlaoZ-Kfzh-WB7j-myKX-OD6r-KZV0-Fq5flC not recognised. Is the device missing?
VG #PV #LV #SN Attr VSize VFree
vg0 2 1 0 wz-pn- 192.00m 140.00m
解决方案:
[[email protected] ~]# vgreduce vg0 --removemissing
PV 1rlaoZ-Kfzh-WB7j-myKX-OD6r-KZV0-Fq5flC not recognised. Is the device missing?
PV 1rlaoZ-Kfzh-WB7j-myKX-OD6r-KZV0-Fq5flC not recognised. Is the device missing?
Wrote out consistent volume group vg0
二. lvm的快照
lvcreate -L 200M -n lv0backup -s /dev/vg0/lv0 #创建快照
mount /dev/vg0/lv0backup /westos/ #挂载快照,不需要再次格式化,访问原始位置,但修改不影响原始文件
umount /westos/ #卸载
lvremove /dev/vg0/lv0backup #移除快照