跳至內容

如何使用 LVM 在 EBS 磁碟區的分割區上建立邏輯磁碟區?

4 分的閱讀內容
0

我想使用 Logical Volume Manager (LVM) 在 Amazon Elastic Block Store (Amazon EBS) 磁碟區的分割區上建立 LV。

解決方法

如果您已經建立並掛載 LV,請繼續前往**擴充 LV ** 章節。

在磁碟區的分割區上建立 PV

LV 的基礎實體儲存裝置是區塊型儲存設備,例如磁碟區的分割區或整個磁碟區。

**注意:**Nitro 型執行個體會將磁碟區公開為 NVMe 裝置。區塊型儲存設備名稱遵循 /dev/nvme1n1、/dev/nvme2n1、/dev/nvme3n1 的命名模式,依此類推。如果您使用 Nitro 型執行個體,請使用適當的裝置名稱取代下列步驟中的裝置名稱。如需詳細資訊,請參閱 Amazon EC2 執行個體磁碟區的裝置名稱

若要在磁碟區的分割區建立實體磁碟區,請完成下列步驟:

  1. 開啟 Amazon Elastic Compute Cloud (Amazon EC2) 主控台

  2. 建立 EBS 磁碟區,然後將磁碟區連接至 Amazon EC2 執行個體

  3. 執行下列命令以安裝 LVM:

    sudo yum install lvm2 -y

    **注意:**針對 Debian 或 Ubuntu 型系統執行下列命令,以便安裝 growpart 公用程式:

    sudo apt-get install -y lvm2
  4. 使用 gdisk 命令建立分割區。針對為命令提示輸入 n。針對變數的十六進位代碼或 GUID 輸入 8e00。
    下列範例會在 /dev/xvdh上建立 /dev/xvdh1 分割區:

    sudo gdisk /dev/xvdh
    Command (? for help): n
    Partition number (1-1218, default 1): 1
    First sector (34-20971486, default = 2048) or {+-}size{KMGTP}:
    Last sector (2048-20971486, default = 20971486) or {+-}size{KMGTP}:
    Current type is 'Linux filesystem'
    Hex code or GUID (L to show codes, Enter = 8300): 8e00

    範例輸出結果:

    Changed type of partition to 'Linux LVM'
    
    OK; writing new GUID partition table (GPT) to /dev/xvdh.
    The operation has completed successfully.
  5. 執行 lsblk 命令來確認已建立分割區:

    lsblk

    範例輸出結果:

    NAME    MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
    xvda    202:0    0   8G  0 disk
    └─xvda1 202:1    0   8G  0 part /
    xvdh    202:80   0  10G  0 disk
    └─xvdh1 202:81   0  10G  0 part
  6. 執行 pvcreate 命令從分割區建立實體磁碟區 (PV)。下列範例會從 /dev/xvdh1 建立 PV:

    sudo pvcreate /dev/xvdh1

    範例輸出結果:

    Physical volume "/dev/xvdh1" successfully created.

建立磁碟區群組,並將 PV 新增至磁碟區群組

請完成下列步驟:

  1. 執行 vgcreate 命令以建立結合新 PV 的磁碟區群組。下列範例使用一個 PV 來建立 examplegroup1 磁碟區群組:

    sudo vgcreate examplegroup1 /dev/xvdh1

    範例輸出結果:

    group "examplegroup1" successfully created
  2. 執行 vgsvgdisplay 命令來檢視磁碟區群組詳細資料:

    sudo vgs

    範例輸出結果:

    VG             #PV #LV #SN Attr   VSize  VFree  
    examplegroup1   1   0   0 wz--n- <10.00g <10.00g

建立 LV 和掛載目錄

請完成下列步驟:

  1. 執行 lvcreate 命令,從磁碟區群組建立 LV。下列範例會從 examplegroup1 磁碟區群組建立一個名為 lvexample1 的 9 GB LV:

    sudo lvcreate -n lvexample1 -L 9G examplegroup1

    輸出範例:

    volume "lvexample1" created
  2. 執行 lvslvdisplay 命令以檢閱 LV 詳細資料:

    sudo lvs

    範例輸出結果:

    LV          VG             Attr       LSize Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert
    lvexample1  examplegroup1  -wi-a----- 9.00g
  3. 執行 mkdir 命令來建立掛載目錄。下列範例會建立 /mnt1 目錄:

    sudo mkdir /mnt1

建立並掛載檔案系統

請完成下列步驟:

  1. 執行 mkfs -t 命令以建立檔案系統:

    sudo mkfs -t xfs /dev/examplegroup1/lvexample1

    **注意:**將 xfs 替換為您的檔案系統類型。例如,使用 ext2、ext3 或 ext4。

  2. 執行 lsblk -f 命令以驗證檔案系統是否已建立:

    lsblk -f

    範例輸出結果:

    NAME                         FSTYPE      LABEL UUID                                   MOUNTPOINT
    xvda                                                                            
    ├─xvda1                                                                         
    └─xvda2                      xfs               66e5e079-770e-4359-a9da-5205c3d8d5af   /
    xvdh                                                                            
    └─xvdh1                      LVM2_member       0UnOic-e2ng-XxH5-z0UW-7aTh-RxQK-KMrDqo
      └─examplegroup1-lvexample1 xfs              5db36052-81d5-4762-8502-6986ff3964e7

    **注意:**檔案系統類型會顯示在 FSTYPE 之下。

  3. 執行 mount 命令以將文件系統掛載到掛載目錄上:

     sudo mount /dev/examplegroup1/lvexample1 /mnt1
  4. 編輯 /etc/fstab 檔案中的掛載選項,讓新的掛載在重新開機後仍然存在:

    /dev/examplegroup1/lvexample1 /mnt1   xfs     defaults,nofail   0   0

    **注意:**將 xfs 替換為您的檔案系統類型。

擴充 LV

若要擴充 LV,請增加現有 EBS 磁碟區的大小,或將 EBS 磁碟區新增至磁碟區群組。

增加現有 EBS 磁碟區的大小

注意:增加現有磁碟區的大小時,在磁碟區進入正在最佳化狀態後,大小變更通常會在數秒內生效。如果磁碟區處於正在最佳化狀態,則磁碟區的效能會介於來源與目標組態規格之間。視您的磁碟區類型而定,效能變更可能需要幾分鐘到幾小時才能生效。如需詳細資訊,請參閱監控 Amazon EBS 磁碟區修改進度

若要增加現有 EBS 磁碟區的大小,請完成下列步驟:

  1. 修改現有 EBS 磁碟區的大小

  2. 安裝 growpart 公用程式:

    sudo yum install cloud-utils-growpart -y

    **注意:**若要在 Debian 或 Ubuntu 型系統上安裝 growpart 公用程式,請執行下列命令:

    sudo apt install -y cloud-guest-utils
  3. 執行 growpart 命令以擴充該分割區。在下列範例中,** /dev/xvdh1** 分割區已受到擴充:

    sudo growpart /dev/xvdh1    

    範例輸出結果:

    CHANGED: disk=/dev/xvdh partition=1: start=2048 old: size=20971519,end=16777182 new: size=41940958,end=41943006
  4. 執行 pvresize 命令以調整 PV 的大小:

    sudo pvresize /dev/xvdh1   

    範例輸出結果:

    Physical volume "/dev/xvdh1" changed
    1 physical volume(s) resized or updated / 0 physical volume(s) not resized
  5. 執行 pvspvdisplay 命令以查看 PV 詳細資料:

    sudo pvs

    範例輸出結果:

    PV         VG            Fmt  Attr PSize   PFree
    /dev/xvdh1 examplegroup1 lvm2 a--  <20.00g <13.00g
  6. 執行 vgsvgdisplay 命令來檢視磁碟區群組詳細資料:

    sudo vgs  

    範例輸出結果:

    VG            #PV #LV #SN Attr   VSize   VFree
    examplegroup1   1   1   0 wz--n- <20.00g <13.00g
  7. 執行 lvextend 命令來擴充 LV:

    sudo lvextend -L 19G /dev/examplegroup1/lvexample1
  8. 執行 lvslvdisplay 命令以檢閱 LV 詳細資料:

     sudo lvs  

    範例輸出結果:

    LV          VG             Attr       LSize  Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert
    lvexample1  examplegroup1  -wi-a----- 19.00g
  9. 請執行下列其中一個命令以擴充檔案系統。
    Ext2Ext3Ext4 檔案系統:

    sudo resize2fs /dev/examplegroup1/lvexample1

    XFS 檔案系統:

    sudo xfs_growfs /dev/examplegroup1/lvexample1

將 EBS 磁碟區新增至磁碟區群組

請完成下列步驟:

  1. 建立另一個 10 GB 的 EBS 磁碟區,然後將該磁碟區附加至執行個體。

  2. /dev/xvdi 裝置上建立分割區。

  3. 執行 pvcreate 命令以建立一個 PV。在下列範例中,磁碟區的區塊型儲存設備名稱為 /dev/xvdi1

    sudo pvcreate /dev/xvdi1

    範例輸出結果:

    Physical volume "/dev/xvdi1" successfully created.
  4. 使用 vgextend 命令來擴充磁碟區群組並新增磁碟區。下列範例會擴充 examplegroup1 磁碟區群組,以包含 /dev/xvdi1 磁碟區:

    sudo vgextend examplegroup1 /dev/xvdi1

    範例輸出結果:

    Volume group "examplegroup2" successfully extended
  5. 請執行 vgsvgdisplay 命令以確認擴充結果:

     sudo vgs  

    下列範例輸出顯示 examplegroup1 磁碟區群組中現在有兩個 PV:

                           #PV #LV #SN Attr   VSize   VFree
    examplegroup1           2   1   0 wz--n-  29.99g   20.99g
  6. 執行 lvextend 命令來擴充 LV:

    sudo lvextend -L 29G /dev/examplegroup1/lvexample1
  7. 請執行下列其中一個命令以擴充檔案系統。
    Ext2Ext3Ext4 檔案系統:

    sudo resize2fs /dev/examplegroup1/lvexample1

    XFS 檔案系統:

    sudo xfs_growfs /dev/examplegroup1/lvexample1
AWS 官方已更新 5 個月前