如果您使用LVM(Logical Volume Manager)建立的邏輯卷使用空間不足時,您可以擴容邏輯卷。本文介紹了如何通過LVM擴容一個邏輯卷。
前提條件
已建立一個邏輯卷。具體操作,請參見通過LVM建立邏輯卷。
操作步驟
您可以通過以下兩種方式來擴容邏輯卷。
方式一:擴容雲端硬碟以擴容邏輯卷容量
擴容原理
如下圖所示,當邏輯卷容量不能滿足您當前業務需求時,您可以通過擴容已有雲端硬碟容量,來擴充邏輯卷的容量。
擴容步驟
下文通過擴容雲端硬碟/dev/vdb
,為邏輯卷lv01
增加10 GiB容量為例,指導您如何擴容邏輯卷。
(可選)通過快照一致性組進行備份資料。具體操作,請參見建立快照一致性組。
遠端連線ECS執行個體。
關於串連方式的介紹,請參見串連方式概述。
擴容雲端硬碟(例如擴容雲端硬碟
/dev/vdb
)。為目標雲端硬碟擴容容量(例如新增10 GiB容量)。具體操作,請參見步驟一:擴容雲端硬碟容量。
(可選)若雲端硬碟已分區,需為雲端硬碟擴容分區。具體操作,請參見步驟1:擴容分區。如果雲端硬碟未分區,則跳過該步驟。
您可以通過
lsblk
命令查看雲端硬碟是否分區。如下圖的樣本,則表示雲端硬碟/dev/vdb
未分區,/dev/vdc
已分區。
擴容物理卷。
執行以下命令,確定已擴容的雲端硬碟或雲端硬碟分區對應的物理卷名稱,後續命令需使用。
PV列為物理卷名稱,Devices列為物理卷對應的雲端硬碟或雲端硬碟分區。
sudo pvs -a -o +devices
上圖樣本,雲端硬碟
/dev/vdb
對應的物理卷名稱為/dev/vdb
。運行以下命令,擴容雲端硬碟對應的物理卷。
sudo pvresize <物理卷名稱>
以擴容物理卷
/dev/vdb
為例,則命令為:sudo pvresize /dev/vdb
回顯類似如下資訊,表示擴容物理捲成功。
擴容邏輯卷和檔案系統。
運行以下命令,擷取邏輯卷路徑、名稱、所屬卷組等資訊,後續操作步驟需使用。
sudo lvdisplay
LV Path:邏輯卷路徑,例如
/dev/vg_01/lv01
。LV Name:邏輯卷名稱,例如
lv01
。VG Name:邏輯卷所屬的卷組名稱,例如
vg_01
。LV Size:邏輯卷的大小,圖示資訊為59 GiB。
運行以下命令,擴容邏輯卷。
sudo lvextend -L <增/減邏輯卷容量> <邏輯卷路徑>
樣本命令:為邏輯卷(路徑為
/dev/vg_01/lv01
)新增10 GiB容量。sudo lvextend -L +10G /dev/vg_01/lv01
回顯類似如下資訊,表示您為邏輯卷(lv01)新增了10 GiB空間。
運行以下命令,擴容邏輯卷檔案系統。
執行
df -Th
命令,查詢邏輯卷的檔案系統類型(即Type列的值),根據檔案系統類型選擇擴容命令。ext4檔案系統
sudo resize2fs <邏輯卷路徑>
以擴容邏輯卷lv01(路徑為/dev/vg_01/lv01)為例,則命令為:
sudo resize2fs /dev/vg_01/lv01
xfs檔案系統
sudo xfs_growfs <邏輯卷掛載點>
以擴容邏輯卷lv01(掛載點為/media/lv01)為例,則命令為:
sudo xfs_growfs /media/lv01
運行以下命令,查看邏輯卷擴容結果。
df -h
回顯類似如下資訊,表示已為邏輯卷新增10 GiB容量(檔案系統本身會佔用部分儲存空間)。
方式二:新增雲端硬碟以擴容邏輯卷容量
擴容原理
如下圖所示,當邏輯卷容量不能滿足您當前業務需求時,您可以通過新增雲端硬碟,來擴充邏輯卷(LV)的容量。
擴容步驟
下文通過新建立雲端硬碟(雲端硬碟裝置名稱為/dev/vdd
、容量為20 GiB)、建立物理卷、然後將物理卷添加到卷組中等操作,指導您如何擴容邏輯卷。
為ECS執行個體新建立並掛載1塊雲端硬碟,無需初始化。
遠端連線ECS執行個體。
關於串連方式的介紹,請參見串連方式概述。
運行以下命令,用新增雲端硬碟建立物理卷。
sudo pvcreate <雲端硬碟裝置名稱>
樣本命令:使用新增雲端硬碟
/dev/vdd
建立1塊物理卷。sudo pvcreate /dev/vdd
回顯類似如下資訊,表示建立物理捲成功。
擴容卷組。
運行以下命令,查看卷組資訊。
sudo vgs
回顯類似如下資訊,表示卷組名稱
vg_01
,當前卷組容量為 59.99GiB,剩餘空間不足 1GiB。運行以下命令,擴容卷組。
sudo vgextend <卷組名稱> <物理卷名稱>
樣本命令:將物理卷
/dev/vdd
添加至卷組vg_01
中。sudo vgextend vg_01 /dev/vdd
回顯類似如下資訊,表示擴容卷組成功。
運行以下命令,查看卷組資訊。
sudo vgs
回顯類似如下資訊,卷組
vg_01
的容量由59.99 GiB增加至79.99 GiB,說明卷組擴容成功。
擴容邏輯卷和檔案系統。
運行以下命令,擷取邏輯卷路徑、名稱、所屬卷組等資訊,後續操作步驟需使用。
sudo lvdisplay
LV Path:邏輯卷路徑,例如
/dev/vg_01/lv01
。LV Name:邏輯卷名稱,例如
lv01
。VG Name:邏輯卷所屬的卷組名稱,例如
vg_01
。LV Size:邏輯卷的大小,圖示資訊為59 GiB。
運行以下命令,擴容邏輯卷。
sudo lvextend -L <增/減邏輯卷容量> <邏輯卷路徑>
樣本命令:為邏輯卷(路徑為
/dev/vg_01/lv01
)新增20 GiB容量。sudo lvextend -L +20G /dev/vg_01/lv01
回顯類似如下資訊,表示您為邏輯卷(lv01)新增了20 GiB空間。
運行以下命令,擴容邏輯卷檔案系統。
執行
df -Th
命令,查詢邏輯卷的檔案系統類型(即Type列的值),根據檔案系統類型選擇擴容命令。ext4檔案系統
sudo resize2fs <邏輯卷路徑>
以擴容邏輯卷lv01(路徑為/dev/vg_01/lv01)為例,則命令為:
sudo resize2fs /dev/vg_01/lv01
xfs檔案系統
sudo xfs_growfs <邏輯卷掛載點>
以擴容邏輯卷lv01(掛載點為/media/lv01)為例,則命令為:
sudo xfs_growfs /media/lv01
運行以下命令,查看邏輯卷擴容結果。
df -h
回顯類似如下資訊,表示已為邏輯卷新增20 GiB容量(檔案系統本身會佔用部分儲存空間)。