天天看點

linux--LVM基本的應用

一、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&gt;拉伸

lvextend -L 400M /dev/vg0/lv0

resize2fs /dev/vg0/lv0

圖示:拉伸201043

2&gt;縮減

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&gt;删除

*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

繼續閱讀