一、LVM
1.定義
pv #實體卷,實體卷是 LVM 所使用的基礎 “ 實體 ” 存儲
pe #實體單元
vg #實體卷組,卷組是存儲池 , 由一個或多個實體卷組成
lvm #邏輯卷,邏輯區塊映射到實體區塊 , 構成 LVM存儲的前端
2. lvm的建立
劃分實體分區 并修改分區标簽為lvm
* pvcreate /dev/vdb1 #建立實體卷
圖示:建立pv
*vgcreate vg0 /dev/vdb1 #建立實體卷組vg0
圖示:建立vg
<a href="https://s2.51cto.com/oss/201711/08/9db1d6eee862a3a7888a790de80225dd.png-wh_500x0-wm_3-wmp_4-s_1118803486.png" target="_blank"></a>
*lvcreate -L 300M -n lv0 vg0 #建立邏輯卷,從 vg0 上可用實體區塊建立名為 lv0 、容量為 50M 的新邏輯卷
圖示:建立lv
<a href="https://s2.51cto.com/oss/201711/08/909e64161539f38d2a482a415aae5b4a.png-wh_500x0-wm_3-wmp_4-s_2000377341.png" target="_blank"></a>
*mkfs.xfs /dev/vg0/lv0 #格式化裝置,将在新邏輯卷上建立 xfs 檔案系統
圖示:格式化裝置為.xfs
<a href="https://s4.51cto.com/oss/201711/08/db60afade163ba25a3bb67c133d8b14a.png-wh_500x0-wm_3-wmp_4-s_4139980441.png" target="_blank"></a>
*mount /dev/vg0/lv0 /mnt #裝置挂載投入使用
圖示:挂載裝置/dev/vg0/lv0
<a href="https://s3.51cto.com/oss/201711/08/d1592580565786a500df909b9bd901ea.png-wh_500x0-wm_3-wmp_4-s_1144501013.png" target="_blank"></a>
圖示:lv0源指向檔案檢視
*監控指令
watch -n 1 'pvs;echo ======;vgs;echo ======;lvs;echo ======;df -h /mnt'
圖示:監控内容顯示
<a href="https://s1.51cto.com/oss/201711/08/1fe700afe1f38f17d69ce0a47befb026.png-wh_500x0-wm_3-wmp_4-s_1909994020.png" target="_blank"></a>
3.lvm拉伸
--當vg中剩餘容量充足的時候
*lvextend -L 4ooM /dev/vg0/lv0
*xfs_growfs /dev/vg0/lv0
圖示:拉伸到400M
<a href="https://s3.51cto.com/oss/201711/08/f4d316a2142e63ac70337a38079aa4e7.png-wh_500x0-wm_3-wmp_4-s_474520213.png" target="_blank"></a>
圖示:同步Filesystem
<a href="https://s3.51cto.com/oss/201711/08/5b84476b8548b6f927087ac5a7214592.png-wh_500x0-wm_3-wmp_4-s_3418461640.png" target="_blank"></a>
--當vg中上與容量不足的時候
*建立分區
*pvcreate /dev/vdb2
圖示:建立pv2
<a href="https://s3.51cto.com/oss/201711/08/c433ac4e1518bc251ff38e432c9eccdc.png-wh_500x0-wm_3-wmp_4-s_611194675.png" target="_blank"></a>
*vgextend vg0 /dev/vdb2
圖示:建立lv2
<a href="https://s2.51cto.com/oss/201711/08/1728e34c27a7856d36af6c1fabb3af2f.png-wh_500x0-wm_3-wmp_4-s_3708792659.png" target="_blank"></a>
*lvextend -L 700M /dev/vg0/lv0
圖示:格式化裝置為_growfs
<a href="https://s3.51cto.com/oss/201711/08/ccfdb2f84d0a10018c3bb1d8b1c62d4a.png-wh_500x0-wm_3-wmp_4-s_3395329288.png" target="_blank"></a>
4.在est檔案系統中
umount /mnt
mkfs.ext4 /dev/vg0/lv0
圖示:格式化裝置為.ext4
<a href="https://s3.51cto.com/oss/201711/08/2e9a7aa0a86a9eba460770e03feaf2a3.png-wh_500x0-wm_3-wmp_4-s_59018534.png" target="_blank"></a>
1>拉伸
lvextend -L 400M /dev/vg0/lv0
resize2fs /dev/vg0/lv0
圖示:拉伸201043
2>縮減
umount /mnt/
e2fsck -f /dev/vg0/lv0 ##掃描檔案檢視邏輯卷中被占用大小
圖示:掃描檔案
<a href="https://s3.51cto.com/oss/201711/08/5834fd51b3fe0b358917545ea768b810.png-wh_500x0-wm_3-wmp_4-s_2042342742.png" target="_blank"></a>
resize2fs /dev/vg0/lv0 200M ##将邏輯卷中檔案壓縮到200M
圖示:縮減
<a href="https://s5.51cto.com/oss/201711/08/602ef14f7c0f547fb7d98ae5604fa53e.png-wh_500x0-wm_3-wmp_4-s_166299224.png" target="_blank"></a>
mount /dev/vg0/lv0 /mnt/
lvreduce -L 200M /dev/vg0/lv0 ## ##将邏輯卷壓縮到200M
圖示:邏輯卷的縮減
<a href="https://s1.51cto.com/oss/201711/08/3ad818e866d164f75d05779e33da0510.png-wh_500x0-wm_3-wmp_4-s_1341156194.png" target="_blank"></a>
3>删除
*pvmove /dev/vdb1 /dev/vdb2 ##當移除分區載資料,那麼需要把資料遷移
移動到其他裝置
圖示:遷移資料
<a href="https://s5.51cto.com/oss/201711/08/9139038efcce26606694ab7c198e7343.png-wh_500x0-wm_3-wmp_4-s_3332173631.png" target="_blank"></a>
*vgreduce vg0 /dev/vdb1
圖示:将vg0從卷組中移除
<a href="https://s2.51cto.com/oss/201711/08/c69e6ce0f3826ca091688fb230f7c067.png-wh_500x0-wm_3-wmp_4-s_209180272.png" target="_blank"></a>
*pvremove /dev/vdb1
圖示:将實體卷vdb1移除
<a href="https://s4.51cto.com/oss/201711/08/cdd22245623062c69dc05a6c72513646.png-wh_500x0-wm_3-wmp_4-s_3464856990.png" target="_blank"></a>
*** ***
當lvm的分區被誤删除
出現以下錯誤時
[root@localhost ~]#pvs
PVuXDdMx-tjpt-KeKB-O7rA-qYUn-718N-sVRX9i not recognised. Is the device missing?
PV uXDdMx-tjpt-KeKB-O7rA-qYUn-718N-sVRX9inot recognised. Is the device missing?
PVuXDdMx-tjpt-KeKB-O7rA-qYUn-718N-sVRX9i not recognised. Is the devicemissing?
PV VG Fmt Attr PSize PFree
/dev/vdb1 vg0 lvm2 a-- 496.00m 296.00m
unknown device vg0 lvm2 a-m 196.00m 196.00m
[root@localhost ~]#vgs
VG #PV #LV #SN Attr VSize VFree
vg0 2 1 0 wz-pn- 693.00m 493.00m
解決方法
vqreduce vg0 --removemissing
二、裝置快照
1.建立快照
為了便于觀察快照作用,将/dev/vg0/lv0挂載,并在挂載目錄中建立檔案file
2.建立快照
lvcreate -s -n lv0backup -L 100M /dev/vg0/lv0
圖示:建立快照
<a href="https://s3.51cto.com/oss/201711/08/5d4a69020cac3a0b86c5ff802c047cf9.png-wh_500x0-wm_3-wmp_4-s_1703979275.png" target="_blank"></a>
3.挂載
mkdir /westos
mount -o ro /dev/vg0/lv0backup /westos
驗證快照邏輯卷的狀态
lvs /dev/vg0/lv0backup
圖示:邏輯卷的狀态
<a href="https://s2.51cto.com/oss/201711/08/5af96f0366e336d8d0f43615f3c9eedb.png-wh_500x0-wm_3-wmp_4-s_1713615097.png" target="_blank"></a>
不再使用快照時 , 請解除挂載并删除它
lvremove /dev/vg0/lv0backup
圖示:挂載快照,檢視之前建立的file檔案
<a href="https://s1.51cto.com/oss/201711/08/c0a61d70e6e1d812184ddedb303347ea.png-wh_500x0-wm_3-wmp_4-s_3554995485.png" target="_blank"></a>
圖示:删除被“損壞”的檔案,挂載快照後檢視檔案file檔案
<a href="https://s1.51cto.com/oss/201711/08/11d754efca2f03701cc8a9946f5d4122.png-wh_500x0-wm_3-wmp_4-s_3056251720.png" target="_blank"></a>
###end###
本文轉自 無緣 51CTO部落格,原文連結:http://blog.51cto.com/13352594/1980109