調整磁碟區大小後擴展 Linux 檔案系統 - Amazon Elastic Compute Cloud

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

增加 EBS 磁碟區的大小之後,您必須使用檔案系統的專用命令,來擴展為更大的檔案系統。您可在磁碟區進入 optimizing 狀態後立即調整檔案系統的大小。

重要

最佳實務是在擴展含有寶貴資料的檔案系統之前先建立磁碟區的快照,以免需要還原變更。如需更多詳細資訊,請參閱 建立 Amazon EBS 快照。如果 Linux AMI 使用 MBR 分割配置,您會受限於最大 2 TiB 的開機磁碟機。如需更多詳細資訊,請參閱 Linux 磁碟區的需求EBS 磁碟區的大小與組態限制

如需有關擴展 Windows 檔案系統的詳細資訊,請參閱《Windows 執行個體的 Amazon EC2 使用者指南》中的調整磁碟區大小後擴展 Windows 檔案系統

對於下列任務,假設您已將執行個體的開機磁碟區大小從 8 GB 調整為 16 GB,並將另一個磁碟區從 8 GB 調整為 30 GB。

識別磁碟區的檔案系統

若要驗證執行個體上用於每個磁碟區的作業系統,請連線至您的執行個體,並執行 df -hT 命令。

範例:建置在 Nitro 系統上的執行個體上的檔案系統

以下範例顯示建置在 Nitro 系統上的執行個體,其有一個含 XFS 檔案系統的開機磁碟區,以及另一個含 XFS 檔案系統的磁碟區。

[ec2-user ~]$ df -hT Filesystem Type Size Used Avail Use% Mounted on /dev/nvme0n1p1 xfs 8.0G 1.6G 6.5G 20% / /dev/nvme1n1 xfs 8.0G 33M 8.0G 1% /data ...

範例:T2 執行個體上的檔案系統

以下範例顯示 T2 執行個體,其有一個含 ext4 檔案系統的開機磁碟區,以及另一個含 XFS 檔案系統的磁碟區。

[ec2-user ~]$ df -hT Filesystem Type Size Used Avail Use% Mounted on /dev/xvda1 ext4 8.0G 1.9G 6.2G 24% / /dev/xvdf1 xfs 8.0G 45M 8.0G 1% /data ...

擴展分割區 (如有需要)

您的 EBS 磁碟區可能具有一個包含檔案系統和資料的分割區。增加磁碟區的大小不會增加分割區的大小。在已調整大小的磁碟區上擴展檔案系統之前,請先檢查磁碟區具有的分割區是否必須擴展為新的磁碟區大小。

使用 lsblk 命令來顯示連接到執行個體的區塊型儲存設備的相關資訊。如果已調整大小的磁碟區具有分割區,且分割區未反映新的磁碟區大小,請使用 growpart 命令來擴展分割區。如需擴展 LVM 分割區的相關資訊,請參閱擴展邏輯磁碟區

範例:建置在 Nitro 系統上的執行個體上的分割區

下列範例顯示 Nitro 型執行個體上的磁碟區:

[ec2-user ~]$ lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT nvme1n1 259:0 0 30G 0 disk /data nvme0n1 259:1 0 16G 0 disk └─nvme0n1p1 259:2 0 8G 0 part / └─nvme0n1p128 259:3 0 1M 0 part
  • 根磁碟區 /dev/nvme0n1 具有分割區 /dev/nvme0n1p1。在根磁碟區的大小反映新大小 (16 GB) 時,分割區的大小會反映原始大小 (8 GB),且必須加以擴展,然後您才能擴展檔案系統。

  • 磁碟區 /dev/nvme1n1 沒有分割區。磁碟區的大小反映新大小 (30 GB)。

若要擴展根磁碟區上的分割區,請使用下列 growpart 命令。請注意,裝置名稱與分割區號碼之間有一個空格。

[ec2-user ~]$ sudo growpart /dev/nvme0n1 1

您可以再次使用 lsblk 命令,來驗證分割區是否反映增加的磁碟區大小。

[ec2-user ~]$ lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT nvme1n1 259:0 0 30G 0 disk /data nvme0n1 259:1 0 16G 0 disk └─nvme0n1p1 259:2 0 16G 0 part / └─nvme0n1p128 259:3 0 1M 0 part

範例:T2 執行個體上的分割區

下列範例顯示 T2 執行個體上的磁碟區:

[ec2-user ~]$ lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT xvda 202:0 0 16G 0 disk └─xvda1 202:1 0 8G 0 part / xvdf 202:80 0 30G 0 disk └─xvdf1 202:81 0 8G 0 part /data
  • 根磁碟區 /dev/xvda 具有分割區 /dev/xvda1。在磁碟區的大小為 16 GB 時,分割區的大小仍為 8 GB,且必須加以擴展。

  • 磁碟區 /dev/xvdf 具有分割區 /dev/xvdf1。在磁碟區的大小為 30 GB 時,分割區的大小仍為 8 GB,且必須加以擴展。

若要擴展每個磁碟區上的分割區,請使用下列 growpart 命令。請注意,裝置名稱與分割區號碼之間有一個空格。

[ec2-user ~]$ sudo growpart /dev/xvda 1 [ec2-user ~]$ sudo growpart /dev/xvdf 1

您可以再次使用 lsblk 命令,來驗證分割區是否反映增加的磁碟區大小。

[ec2-user ~]$ lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT xvda 202:0 0 16G 0 disk └─xvda1 202:1 0 16G 0 part / xvdf 202:80 0 30G 0 disk └─xvdf1 202:81 0 30G 0 part /data

擴展檔案系統

使用檔案系統專用命令將每個檔案系統大小調整為新的磁碟區容量。若檔案系統不是這裡顯示的範例,請參閱此檔案系統的文件以取得指示。

範例:擴展 ext2、ext3 或 ext4 檔案系統

使用 df -h 命令來驗證每個磁碟區的檔案系統大小。在此範例中,/dev/xvda1/dev/xvdf 反映磁碟區的原始大小 (8 GB)。

[ec2-user ~]$ df -h Filesystem Size Used Avail Use% Mounted on /dev/xvda1 8.0G 1.9G 6.2G 24% / /dev/xvdf1 8.0G 45M 8.0G 1% /data ...

使用 resize2fs 命令來擴展每個磁碟區上的檔案系統。

[ec2-user ~]$ sudo resize2fs /dev/xvda1 [ec2-user ~]$ sudo resize2fs /dev/xvdf1

您可以再次使用 df -h 命令,來驗證每個檔案系統是否反映增加的磁碟區大小。

[ec2-user ~]$ df -h Filesystem Size Used Avail Use% Mounted on /dev/xvda1 16G 1.9G 14G 12% / /dev/xvdf1 30G 45M 30G 1% /data ...

範例:擴展 XFS 檔案系統

使用 df -h 命令來驗證每個磁碟區的檔案系統大小。在此範例中,每個檔案系統都反映原始磁碟區大小 (8 GB)。

[ec2-user ~]$ df -h Filesystem Size Used Avail Use% Mounted on /dev/nvme0n1p1 8.0G 1.6G 6.5G 20% / /dev/nvme1n1 8.0G 33M 8.0G 1% /data ...

若要擴展 XFS 檔案系統,請安裝 XFS 工具,如下所示 (若尚未安裝的話)。

[ec2-user ~]$ sudo yum install xfsprogs

使用 xfs_growfs 命令來擴展每個磁碟區上的檔案系統。在此範例中,//datadf -h 輸出中顯示的磁碟區裝載點。

[ec2-user ~]$ sudo xfs_growfs -d / [ec2-user ~]$ sudo xfs_growfs -d /data

您可以再次使用 df -h 命令,來驗證每個檔案系統是否反映增加的磁碟區大小。

[ec2-user ~]$ df -h Filesystem Size Used Avail Use% Mounted on /dev/nvme0n1p1 16G 1.6G 15G 10% / /dev/nvme1n1 30G 33M 30G 1% /data ...