全部產品
Search
文件中心

Elastic Compute Service:建立邏輯卷

更新時間:Jun 19, 2024

邏輯卷管理LVM(Logical Volume Manager)是Linux系統下的一種管理硬碟分區機制,在磁碟和分區之上建立一個邏輯層,可以靈活、高效地管理磁碟分割,簡化了磁碟管理操作。邏輯卷的大小可以動態調整,而且不會丟失現有資料;即使新增了磁碟,也不會改變現有的邏輯卷。本文以使用2塊新雲端硬碟(/dev/vdb/dev/vdc)為例,介紹如何通過LVM在多塊雲端硬碟上建立邏輯卷。

本文LVM配置示意圖如下所示。

說明

使用LVM可以協助您靈活管理磁碟分割,但是會增加營運複雜度。您也可以直接選擇使用多塊雲端硬碟來進行隔離,達到類似分區的效果,單塊雲端硬碟不需要進行分區,請參考在裸裝置上建立檔案系統。雲端硬碟支援擴容,請參考雲端硬碟擴容指引

操作步驟

步驟一:建立物理卷

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

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

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

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

  3. 運行以下命令安裝LVM工具。

    sudo yum install -y lvm2
  4. 運行以下命令,查看ECS執行個體上的所有雲端硬碟。

    lsblk

    回顯類似如下,表示您有2塊雲端硬碟(vdb、vdc),通過LVM建立彈性可擴充的邏輯卷。

    image.png

  5. 運行以下命令用雲端硬碟裝置建立物理卷,多個裝置之間用空格間隔。

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

    樣本命令:使用裝置/dev/vdb/dev/vdc建立2塊物理卷。

    sudo pvcreate /dev/vdb /dev/vdc

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

    image.png

步驟二:建立卷組

  1. 運行以下命令建立卷組。

    sudo vgcreate <卷組名稱> <物理卷名稱> …… <物理卷名稱>

    樣本命令:建立vg_01卷組,並添加/dev/vdb/dev/vdc這2塊物理卷。

    sudo vgcreate vg_01 /dev/vdb /dev/vdc

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

    image..png

  2. (可選)如果您需要在卷組中添加新的物理卷,運行以下命令添加其他已建立的物理卷。

    sudo vgextend <卷組名稱> <物理卷名稱> …… <物理卷名稱>
  3. 運行以下命令查看卷組資訊。

    sudo vgs

    結果如下所示,已建立卷組vg_01,容量約為80 GiB(檔案系統本身會佔用部分儲存空間)。

    image.png

步驟三:建立邏輯卷

  1. 運行以下命令建立邏輯卷。

    sudo lvcreate -L <邏輯卷大小> -n <邏輯卷名稱> <卷組名稱>
    • 邏輯卷大小:邏輯卷的大小應小於卷組剩餘可用空間。

    • 邏輯卷名稱:由您自訂,例如lv01

    • 卷組名稱:步驟二:建立卷組已經建立的卷組的名稱,例如vg_01

    樣本命令:建立一個55 GiB的邏輯卷lv01

    sudo lvcreate -L 55g -n lv01 vg_01

    回顯類似如下資訊,表示邏輯卷建立成功。

    image.png

  2. (可選)如果您需要在卷組中建立多個邏輯卷,請重複步驟1。

步驟四:建立並掛載檔案系統

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

    sudo lvdisplay

    image..png

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

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

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

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

  2. 運行以下命令在邏輯卷上建立檔案系統。

    sudo mkfs.<檔案系統格式> <邏輯卷路徑>

    您可以根據需要建立檔案系統類型,以邏輯卷路徑為/dev/vg_01/lv01、檔案系統為ext4xfs為例,則命令為:

    建立一個ext4檔案系統

    sudo mkfs.ext4 /dev/vg_01/lv01

    建立一個xfs檔案系統

    sudo mkfs.xfs /dev/vg_01/lv01
  3. 建立新掛載點,例如/media/lv01

    說明

    如果您想使用已有的掛載點,可以跳過此步驟。

    sudo mkdir /media/lv01
  4. 運行以下命令,將檔案系統掛載至掛載點。

    sudo mount <邏輯卷路徑> <掛載點>

    樣本命令:將邏輯卷(路徑為/dev/vg_01/lv01)掛載至/media/lv01目錄下。

    sudo mount /dev/vg_01/lv01 /media/lv01
  5. 運行以下命令查看邏輯卷的掛載結果。

    df -h

    回顯類似如下資訊,表示掛載成功(檔案系統本身會佔用部分儲存空間)。

    image.png

步驟五:配置開機自動掛載

如果您需要設定開機自動掛載邏輯卷,需要在/etc/fstab中添加該邏輯卷的掛載資訊,實現系統開機重啟時自動掛載該邏輯卷。

  1. 運行以下命令備份etc/fstab檔案。

    sudo cp /etc/fstab /etc/fstab.bak
  2. 運行以下命令,在/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"
  3. 運行以下命令,查詢邏輯卷的掛載資訊是否添加成功。

    cat /etc/fstab

    結果如下所示,返回結果裡出現了目標邏輯卷資訊,說明已添加掛載資訊至/etc/fstab檔案。

    image.png

  4. 驗證自動掛載功能是否生效。

    1. 運行以下命令,重新掛載/etc/fstab配置的檔案系統。如果無報錯輸出,說明邏輯卷已經成功掛載到指定的掛載點。

      sudo mount -a
    2. 運行以下命令,檢查邏輯卷掛載的裝置或分區。

      df -Th

      回顯類似如下資訊,邏輯卷已經重新掛載到設定的目錄和檔案系統,自動掛載功能生效。

      image.png

相關文檔

如果邏輯卷的使用空間不足,您可以擴容邏輯卷。

  1. 在控制台擴容雲端硬碟容量。具體操作,請參見步驟一:擴容雲端硬碟容量

  2. 通過LVM擴容邏輯卷。具體操作,請參見擴容邏輯卷