全部產品
Search
文件中心

Elastic Compute Service:擴容邏輯卷

更新時間:Nov 05, 2025

擴容邏輯卷前,必須確保卷組有足夠的剩餘容量,若容量不足,需先通過新增或擴容物理卷的方式擴容卷組後,再擴容邏輯卷並調整其檔案系統大小。

工作原理

擴容邏輯卷主要包含兩個步驟:

  1. 擴容卷組:邏輯卷的空間源於其所在的卷組。因此,須先通過擴容物理卷或新增物理卷方式為卷組增加可用容量。

  2. 擴容邏輯卷:將卷組中的新增空間分配給目標邏輯卷,然後擴充其上的檔案系統,以使作業系統能夠正常使用。

操作步驟

重要

LVM建立邏輯卷不提供資料冗餘,對於生產資料,請務必考慮應用程式層冗餘方案或使用阿里雲快照一致性組,保護資料。

步驟一:擴容卷組

  1. 登入ECS執行個體。

    1. 訪問ECS控制台-執行個體。在頁面左側頂部,選擇目標資源所在的資源群組和地區。

    2. 進入目標執行個體詳情頁,單擊遠端連線,選擇通過Workbench遠端連線。根據頁面提示登入,進入終端頁面。

  2. 查看卷組剩餘容量。

    執行sudo vgs指令,根據VGVFree欄位擷取卷組名稱及卷組剩餘容量。

    sudo vgs
      VG    #PV #LV #SN Attr   VSize  VFree
      vg_01   2   1   0 wz--n- 79.99g    0 

    樣本中,卷組名稱vg_01,總容量為79.99 GiB,剩餘容量為 0 GiB,需先擴容卷組。若卷組空間有剩餘則可直接擴容邏輯卷

  3. 擴容卷組。

    擴容卷組中物理卷

    1. 查看物理卷與雲端硬碟的對應關係。

      執行sudo pvs -a -o +devices命令,確定物理卷(通過PV欄位擷取)對應的雲端硬碟名稱(通過Devices欄位擷取),並記錄物理卷名稱和雲端硬碟名稱。

      sudo pvs -a -o +devices
        PV         VG    Fmt  Attr PSize   PFree Devices    
        /dev/vda1             ---       0     0             
        /dev/vda2             ---       0     0             
        /dev/vda3             ---       0     0             
        /dev/vdb   vg_01 lvm2 a--  <40.00g    0  /dev/vdb(0)
        /dev/vdc1  vg_01 lvm2 a--  <40.00g    0  /dev/vdc1(0)
      • 如果物理卷基於整塊雲端硬碟建立(無分區),則僅需擴充雲端硬碟容量。樣本中物理卷/dev/vdb對應的雲端硬碟名稱/dev/vdb,不存在分區,僅需擴充其容量。

      • 如果物理卷給予雲端硬碟的某個分區建立,不僅需要擴充雲端硬碟容量,還需要擴容分區。樣本中物理卷/dev/vdc1對應的雲端硬碟分區名稱/dev/vdc1雲端硬碟名稱/dev/vdc分區編號為1,需要擴容分區。

    2. 擴充雲端硬碟容量。

      1. 訪問ECS控制台-Block Storage-雲端硬碟。在頁面左側頂部,選擇目標資源所在的資源群組和地區。

      2. 單擊目標雲端硬碟操作列中的擴容

      3. 確定目標盤與須知頁面,核實資訊後單擊已知曉並備份,繼續擴容

      4. 配置擴容方式與容量嚮導頁面,設定擴容參數並確認費用後,單擊擴容

        以將雲端硬碟容量由40 GiB擴充至50 GiB為例,需填寫擴容後的容量為50 GiB。
        重要

        擴充雲端硬碟容量時會收取新增容量的費用。

      5. (條件必選)若為訂用帳戶雲端硬碟,請在支付彈框中等待5秒倒計時結束後,單擊確認,去支付,完成支付後返回擴容流程,單擊已完成支付,關閉

        如果未完成支付,但單擊了已完成支付,關閉,需要單擊操作列的查看關聯訂單,完成支付。
    3. (條件必選)若待擴容物理卷對應雲端硬碟的分區,需要在ECS執行個體內擴容分區。

      將命令中的<雲端硬碟名稱><分區編號>替換為步驟a中擷取到的雲端硬碟名稱與分區編號後執行命令。

      重要

      雲端硬碟名稱和分區編號之間有空格。

      sudo LC_ALL=en_US.UTF-8 growpart <雲端硬碟名稱> <分區編號>
      以擴容/dev/vdc1為例,需要執行sudo LC_ALL=en_US.UTF-8 growpart /dev/vdc 1

      當回執內容中包含關鍵字CHANGED,表示指令執行成功。

    4. 擴容物理卷。

      <物理卷名稱>可通過步驟a擷取。

      sudo pvresize <物理卷名稱>
      以擴容物理卷/dev/vdb為例,需執行:sudo pvresize /dev/vdb

      當輸出內容中包含關鍵詞1 physical volume(s) resized or updated,表示指令執行成功。

    5. 驗證卷組擴容是否生效。

      運行sudo vgs,確認卷組剩餘可用容量(回執中VFree欄位對應的值)是否符合新增預期。

      sudo vgs
      VG    #PV #LV #SN Attr   VSize  VFree 
      vg_01   2   1   0 wz--n- 89.99g 10.00g

      樣本中,卷組vg_01的容量由79.99 GiB增加至89.99 GiB,剩餘容量VFree為10 GiB, 符合預期,卷組擴容成功。

    新增物理卷並加入卷組

    在確保雲端硬碟已建立並掛載至目標執行個體(無需初始化)的情況下,執行以下操作。

    1. 擷取建立資料盤的裝置名稱。

      執行sudo lsblk -f,根據NAMEFSTYPE欄位,確定建立資料盤的裝置名稱。

      sudo lsblk -f
      NAME         FSTYPE      LABEL UUID                                   MOUNTPOINT
      vda                                                                   
      ├─vda1                                                                
      ├─vda2       vfat              7938-FA03                              /boot/efi
      └─vda3       ext4        root  33b46ac5-7482-4aa5-8de0-60ab4c3a4c78   /
      vdb          LVM2_member       okx24E-qSjZ-zv9l-lOkm-Pcxu-q6KX-qzRcCu 
      └─vg_01-lv01 xfs               9e2bfe15-074e-4bf5-aac5-62c58299364f   /mnt/lv01
      vdc          LVM2_member       ISeUSM-AhRp-KdNN-7pWJ-HxGW-2AEq-85m9dE 
      └─vg_01-lv01 xfs               9e2bfe15-074e-4bf5-aac5-62c58299364f   /mnt/lv01
      vdd

      樣本中,裝置名稱vdd無分區及檔案系統(FSTYPE為空白)為建立資料盤。

    2. 建立物理卷並將其加入卷組中。

      重要

      建立物理卷會刪除資料盤中資料,請確保資料盤為空白。

      <新盤的裝置名稱>可通過上一步擷取。

      sudo vgextend <卷組名稱> /dev/<新盤的裝置名稱>
      以將雲端硬碟vdd初始化成物理卷並添加至卷組vg_01為例,需執行sudo vgextend vg_01 /dev/vdd

      當輸出內容中包含關鍵詞successfully extended,表示指令執行成功。

    3. 驗證卷組擴容是否生效。

      運行sudo vgs,確認卷組剩餘可用容量(回執中VSize欄位對應的值)是否符合新增預期。

      sudo vgs
      VG    #PV #LV #SN Attr   VSize   VFree  
      vg_01   3   1   0 wz--n- <89.99g <10.00g

      樣本中,卷組vg_01的容量由79.99 GiB增加至89.99 GiB,剩餘容量VFree約為10 GiB, 符合預期,卷組擴容成功。

步驟二:擴容邏輯卷

  1. 擷取邏輯卷路徑。

    運行sudo lvdisplay命令,根據LV Path欄位擷取邏輯卷路徑,後續擴容邏輯卷時需要使用。

    sudo lvdisplay
      --- Logical volume ---
      LV Path                /dev/vg_01/lv01
      LV Name                lv01
      VG Name                vg_01
      LV UUID                DAD6Fy-4lbd-9EW9-UTvx-rGti-hYss-txxxxx
      LV Write Access        read/write
      LV Creation host, time iZbp1hww2c2kyj54i1xxxxx, 2025-09-22 10:37:58 +0800
      LV Status              available
      # open                 1
      LV Size                79.99 GiB
      Current LE             20478
      Segments               2
      Allocation             inherit
      Read ahead sectors     auto
      - currently set to     256

    樣本中,邏輯卷lv01的邏輯卷路徑為/dev/vg_01/lv01

  2. 擴容邏輯卷。

    sudo lvextend -L +<邏輯卷容量> <邏輯卷路徑>

    參數

    說明

    <邏輯卷容量>

    需小於卷組剩餘可用容量

    <邏輯卷路徑>

    需替換為上一步擷取的待擴容邏輯卷路徑。

    以邏輯卷路徑為/dev/vg_01/lv01,新增10 GiB容量為例,執行sudo lvextend -L +10G /dev/vg_01/lv01

    當輸出內容中包含關鍵詞successfully resized,表示擴容邏輯捲成功。

  3. 擴容檔案系統。

    1. 運行命令sudo lsblk -f,根據FSTYPEMOUNTPOINT欄位,確定並記錄待擴容邏輯卷的檔案系統類型和掛載目錄,後續執行擴容檔案系統指令時需要使用。

      sudo lsblk -f                                 
      NAME         FSTYPE      LABEL UUID                                   MOUNTPOINT
      vda                                                                   
      ├─vda1                                                                
      ├─vda2       vfat              7938-FA03                              /boot/efi
      └─vda3       ext4        root  33b46ac5-7482-4aa5-8de0-60ab4c3a4c78   /
      vdb          LVM2_member       okx24E-qSjZ-zv9l-lOkm-Pcxu-q6KX-qzRcCu 
      └─vg_01-lv01 xfs               9e2bfe15-074e-4bf5-aac5-62c58299364f   /mnt/lv01
      vdc          LVM2_member       ISeUSM-AhRp-KdNN-7pWJ-HxGW-2AEq-85m9dE 
      └─vg_01-lv01 xfs               9e2bfe15-074e-4bf5-aac5-62c58299364f   /mnt/lv01

      樣本中邏輯卷路徑/dev/vg_01/lv01檔案系統類型xfs掛載目錄/mnt/lv01

    2. 擴容檔案系統。

      • ext2/ext3/ext4檔案系統。

        將命令中的變數<邏輯卷路徑>替換為擷取的邏輯卷路徑

        sudo resize2fs <邏輯卷路徑>
        以擴容邏輯卷lv01(路徑為/dev/vg_01/lv01)為例,需執行:sudo resize2fs /dev/vg_01/lv01
      • xfs檔案系統。

        將命令中的<掛載目錄>替換為擷取的邏輯卷掛載目錄

        sudo xfs_growfs <掛載目錄>
        以擴容邏輯卷(掛載點為/mnt/lv01)為例,需執行:sudo xfs_growfs /mnt/lv01
    3. 檢查檔案系統擴容是否成功。

      運行sudo df -Th,確認檔案系統大小(回執中Size欄位對應的值)是否與邏輯卷新容量基本一致。

      檔案系統建立時會佔用部分容量用於儲存中繼資料,因此檔案系統大小可能略小於邏輯卷容量。

計費說明

擴容邏輯卷時,會收取以下費用。

  • 通過擴容物理卷擴容卷組

    擴充雲端硬碟容量時會收取新增容量的費用,計費方式和原雲端硬碟一致。

    • 訂用帳戶雲端硬碟:容量擴充成功後,將立即以新容量進行計費。按剩餘時間長度補足新舊容量差額費用。

      差額費用=包月價格/30天*剩餘時間長度*新增容量。

      剩餘時間長度單位為天,數值精確到秒。
    • 隨用隨付雲端硬碟:容量擴充成功後,將立即按新容量進行計費。計費時間長度以小時為單位折算,下一小時將產生當前小時的消費明細。

  • 通過新增物理卷擴容卷組

    雲端硬碟的計費項目因類型而異,包括雲端硬碟容量費用、預配置效能費用及效能突發費用。除效能突發費用在突發後計費外,其他費用在建立後即開始計費,無論是否掛載至執行個體,不同類型或地區雲端硬碟價格可能不同。

更多資訊,請參見Block Storage計費

常見問題

  • 安裝工具時提示“404 Not Found”如何解決?

    CentOS 6、Debian 9/10/11作業系統已結束生命週期,需要先切換Centos源地址Debian 9/10/11源地址後再進行工具安裝。

  • 擴容邏輯卷時提示Insufficient free space錯誤怎麼辦?

    擴容邏輯卷時,新增容量需小於卷組可用空間。

    1. 查看卷組剩餘容量。

      執行sudo vgs指令,根據VSize欄位擷取卷組剩餘容量。

      sudo vgs
      VG    #PV #LV #SN Attr   VSize  VFree 
      vg_01   2   1   0 wz--n- 89.99g 10.00g

      樣本中邏輯卷的新增容量不可超過卷組剩餘的10 GiB容量。

    2. 將剩餘空間全部用於邏輯卷擴充。

      <邏輯卷路徑>需替換為擷取的待擴容邏輯卷路徑

      sudo lvextend -l +100%FREE <邏輯卷路徑>