邏輯卷管理器LVM(Logical Volume Manager)可將多塊資料盤或分區“合并”成一個可動態擴容的儲存池。
工作原理
建立邏輯卷主要包含四個步驟:
建立物理卷 (pvcreate): 將資料盤標記為LVM專用。
建立卷組 (vgcreate): 將標記為LVM專用的物理卷合成一個儲存資源集區。
建立邏輯卷 (lvcreate): 從卷組中劃分出指定大小的邏輯分區。
建立並掛載檔案系統 (mkfs & mount): 為邏輯卷建立檔案讀寫規則並分配訪問路徑,完成此步後邏輯卷即可投入使用。
如圖所示,兩塊40 GiB的資料盤(/dev/vdb 和 /dev/vdc)被初始化為物理卷後加入名為 vg_01的卷組,形成80 GiB的儲存池。隨後從中划出55 GiB的邏輯卷 lv01 供系統使用。
操作步驟
步驟一:建立物理卷
建立物理卷會刪除資料盤中資料,請確保資料盤為空白。
登入ECS執行個體。
訪問ECS控制台-執行個體。在頁面左側頂部,選擇目標資源所在的資源群組和地區。
進入目標執行個體詳情頁,單擊遠端連線,選擇通過Workbench遠端連線。根據頁面提示登入,進入終端頁面。
安裝LVM工具。
Alibaba Cloud Linux、CentOS類型
sudo yum install -y lvm2Debian、Ubuntu類型
sudo apt-get install -y lvm2運行
sudo lsblk -f命令,擷取目標裝置名稱。sudo lsblk -fNAME FSTYPE LABEL UUID MOUNTPOINT vda ├─vda1 ├─vda2 vfat 7938-FA03 /boot/efi └─vda3 ext4 root 33b46ac5-7482-4aa5-8de0-60ab4c3a4c78 / vdb vdc vdd └─vdd1如果
FSTYPE非空,則表示已初始化,不可建立物理卷。如果
FSTYPE為空白:當裝置不存在分區,目標裝置名稱與裝置名稱一致。樣本中資料盤
vdb目標裝置名稱為vdb。資料盤vdc目標裝置名稱為vdc。當裝置存在分區,目標裝置名稱為期望添加的分區名稱。樣本中資料盤
vdd目標裝置名稱為vdd1。
建立物理卷。
裝置名稱之間用空格間隔,將命令中的
<目標裝置名稱>調整為上一步中擷取到的目標裝置名稱後執行。sudo pvcreate /dev/<目標裝置名稱>.../dev/<目標裝置名稱>以目標裝置為
vdb和vdc為例,執行:sudo pvcreate /dev/vdb /dev/vdc產生兩個40 GiB的物理卷。輸出包含
successfully created,表示物理卷建立成功。
步驟二:建立卷組
建立卷組。
自訂
<卷組名稱>,並將命令中的<目標裝置名稱>調整為步驟一擷取的目標裝置名稱後執行。sudo vgcreate <卷組名稱> /dev/<目標裝置名稱>.../dev/<目標裝置名稱>以建立卷組名稱為
vg_01,並添加vdb、vdc為例,執行:sudo vgcreate vg_01 /dev/vdb /dev/vdc。輸出包含
successfully created,表示卷組建立成功。查看卷組剩餘可用容量。
運行
sudo vgs命令,根據VFree欄位,擷取並記錄卷組剩餘可用容量。sudo vgs
步驟三:建立邏輯卷
建立邏輯卷。
sudo lvcreate -L <邏輯卷大小> -n <邏輯卷名稱> <卷組名稱>以建立邏輯卷名稱為
lv01,邏輯卷大小為55 GiB,卷組名稱為vg_01為例,執行:sudo lvcreate -L 55g -n lv01 vg_01。參數
說明
<邏輯卷大小>需小於卷組剩餘可用容量。
<邏輯卷名稱>自訂建立的邏輯卷名稱。
<卷組名稱>替換為建立卷組時自訂的卷組名
輸出
Logical volume "<邏輯卷名稱>" created,表示邏輯卷建立成功。查看邏輯卷資訊。
運行
sudo lvdisplay命令,根據LV Path欄位,擷取並記錄邏輯卷路徑,用於後續建立檔案系統使用。sudo lvdisplay--- Logical volume --- LV Path /dev/vg_01/lv01 LV Name lv01 VG Name vg_01 LV UUID NgcCdz-efSY-vCrm-E35b-Dg6p-LNYq-xxxxxx LV Write Access read/write LV Creation host, time iZbp13kehgn0kh64txxxxxx, 2025-09-15 16:57:21 +0800 LV Status available # open 0 LV Size 55.00 GiB Current LE 14080 Segments 2 Allocation inherit Read ahead sectors auto - currently set to 256 Block device 252:0樣本中
lv01的邏輯卷路徑為/dev/vg_01/lv01。
步驟四:建立並掛載檔案系統
建立檔案系統。
與xfs相比,ext4更適合處理小檔案。
ext4
建立ext4檔案系統。
將
<邏輯卷路徑>替換為步驟三擷取的路徑後執行。sudo mkfs -t ext4 <邏輯卷路徑>樣本中,邏輯卷路徑為
/dev/vg_01/lv01,需執行sudo mkfs -t ext4 /dev/vg_01/lv01。驗證建立是否成功。
運行
sudo lsblk -f,若輸出中目標裝置的FSTYPE為ext4,表示配置成功。
xfs
安裝xfsprogs工具。
Alibaba Cloud Linux、CentOS類型:
sudo yum install -y xfsprogsDebian、Ubuntu類型:
sudo apt-get install -y xfsprogs
建立xfs檔案系統。
將
<邏輯卷路徑>替換為步驟三擷取的路徑後執行。sudo mkfs -t xfs <邏輯卷路徑>樣本中,邏輯卷路徑為
/dev/vg_01/lv01,需執行sudo mkfs -t xfs /dev/vg_01/lv01。驗證建立是否成功。
運行
sudo lsblk -f,若輸出中目標裝置的FSTYPE為xfs,表示配置成功。
建立並掛載系統目錄。
sudo mkdir <掛載目錄> && sudo mount <邏輯卷路徑> <掛載目錄>參數
說明
<邏輯卷路徑>替換為建立邏輯卷時擷取的路徑。
<掛載目錄>自訂
<掛載目錄>,應為以/開頭的路徑,不可重複,目錄需為空白,否則會覆蓋其下內容,導致原檔案無法訪問,可能影響業務。以將邏輯卷路徑
/dev/vg_01/lv01掛載至新建立的/mnt/lv01為例,需執行sudo mkdir /mnt/lv01 && sudo mount /dev/vg_01/lv01 /mnt/lv01。檢查檔案系統是否掛載成功。
運行
sudo lsblk命令,若目標裝置存在掛載目錄(MOUNTPOINT)資訊,表示檔案系統掛載成功。重要當前為臨時掛載,重啟後失效。為使重啟後資料仍可訪問,建議配置開機自動掛載。
常見問題
如何添加新的物理卷至已有卷組?
登入ECS執行個體。
訪問ECS控制台-執行個體。在頁面左側頂部,選擇目標資源所在的資源群組和地區。
進入目標執行個體詳情頁,單擊遠端連線,選擇通過Workbench遠端連線。根據頁面提示登入,進入終端頁面。
查看物理卷和卷組資訊。
查看已有物理卷。
運行
sudo pvdisplay,根據PV Name欄位擷取並記錄物理卷名稱。查看已有卷組。
運行
sudo vgs,根據VG欄位擷取並記錄卷組名稱。
添加其他已建立的物理卷。
<卷組名稱>和<物理卷名稱>請替換為上一步擷取的已有資訊。sudo vgextend <卷組名稱> <物理卷名稱>...<物理卷名稱>
安裝工具時提示“404 Not Found”如何解決?
CentOS 6、Debian 9/10/11作業系統已結束生命週期,需要先切換Centos源地址或Debian 9/10/11源地址後再進行工具安裝。
重啟後使用sudo df -Th,沒有邏輯卷的掛載資訊怎麼辦?
問題原因:沒有配置開機自動掛載。
問題處理:
為保證後續重啟掛載資訊不丟失,建議配置開機自動掛載。
建立邏輯卷時,提示“Volume group "vg01" has insufficient free space (23038 extents): 51200 required.”怎麼辦?
建立的邏輯卷大小需小於卷組剩餘可用容量。
相關文檔
若邏輯卷空間不足,可通過lvextend指令擴容邏輯卷。