在 EC2 執行個體上增加 EBS 磁碟區後,如何擴展 Linux 檔案系統?

2 分的閱讀內容
0

我增加了 Amazon Elastic Block Store (Amazon EBS) 磁碟區的大小,但我的檔案系統不會使用完整磁碟區。

解決方法

將磁碟區擴展至更大後,必須調整檔案系統大小,才可充分利用更大的磁碟區。您可以在檔案系統處於正在最佳化狀態時盡快調整大小。

**注意:**下列步驟僅適用於使用整個磁碟裝置的檔案系統。您無法使用這些步驟來增加分割區、根檔案系統、RAID 裝置Logical Volume Manager (LVM) 上的檔案系統。

下列範例擴展 8 GB ext4 檔案系統以完全利用 16 GB 磁碟區。此檔案系統位於 Amazon Elastic Compute Cloud (Amazon EC2) 執行個體上。

1.    在變更磁碟區或檔案系統之前,建立磁碟區的快照。如需詳細資訊,請參閱建立 Amazon EBS 快照

2.    使用 SSH 連接至執行個體。如需詳細資訊,請參閱連接至 Linux 執行個體

3.    執行 df -h 命令以顯示檔案系統使用的大小和百分比。

範例輸出:

ubuntu@ip-172-31-32-114:~$ df -h
Filesystem      Size  Used Avail Use% Mounted on
/dev/xvda1      7.7G  7.7G     0 100% /
/dev/xvdf       7.9G  7.1G  370M  96% /home/ubuntu/test

在上面的範例輸出中,/dev/xvdf 檔案系統大小為 7.9 G,且已滿 96%。在 Nitro 執行個體上,磁碟裝置的名稱為 /dev/nvmeXn1,分割區名稱為 /dev/nvmeXn1pY。在檔案系統名稱中,X 用於識別磁碟,Y 用於識別分割區。

4.    執行 lsblk 命令以顯示 xvdf 磁碟區的大小。

範例輸出:

ubuntu@ip-172-31-32-114:~$ lsblk
NAME    MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
xvda    202:0    0    8G  0 disk
└─xvda1 202:1    0    8G  0 part /
xvdf    202:80   0   16G  0 disk /home/ubuntu/test

在上面的範例輸出中,xvdf 磁碟區的大小為 16 G

5.    如果磁碟區中有包含檔案系統的分割區,則在擴展檔案系統之前](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/recognize-expanded-volume-linux.html#extend-file-system)調整該分割區的大小[。

6.    執行 resize2fs 命令以自動將 /dev/xvdf 檔案系統的大小擴展到磁碟區上的整個空間。您必須使用從 df-h 命令取得的裝置名稱。

範例輸出:

ubuntu@ip-172-31-32-114:~$ sudo resize2fs /dev/xvdf

在上面的範例輸出中,磁碟區使用 ext4 檔案系統。視您的檔案系統而定,您可能需要使用不同的公用程式。如果您收到 "resize2fs: Device or resource busy while trying to open /dev/xvdf" 錯誤,則表示您正在對磁盤分割區調整大小。

**注意:**您只能對 ext3 和 ext4 檔案系統執行 resize2fs 命令。

7.    重新執行 df-h 命令。

範例輸出:

ubuntu@ip-172-31-32-114:~$ df -h
Filesystem      Size  Used Avail Use% Mounted on
/dev/xvda1      7.7G  7.7G     0 100% /
/dev/xvdf        16G  7.1G  8.0G  48% /home/ubuntu/test

在上面的範例輸出中,/dev/xvdf 檔案系統現在大小為 16 G,並且已滿 48%

相關資訊

檢視有關 Amazon EBS 磁碟區的資訊

讓 Amazon EBS 磁碟區可在 Linux 上使用

調整磁碟區大小後擴展 Windows 檔案系統

AWS 官方
AWS 官方已更新 7 個月前