邏輯卷管理LVM(Logical Volume Manager)是Linux系統下的一種管理硬碟分區機制,在磁碟和分區之上建立一個邏輯層,可以靈活、高效地管理磁碟分割,簡化了磁碟管理操作。邏輯卷的大小可以動態調整,而且不會丟失現有資料;即使新增了磁碟,也不會改變現有的邏輯卷。本文以使用2塊新雲端硬碟(/dev/vdb
、/dev/vdc
)為例,介紹如何通過LVM在多塊雲端硬碟上建立邏輯卷。
本文LVM配置示意圖如下所示。
使用LVM可以協助您靈活管理磁碟分割,但是會增加營運複雜度。您也可以直接選擇使用多塊雲端硬碟來進行隔離,達到類似分區的效果,單塊雲端硬碟不需要進行分區,請參考在裸裝置上建立檔案系統。雲端硬碟支援擴容,請參考雲端硬碟擴容指引。
操作步驟
步驟一:建立物理卷
為目標執行個體新建立並掛載2塊雲端硬碟,無需初始化。
遠端連線ECS執行個體。
關於串連方式的介紹,請參見串連方式概述。
運行以下命令安裝LVM工具。
sudo yum install -y lvm2
運行以下命令,查看ECS執行個體上的所有雲端硬碟。
lsblk
回顯類似如下,表示您有2塊雲端硬碟(vdb、vdc),通過LVM建立彈性可擴充的邏輯卷。
運行以下命令用雲端硬碟裝置建立物理卷,多個裝置之間用空格間隔。
sudo pvcreate <雲端硬碟裝置名稱> ... <雲端硬碟裝置名稱>
樣本命令:使用裝置
/dev/vdb
、/dev/vdc
建立2塊物理卷。sudo pvcreate /dev/vdb /dev/vdc
回顯類似如下資訊,表示建立物理捲成功。
步驟二:建立卷組
運行以下命令建立卷組。
sudo vgcreate <卷組名稱> <物理卷名稱> …… <物理卷名稱>
樣本命令:建立vg_01卷組,並添加
/dev/vdb
、/dev/vdc
這2塊物理卷。sudo vgcreate vg_01 /dev/vdb /dev/vdc
回顯類似如下資訊,表示建立卷組成功。
(可選)如果您需要在卷組中添加新的物理卷,運行以下命令添加其他已建立的物理卷。
sudo vgextend <卷組名稱> <物理卷名稱> …… <物理卷名稱>
運行以下命令查看卷組資訊。
sudo vgs
結果如下所示,已建立卷組vg_01,容量約為80 GiB(檔案系統本身會佔用部分儲存空間)。
步驟三:建立邏輯卷
運行以下命令建立邏輯卷。
sudo lvcreate -L <邏輯卷大小> -n <邏輯卷名稱> <卷組名稱>
邏輯卷大小:邏輯卷的大小應小於卷組剩餘可用空間。
邏輯卷名稱:由您自訂,例如
lv01
。卷組名稱:步驟二:建立卷組已經建立的卷組的名稱,例如
vg_01
。
樣本命令:建立一個55 GiB的邏輯卷
lv01
。sudo lvcreate -L 55g -n lv01 vg_01
回顯類似如下資訊,表示邏輯卷建立成功。
(可選)如果您需要在卷組中建立多個邏輯卷,請重複步驟1。
步驟四:建立並掛載檔案系統
運行以下命令,擷取邏輯卷路徑、名稱、所屬卷組等資訊,後續操作步驟需使用。
sudo lvdisplay
LV Path:邏輯卷路徑,例如
/dev/vg_01/lv01
。LV Name:邏輯卷的名稱,例如
lv01
。VG Name:邏輯卷所屬的卷組名稱,例如
vg_01
。LV Size:邏輯卷的大小,圖示資訊為55 GiB。
運行以下命令在邏輯卷上建立檔案系統。
sudo mkfs.<檔案系統格式> <邏輯卷路徑>
您可以根據需要建立檔案系統類型,以邏輯卷路徑為
/dev/vg_01/lv01
、檔案系統為ext4
和xfs
為例,則命令為:建立一個ext4檔案系統
sudo mkfs.ext4 /dev/vg_01/lv01
建立一個xfs檔案系統
sudo mkfs.xfs /dev/vg_01/lv01
建立新掛載點,例如
/media/lv01
。說明如果您想使用已有的掛載點,可以跳過此步驟。
sudo mkdir /media/lv01
運行以下命令,將檔案系統掛載至掛載點。
sudo mount <邏輯卷路徑> <掛載點>
樣本命令:將邏輯卷(路徑為
/dev/vg_01/lv01
)掛載至/media/lv01
目錄下。sudo mount /dev/vg_01/lv01 /media/lv01
運行以下命令查看邏輯卷的掛載結果。
df -h
回顯類似如下資訊,表示掛載成功(檔案系統本身會佔用部分儲存空間)。
步驟五:配置開機自動掛載
如果您需要設定開機自動掛載邏輯卷,需要在/etc/fstab
中添加該邏輯卷的掛載資訊,實現系統開機重啟時自動掛載該邏輯卷。
運行以下命令備份
etc/fstab
檔案。sudo cp /etc/fstab /etc/fstab.bak
運行以下命令,在
/etc/fstab
檔案中添加目標邏輯卷的掛載資訊。sudo sh -c "echo `blkid <邏輯卷路徑> | awk '{print $2}' | sed 's/\"//g'` <邏輯卷掛載點> <邏輯卷的檔案系統類型> defaults 0 0 >> /etc/fstab"
樣本命令:在開機重啟時自動將邏輯卷(路徑為
/dev/vg_01/lv01
)掛載至/media/lv01
目錄下,檔案系統類型為ext4
。sudo sh -c "echo `blkid /dev/vg_01/lv01 | awk '{print $2}' | sed 's/\"//g'` /media/lv01 ext4 defaults 0 0 >> /etc/fstab"
運行以下命令,查詢邏輯卷的掛載資訊是否添加成功。
cat /etc/fstab
結果如下所示,返回結果裡出現了目標邏輯卷資訊,說明已添加掛載資訊至
/etc/fstab
檔案。驗證自動掛載功能是否生效。
運行以下命令,重新掛載
/etc/fstab
配置的檔案系統。如果無報錯輸出,說明邏輯卷已經成功掛載到指定的掛載點。sudo mount -a
運行以下命令,檢查邏輯卷掛載的裝置或分區。
df -Th
回顯類似如下資訊,邏輯卷已經重新掛載到設定的目錄和檔案系統,自動掛載功能生效。
相關文檔
如果邏輯卷的使用空間不足,您可以擴容邏輯卷。
在控制台擴容雲端硬碟容量。具體操作,請參見步驟一:擴容雲端硬碟容量。
通過LVM擴容邏輯卷。具體操作,請參見擴容邏輯卷。