全部產品
Search
文件中心

Elastic Compute Service:擴容邏輯卷

更新時間:Jun 19, 2024

如果您使用LVM(Logical Volume Manager)建立的邏輯卷使用空間不足時,您可以擴容邏輯卷。本文介紹了如何通過LVM擴容一個邏輯卷。

前提條件

已建立一個邏輯卷。具體操作,請參見通過LVM建立邏輯卷

操作步驟

您可以通過以下兩種方式來擴容邏輯卷。

方式一:擴容雲端硬碟以擴容邏輯卷容量

擴容原理

如下圖所示,當邏輯卷容量不能滿足您當前業務需求時,您可以通過擴容已有雲端硬碟容量,來擴充邏輯卷的容量。

擴容步驟

下文通過擴容雲端硬碟/dev/vdb,為邏輯卷lv01增加10 GiB容量為例,指導您如何擴容邏輯卷。

  1. (可選)通過快照一致性組進行備份資料。具體操作,請參見建立快照一致性組

  2. 遠端連線ECS執行個體。

    關於串連方式的介紹,請參見串連方式概述

  3. 擴容雲端硬碟(例如擴容雲端硬碟/dev/vdb)。

    1. 為目標雲端硬碟擴容容量(例如新增10 GiB容量)。具體操作,請參見步驟一:擴容雲端硬碟容量

    2. (可選)若雲端硬碟已分區,需為雲端硬碟擴容分區。具體操作,請參見步驟1:擴容分區。如果雲端硬碟未分區,則跳過該步驟。

      您可以通過lsblk命令查看雲端硬碟是否分區。如下圖的樣本,則表示雲端硬碟/dev/vdb未分區,/dev/vdc已分區。

      image.png

  4. 擴容物理卷。

    1. 執行以下命令,確定已擴容的雲端硬碟或雲端硬碟分區對應的物理卷名稱,後續命令需使用。

      PV列為物理卷名稱,Devices列為物理卷對應的雲端硬碟或雲端硬碟分區。

      sudo pvs -a -o +devices

      image.png

      上圖樣本,雲端硬碟/dev/vdb對應的物理卷名稱為/dev/vdb

    2. 運行以下命令,擴容雲端硬碟對應的物理卷。

      sudo pvresize <物理卷名稱>

      以擴容物理卷/dev/vdb為例,則命令為:

      sudo pvresize /dev/vdb

      回顯類似如下資訊,表示擴容物理捲成功。

      image.png

  5. 擴容邏輯卷和檔案系統。

    1. 運行以下命令,擷取邏輯卷路徑、名稱、所屬卷組等資訊,後續操作步驟需使用。

      sudo lvdisplay
      • LV Path:邏輯卷路徑,例如/dev/vg_01/lv01

      • LV Name:邏輯卷名稱,例如lv01

      • VG Name:邏輯卷所屬的卷組名稱,例如vg_01

      • LV Size:邏輯卷的大小,圖示資訊為59 GiB。

      image.png

    2. 運行以下命令,擴容邏輯卷。

      sudo lvextend -L <增/減邏輯卷容量> <邏輯卷路徑>

      樣本命令:為邏輯卷(路徑為/dev/vg_01/lv01)新增10 GiB容量。

      sudo lvextend -L +10G /dev/vg_01/lv01

      回顯類似如下資訊,表示您為邏輯卷(lv01)新增了10 GiB空間。

      image.png

    3. 運行以下命令,擴容邏輯卷檔案系統。

      執行df -Th命令,查詢邏輯卷的檔案系統類型(即Type列的值),根據檔案系統類型選擇擴容命令。

      image.png

      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
  6. 運行以下命令,查看邏輯卷擴容結果。

    df -h

    回顯類似如下資訊,表示已為邏輯卷新增10 GiB容量(檔案系統本身會佔用部分儲存空間)。

    image.png

方式二:新增雲端硬碟以擴容邏輯卷容量

擴容原理

如下圖所示,當邏輯卷容量不能滿足您當前業務需求時,您可以通過新增雲端硬碟,來擴充邏輯卷(LV)的容量。

擴容步驟

下文通過新建立雲端硬碟(雲端硬碟裝置名稱為/dev/vdd、容量為20 GiB)、建立物理卷、然後將物理卷添加到卷組中等操作,指導您如何擴容邏輯卷。

  1. 為ECS執行個體新建立並掛載1塊雲端硬碟,無需初始化。

    具體操作,請參見建立雲端硬碟掛載資料盤

  2. 遠端連線ECS執行個體。

    關於串連方式的介紹,請參見串連方式概述

  3. 運行以下命令,用新增雲端硬碟建立物理卷。

    sudo pvcreate <雲端硬碟裝置名稱>

    樣本命令:使用新增雲端硬碟/dev/vdd建立1塊物理卷。

    sudo pvcreate /dev/vdd

    回顯類似如下資訊,表示建立物理捲成功。

    image.png

  4. 擴容卷組。

    1. 運行以下命令,查看卷組資訊。

      sudo vgs

      回顯類似如下資訊,表示卷組名稱vg_01,當前卷組容量為 59.99GiB,剩餘空間不足 1GiB。

      image.png

    2. 運行以下命令,擴容卷組。

      sudo vgextend <卷組名稱> <物理卷名稱>

      樣本命令:將物理卷/dev/vdd添加至卷組vg_01中。

      sudo vgextend vg_01 /dev/vdd

      回顯類似如下資訊,表示擴容卷組成功。

      image.png

    3. 運行以下命令,查看卷組資訊。

      sudo vgs

      回顯類似如下資訊,卷組vg_01的容量由59.99 GiB增加至79.99 GiB,說明卷組擴容成功。

      image.png

  5. 擴容邏輯卷和檔案系統。

    1. 運行以下命令,擷取邏輯卷路徑、名稱、所屬卷組等資訊,後續操作步驟需使用。

      sudo lvdisplay
      • LV Path:邏輯卷路徑,例如/dev/vg_01/lv01

      • LV Name:邏輯卷名稱,例如lv01

      • VG Name:邏輯卷所屬的卷組名稱,例如vg_01

      • LV Size:邏輯卷的大小,圖示資訊為59 GiB。

      image.png

    2. 運行以下命令,擴容邏輯卷。

      sudo lvextend -L <增/減邏輯卷容量> <邏輯卷路徑>

      樣本命令:為邏輯卷(路徑為/dev/vg_01/lv01)新增20 GiB容量。

      sudo lvextend -L +20G /dev/vg_01/lv01

      回顯類似如下資訊,表示您為邏輯卷(lv01)新增了20 GiB空間。

      image.png

    3. 運行以下命令,擴容邏輯卷檔案系統。

      執行df -Th命令,查詢邏輯卷的檔案系統類型(即Type列的值),根據檔案系統類型選擇擴容命令。

      image.png

      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
    4. 運行以下命令,查看邏輯卷擴容結果。

      df -h

      回顯類似如下資訊,表示已為邏輯卷新增20 GiB容量(檔案系統本身會佔用部分儲存空間)。

      image.png