本文主要介紹了LVM的相關知識
想像一個情況,你在當初規劃主機的時候將/home 只給他50G ,等到使用者眾多之后導致這個filesystem 不夠大, 此時你能怎么作?多數的朋友都是這樣:再加一顆新硬碟,然后重新分割、格式化,將/home 的資料完整的復制過來, 然后將原本的partition 卸載重新掛載新的partition 。若是第二次分割卻給的容量太多!導致很多磁碟容量被浪費了!你想要將這個partition 縮小時,又該如何作?將上述的流程再搞一遍!有沒有更簡單的方法呢?有的!LVM?。?/p>
(1)概述
LVM全稱是Logical Volume Manager,中文名是邏輯卷管理。
LVM的重點在于可以彈性的調整fileSystem的容量,他可以整合多個實體partition在一起,讓這些partitions看起來就像是一個磁碟一樣!而且,還可以在未來新增或移除其他的實體partition到這個LVM管理的磁碟當中。
?。?)相關概念
?、貾V
PV的全稱是Physics Volume。中文名是實體卷軸。實際的partition需要調整系統識別碼(system ID)成為8e (LVM的識別碼),然后再經過pvcreate的指令將他轉成LVM最底層的實體卷軸(PV) ,之后才能夠將這些PV加以利用!
?、赩G
VG的全稱是Volume Group。中文名是卷軸組。實際就是多個PV的組合。
?、跮V
LV的全稱是Logical Volume。中文名是邏輯卷軸。最終的VG還會被切成LV,這個LV就是最后可以被格式化使用的類似分割槽的東西了。
?。?)實際操作流程
邏輯卷的創建總共分3個階段,PV–>VG–>LV。
?、貾V階段
相關命令:
pvscan:搜尋目前系統里的PV;
pvdisplay [DEVICE]:查看PV的詳細信息;
pvcreate DEVICE:創建PV;
pvremove DEVICE:將PV移除。
pvs:查看pv詳細信息
這里最后一行顯示的是:
#整體PV的量/已經被使用到VG的PV量/剩余的PV量
這里只需按照需要創建PV即可,如圖,已經創建了3個PV
?、赩G階段
(1)基本命令:
vgcreate VGNAME /dev/sdb5 …:創建VG
-s PE
vgdisplay [VGNAME]:查看VG的詳細信息;
vgs:查看vg詳細信息。
vgremove:刪除vg
(2)縮減VG:
首先確定要移除的PV;
從卷組中將此PV移除
vgreduce VGNAME /path/to/PV
(3)擴展VG:
首先準備好一個PV;
使用vgextend命令即可完成擴展
vgextend VGNAME /path/to/PV
③LV階段
(1)基本命令:
lvcreate -n LVNAME VGNAME:創建VG
-l:指定PE個數
-L SIZE:指定容量
-s:設定為快照卷
-p:r 限制快照卷為只讀訪問
lvremove:移除LV;
lvdisplay:查看LV詳細信息;
lvextend:為LV增加容量;
lvreduce:為LV減少容量;
lvresize:調整lv容量大小。
如此一來,整個partition也準備好了。接下來,就是針對這個LV來處理。要特別注意的是, VG的名稱為vluovg ,但是LV的名稱必須使用全名!即/dev/vluovg/vluolv。后續的處理都是這樣的。
如果需要調整大小只需使用lvresize調整即可:
(4)擴展或縮減邏輯卷
?、贁U展:
1. 確定擴展多大
2. 確定當前邏輯卷所在的卷組有足夠空閑的空間可用
3. 擴展步驟:
1.物理邊界
lvextend -L [+]SIZE /path/to/lv
2.邏輯邊界
resize2fs /path/to/device
?、诳s減:
1.確定縮減為多大。前提是,至少能容納原有的所有數據
2.縮減步驟:
1.卸載并強行檢測文件系統
e2fsck -f
2.邏輯邊界
resize2fs /path/to/device SIZE
3.物理邊界
lvreduce -L [-]SIZE /path/to/lv
(5)快照卷
快照就是將當時的系統資訊記錄下來,未來若有任何資料更動了,則原始資料會被搬移到快照區,沒有被更動的區域則由快照區與檔案系統共享。在創建lv是加-s選項即可創建快照卷。
這樣快照區就創建好了。