一. 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卸載再操作
當系統出現以下問題:
[root@localhost ~]# 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
解決方案:
[root@localhost ~]# 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 #移除快照