一、什麼是LVM
邏輯卷管理LVM(Logical Volume Manager)是一個多才多藝的硬盤系統工具。無論在Linux或者其他類似的系統,都是非常的好用。傳統分區使用固定大小分區,重新調整大小十分麻煩。但是,LVM可以創建和管理“邏輯”卷,而不是直接使用物理硬盤。可以讓管理員彈性的管理邏輯卷的擴大縮小,操作簡單,而不損壞已存儲的數據。可以隨意將新的硬盤添加到LVM,以直接擴展已經存在的邏輯卷。LVM並不需要重啓就可以讓內核知道分區的存在。
LVM使用分層結構,如下圖所示:
圖中頂部,首先是實際的物理磁盤及其劃分的分區和其上的物理卷(PV)。一個或多個物理卷可以用來創建卷組(VG)。然後基於卷組可以創建邏輯卷(LV)。只要在卷組中有可用空間,就可以隨心所欲的創建邏輯卷。文件系統就是在邏輯捲上創建的,然後可以在操作系統掛載和訪問。
二、LVM的創建
由上圖我們可得知,LVM包括物理卷(PV),卷組(VG),邏輯卷(LV),要創建一個可以掛載使用的文件系統,需要一步一步來添加:
1、創建物理件卷(PV):
pvcreate:創建物理卷
使用格式:pvcreate [選項] [參數]
[選項]:
-f:強制創建物理卷,不需要用戶確認
-u:制定設備的UUID
-y:所有的交互都選擇“yes”
[參數]:
指定要創建的物理卷對應的設備名稱,可以是多個設備。
ps:創建物理卷之前必須要先對硬盤進行分區,而且必須把設備分區類型選擇8e。
實踐:創建4個大小爲1G的PV
1、我們首先要對硬盤進行分區,分爲4個類型爲8e的分區。以一個爲例,如下圖:
重複上面的操作,完成後如下圖
2、分區完成後,可以使用pvcreate命令來創建物理卷(PV),如下圖:
可以使用pvdisplay來查看PV的信息:
還可以使用pvremove來移除PV。
2、創建卷組(VG)
vgcreate:創建卷組
使用格式:vgcreate [選項] [參數]
[選項]:
-l:卷組上允許創建的最大邏輯卷數,默認值是255
-p:卷組中允許添加的最大物理卷數,默認值是255
-s:卷組上的物理卷的PE大小,默認值是4M
[參數]:
要創建的卷組名
要加入到卷組的PV列表
實踐:把上面創建的3個PV組成一個卷組testvg,並且制定PE的大小爲16M
使用vgcreate命令,如下圖:
可以看到PE的大小已經改變爲16M。
可以使用vgremove刪除卷組
3、創建邏輯卷(LV)
lvcreate:創建邏輯卷
使用格式:lvcreate [選項] [參數]
[選項]:
-L:指定邏輯卷的大小
-n:指定邏輯卷的的名稱
[參數]:
要在指定卷組下創建邏輯卷的卷組名
實踐:
在testvg下面創建一個2G的邏輯卷,名稱爲testlv
使用lvcreate命令,如下:
同樣可以使用lvremove來移除LV。
4、格式化LV
使用mkfs命令格式化分區:
三、邏輯卷的擴展即縮減
開頭有提到過LVM與傳統分區最大的區別就是能夠靈活的改變分區大小,同時不影響服務器的正常運行,接下來我就來實驗如何實現lv的擴大與縮小:
1、把創建的lvtest擴大500M
我們上面創建的VG大小有3G,還有冗餘的空間,具體步驟如下:
(1)、使用lvextend命令把邏輯卷的大小擴大500M,如下圖:
(2)、使用resize2fs把文件系統擴大500M,如下圖:
(3)、使用lvextend命令查看LV的大小:
注意:要先擴大邏輯卷(PV),然後在擴大文件系統,這個順序一定不能顛倒。
2、把testlv縮小1G
(1)、先使用e2fsck 檢查數據
(2)、使用resize2fs先把文件系統縮減1G,如下圖: