本文講解卷管理的相關操作,主要包括:卷建立,卷擴容, 卷檢視等常用指令,以及案例實操怎麼擴充邏輯卷大小。
邏輯卷建立過程
先用fdisk 指令将sdb磁盤建立出實體分區sdbx(該步略,見下面執行個體),假設有sdb1,sdb2,将兩個分區合并一個邏輯卷。
- pvcreate /dev/sdb1 /dev/sdb2 建立實體卷(或者pvcreate /dev/sdb{1,2})
- vgcreate vg1 /dev/sdb1 /dev/sdb2 建立卷組
-
lvcreate -n lv_name -L 15G vg1 建立邏輯卷
(如果lvcreate -n lv_name -L 15G vg1 /dev/sdb2 則指定使用sdb2)
- mkfs.ext4 /dev/vg1/lv_name 格式化邏輯卷檔案系統為ext4
- mount /dev/vg1/lv_name /mnt 挂載(mount /dev/[卷組名]/[邏輯卷名] /mnt/)
卷檢視
- lvscan 或者lvdisplay檢視邏輯卷(邏輯卷路徑通常:/dev/[卷組名]/[邏輯卷名])
- vgdisplay 或者vgscan 檢視卷組
- pvdisplay 或者pvscan檢視建立的實體卷
- pvs 檢視目前系統邏輯卷組和侮實體,邏輯的關系以及容量
卷删除
- lvremove /dev/…
- Vgremove /dev/…
- Pvremove /dev/…
卷擴容基本步驟與實際案例
- pvcreate /dev/sda3 建立要使用擴的實體卷
- vgextend vg1 /dev/sda3 增加到卷組容量
- lvextend -L +10G /dev/vg1/lv_name 擴充邏輯卷大小10G
-
重新加載邏輯卷大小生效
resize2fs +路徑 (注意:不适用xfs檔案系統)
xfs_growfs +挂載路徑 (注意:xfs檔案系統使用)
本文以虛拟機為例:講解如何擴充硬碟根分區的大小。
案例
如下是我的虛拟機根分區情況,根分區已經用滿了,瞅見沒,100%了。這個根分區在邏輯卷下,我可以通過擴充邏輯卷,達到增加根分區空間的目的。

1、首先,先在虛拟機裡建立添加出一個硬碟出來。如下,過程一直點下一步即可,中間選擇要建立硬碟大小。
30G硬碟建立出來啦,我們進系統看看
lsblk
lsscsi
fdisk
這些指令都可以檢視
下面開始進行邏輯卷擴充操作:
2、先檢視下要擴充的邏輯卷的資訊(lvdisplay):卷組名為cl,邏輯卷名稱為root
(啰嗦下:這裡面可以看到一個卷組裡有兩個邏輯卷,另一個不是我們關注的)
lvdisplay
dev路徑下也可以看到邏輯卷所在卷組的基本資訊(/dev/[卷組]/[卷名稱])
3 、開始另外一個知識點:fdisk 指令建立實體分區,按如下操作(最後w儲存),這裡将sdb隻建立成一個分區sdb1
(不懂同學可以通過m擷取幫助)
能看到建立出來了。
4、将/dev/sdb1增加到卷組(cl)容量,執行如下指令。
vgextend cl /dev/sdb1
注意,可能會失敗如下,因為根分區空間滿了,需要删除一些大檔案,才能擴充
5、擴充root的邏輯卷大小,擴大25G (擴充了25G, 30G會失敗, 大小差一丢丢)
lvextend -L +25G /dev/cl/root
檢視卷組,已經對之前大小進行了擴大
但df下實際分區大小還沒變
6、需要重加載下邏輯卷
mount裡可以看到分區挂載類型XFS
執行xfs_growfs / ,重新加載挂載分區的大小(xfs_growfs 為xfs檔案系統使用,mount裡可以看到)
xfs_growfs /
我們檢視下邏輯卷組對于那些實體分區,分别有sda2和sdb1(其中sdb1已經做到了 cl-root邏輯卷下,正是我們本次擴充出來的給根分區的)
搞定