LVM是邏輯盤卷管理(Logical Volume Manager)的簡稱,它的做用能讓磁盤在不損壞數據的狀況下,對磁盤進行伸縮擴展。在生產環境中很是有用。linux
通常裝的linux,其根分區都有邏輯卷。app
LVM最低層就是物理卷,也就是咱們常說的物理設備PV(physical volume)。一個或幾個分區劃分紅PV後,再把其組成一個或多個VG(volume group)卷組。ide
而LV邏輯卷就是在VG之上創建的,通常用戶是看不到底層的物理設備,他們感受就像一個分區同樣。工具
對應LV而言,它又分邏輯邊界和物理邊界。物理邊界就至關於咱們的磁盤分區同樣,邏輯邊界是在物理邊界裏創建出來的。3d
注意邏輯邊界必須小於等於物理邊界。最好是小於物理邊界,由於萬一你要縮減邏輯卷時它若是是按1000進行換算,而不是是按1024換算。而VG是按1024換算,那麼會出問題。固然通常不會,以防萬一。blog
建立LVM:1. 首先用fdisk把磁盤分區類型調整到8e即linux LVM生命週期
2. pvcreate /dev/devicerem
3. vgcreate VG-NAME /dev/deviceget
-s PE(每一個磁盤塊大小,默認4M)it
4. lvcreate –n LV-NAME VG-NAME –L +#(指定空間大小)
5. mke2fs –t ext4 /dev/VG-NMAE/LV-NAME 或者 /dev/mapper/VG-NAME-LV-NAME
VG擴展:
首先準備好一個PV;
使用vgextend命令便可完成擴展;
vgextend VG_NAME /dev/device(設備名)
VG縮減:通常都不會縮減,可是若是磁盤壞了,就用得上
1. 肯定要移除的PV;
2. 將此PV上的數據轉移至其餘PV;
pvmove /dev/device 注意:用vgs查看卷的空閒空間,空閒空間必須大於要移除的分區空間才能移除成功。否則會報錯,由於建立好了LV後,PV的空間都挪到了VG上,因此當你pvs查看時就會出現這種狀況
3. 從卷組中將此PV移除;
vgreduce VG-NAME /dev/device
4. 刪除此pv
pvremove /dev/device
擴展邏輯卷
1. 肯定要擴展多大?
2. 肯定當前邏輯卷所在的卷組有足夠的空閒空間;
擴展:
一、物理邊界
lvextend –L [+]SIZE /dev/VG-NAME/LV-NAME 有+號表示:擴展了多少。沒+號表示:擴展到多少
二、邏輯邊界
resize2fs /dev/VG-NAME/LV-NAME
縮減邏輯卷
肯定縮減爲多大?前提是:至少能容納原有的全部數據。
縮減:
一、卸載並強行檢測文件系統;
e2fsck –f /dev/VG-NAME/LV-NAME
二、邏輯邊界
resize2fs /dev/VG-NAME/LV-NAME SIZE e2fs只適用於ext文件系列,若是是其它的文件系統要用另外的工具
三、物理邊界
lvreduce -L [-]SIZE /dev/VG-NAME/LV-NAME
快照卷:
1) 生命週期爲整個數據時長;在這段時長內,數據的增加量不能超出快照卷大小;
2) 快照卷應該是隻讀的;
3) 跟原卷在同一卷組內;
lvcreate
-s : 快照卷;
-p r: 限制快照卷爲只讀訪問
lvcreate -L SIZE -s -p r -n LV_NAME /path/to/lv
移除邏輯卷:
lvremove /path/to/lv
移除卷組: vgremove VG_NAME