如何在 EBS 磁碟區上建立的分區上建立 LVM 邏輯磁碟區?
如何使用邏輯磁碟區管理員 (LVM) 在 Amazon Elastic Block Store (Amazon EBS) 磁碟區上建立的分區上建立邏輯磁碟區 (LV)?
簡短描述
LVM 可讓您配置磁碟空間,以及分割、重新鏡像和調整邏輯磁碟區的大小。使用 LVM,您可以將 EBS 磁碟區或一組 EBS 磁碟區配置給一或多個實體磁碟區。
若要在 EBS 磁碟區上使用 LVM 並擴充分區,請依照下列步驟執行:
- 從 EBS 磁碟區建立實體磁碟區 (PV)。
- 建立磁碟區群組 (VG),然後將實體磁碟區新增至磁碟區群組。
- 建立邏輯磁碟區 (LV),然後在 LVM 上掛載該目錄。
- 建立並掛載檔案系統。
- 調整邏輯磁碟區的大小。
分辨率
注意:如果您已經在磁碟區上建立 LVM 並將其掛接以供使用,請依照延伸邏輯磁碟區開頭的指示操作。
在 EBS 磁碟區的分區上建立實體磁碟區
LVM 邏輯磁碟區的基礎實體儲存單元是區塊裝置,例如 EBS 磁碟區的分區或整個 EBS 磁碟區。
注意:Nitro-based 執行個體將磁碟區公開為 NVMe 裝置。區塊裝置名稱遵循模式 /dev/nvme1n1、/dev/nvme2n1、/dev/nvme3n1,依此類推。如果您使用的是 Nitro-based 執行個體,請使用適當的裝置名稱取代下列步驟中的裝置名稱。如需有關裝置命名的詳細資訊,請參閱 Linux 執行個體上的裝置名稱。
1. 開啟Amazon Elastic Compute Cloud (Amazon EC2) 主控台。
2. 建立 EBS 磁碟區,然後將磁碟區連接至執行個體。
3. 使用** gdisk** 指令建立分區。對於變數的十六進位代碼或 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.
使用 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
4. 使用 pvcreate 指令從分區建立實體磁碟區。下列範例會從 /dev/xvdh1 建立實體磁碟區:
$ sudo pvcreate /dev/xvdh1 Physical volume "/dev/xvdh1" successfully created.
建立磁碟區群組並將實體磁碟區新增至磁碟區群組
使用 vgcreate 指令建立磁碟區群組,以合併新的實體磁碟區。下列範例使用一個實體磁碟區來建立磁碟區群組 examplegroup1:
$ sudo vgcreate examplegroup1 /dev/xvdh1 Volume group "examplegroup1" successfully created
使用 vgs 或 vgdisplay 來檢視磁碟區群組詳細資訊:
$ sudo vgs VG #PV #LV #SN Attr VSize VFree examplegroup1 1 0 0 wz--n- <10.00g <10.00g
建立邏輯磁碟區 (LV) 和掛載目錄
1. 使用 lvcreate 指令從您的磁碟區群組建立邏輯磁碟區 (分區)。下列範例會從 examplegroup1 磁碟區群組建立一個 9GB 邏輯磁碟區 lvexample1:
$ sudo lvcreate -n lvexample1 -L 9G examplegroup1 Logical volume "lvexample1" created
使用 lvs 或 lvdisplay 指令來檢視邏輯磁碟區詳細資訊:
$ sudo lvs LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert lvexample1 examplegroup1 -wi-a----- 9.00g
2. 使用 mkdir 指令建立掛載目錄。下列範例會建立目錄 /mnt1:
$ sudo mkdir /mnt1
建立並掛載檔案系統
1. 使用下列指令建立檔案系統並掛載要使用的分區。
執行 mkfs-t 指令以建立檔案系統。**注意:**如果不同,請以您的檔案系統類型取代 xfs。例如,使用 ext2、EXT3 或 EXT4。
$ sudo mkfs -t xfs /dev/examplegroup1/lvexample1
執行 lsblk-f 指令以確認新檔案系統的建立。**注意:**您在上一個步驟中建立的檔案系統類型會顯示在 FSTYPE 之下。
$ 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
執行 mount 命令,將檔案系統掛載到您在上一個步驟中建立的 mount 目錄上:
$ sudo mount /dev/examplegroup1/lvexample1 /mnt1
2. 編輯 /etc/fstab 檔案中的掛載選項,讓新的掛載在重新開機後仍然存在。
/dev/examplegroup1/lvexample1 /mnt1 xfs defaults,nofail 0 0
**注意:**如果您的檔案系統類型不是 xfs,請以 /etc/fstab 檔案中的類型取代 xfs。
擴充邏輯磁碟區
擴充邏輯磁碟區有兩個選項:
- 選項 1: 增加現有 EBS 磁碟區的大小。
- 選項 2: 將其他 EBS 磁碟區新增至您的磁碟區群組。
選項 1: 增加現有 EBS 磁碟區的大小
**注意:**增加現有磁碟區的大小時,磁碟區進入最佳化狀態時,大小變更通常會在數秒內生效。處於最佳化狀態時,磁碟區的效能會受到影響,但不會低於來源組態規格。視您的磁碟區類型而定,效能變更可能需要幾分鐘到幾小時。如需詳細資訊,請參閱監視磁碟區修改進度。
1. 修改現有 EBS 磁碟區的大小。
2. 安裝生長部分實用程序:
$ sudo yum install cloud-utils-growpart
**注意:**使用以下命令在 Debian 或基於 UBUNTU 的系統上安裝成長部分實用程序:
$ sudo apt install -y cloud-guest-utils
3. 執行 growpart 命令來擴充分區,然後執行 pvresize 指令來調整 PV 的大小。在下列範例中,分區 /dev/xvdh1 已延伸:
$ sudo growpart /dev/xvdh 1 CHANGED: disk=/dev/xvdh partition=1: start=2048 old: size=20971519,end=16777182 new: size=41940958,end=41943006 $ sudo pvresize /dev/xvdh1 Physical volume "/dev/xvdh1" changed 1 physical volume(s) resized or updated / 0 physical volume(s) not resized
使用 pvs 或 pvdisplay 來檢視實體磁碟區詳細資訊:
$ sudo pvs PV VG Fmt Attr PSize PFree /dev/xvdh1 examplegroup1 lvm2 a-- <20.00g <13.00g
使用 vgs 或 vgdisplay 來檢視磁碟區群組詳細資訊:
$ sudo vgs VG #PV #LV #SN Attr VSize VFree examplegroup1 1 1 0 wz--n- <20.00g <13.00g
4. 執行 lvextend 指令來擴充邏輯磁碟區:
$ sudo lvextend -L 19G /dev/examplegroup1/lvexample1
使用 lvs 或 lvdisplay 指令來檢視邏輯磁碟區詳細資訊:
$ sudo lvs LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert lvexample1 examplegroup1 -wi-a----- 19.00g
5. 擴展檔案系統:
**注意:**請確定您在 /etc/fstab 項目中輸入正確的檔案系統類型。
Ext2、Ext3 和Ext4 檔案系統:
$ sudo resize2fs /dev/examplegroup1/lvexample1
XFS 檔案系統:
$ sudo yum install x rogs $ sudo xfs_growfs /dev/examplegroup1/lvexample1
選項 2: 將其他 EBS 磁碟區新增至磁碟區群組
1. 建立另一個 10 GB 的 EBS 磁碟區,然後將該磁碟區附加至執行個體。依照 EBS 磁碟區分區上建立實體磁碟區的步驟 3,在裝置 /dev/xvdi 上建立分區_。_然後執行 pvcreate 指令。在下列範例中,磁碟區的區塊裝置名稱為 /dev/xvdi1。
$ sudo pvcreate /dev/xvdi1 Physical volume "/dev/xvdi1" successfully created.
2. 使用 vgextend 指令來擴充磁碟區群組並新增磁碟區。下列範例會將磁碟區群組 examplegroup1 擴充至包含 /dev/xvdi1 的磁碟區:
$ sudo vgextend examplegroup1 /dev/xvdi1 Volume group "examplegroup2" successfully extended
若要確認擴充功能,請執行 vgs 或 vgdisplay 指令。下列範例顯示範例 group1 磁碟區群組中現在有兩個 PV:
$ sudo vgs VG #PV #LV #SN Attr VSize VFree examplegroup1 2 1 0 wz--n- 29.99g 20.99g
3. 執行 lvextend 指令來擴充邏輯磁碟區:
$ sudo lvextend -L 29G /dev/examplegroup1/lvexample1
4. 調整檔案系統大小:
注意: 視您的使用案例而定,請依照 XFS 或 Ext2、Ext3 和 Ext4 檔案系統的步驟執行。
Ext2、Ext3 和Ext4 檔案系統:
$ sudo resize2fs /dev/examplegroup1/lvexample1
XFS 檔案系統:
$ sudo xfs_growfs /dev/examplegroup1/lvexample1
相關資訊
相關內容
- 已提問 3 個月前lg...
- 已提問 9 個月前lg...
- 已提問 1 年前lg...
- 已提問 1 年前lg...
- AWS 官方已更新 1 年前
- AWS 官方已更新 8 個月前
- AWS 官方已更新 10 個月前
- AWS 官方已更新 10 個月前