調整卷大小後擴展 Linux 文件系統
在增加 EBS 卷的大小後,您必須使用特定於文件系統的命令來將文件系統擴展到較大大小。一旦捲進入 optimizing
狀態,您即可調整文件系統的大小。
重要
在擴展包含有用數據的文件系統之前,最佳實踐是創建卷的快照(如果您需要回滾您的更改)。有關更多信息,請參閱創建 Amazon EBS 快照。如果您的 Linux AMI 使用 MBR 分區方案,您的引導卷大小限制爲最高 2 TiB。有關更多信息,請參閱 針對 Linux 卷的要求和針對 EBS 卷的大小和配置的限制。
有關擴展 Windows 文件系統的信息,請參閱 Amazon EC2 用戶指南(適用於 Windows 實例) 中的調整卷大小後擴展 Windows 文件系統。
對於以下任務,假設您將實例的引導卷的大小從 8 GB 調整爲 16 GB,並將一個額外卷的大小從 8 GB 調整爲 30 GB。
任務
標識卷的文件系統
要驗證文件系統是否用於您實例上的每個卷,請連接到您的實例並運行 file -s 命令。
示例:基於 Nitro 系統構建的實例上的文件系統
以下示例顯示了一個基於 Nitro 系統構建的實例,該實例具有帶 XFS 文件系統的引導卷和帶 XFS 文件系統的額外卷。
[ec2-user ~]$ sudo file -s /dev/nvme?n*
/dev/nvme0n1: x86 boot sector ...
/dev/nvme0n1p1: SGI XFS filesystem data ...
/dev/nvme0n1p128: data
/dev/nvme1n1: SGI XFS filesystem data ...
示例:T2 實例上的文件系統
以下示例顯示了一個 T2 實例,該實例具有帶 ext4 文件系統的引導卷和帶 XFS 文件系統的額外卷。
[ec2-user ~]$ sudo file -s /dev/xvd*
/dev/xvda: DOS/MBR boot sector ..
/dev/xvda1: Linux rev 1.0 ext4 filesystem data ...
/dev/xvdf: SGI XFS filesystem 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
。當卷的大小爲 30G 時,分區的大小仍爲 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 命令擴展每個捲上的文件系統。在此示例中,/
和 /data
是 df -h 的輸出中顯示的卷掛載點。
[ec2-user ~]$ sudo xfs_growfs -d /
[ec2-user ~]$ sudo xfs_growfs -d /data
您可以再次使用 df -h 命令來驗證每個文件系統是否反映增加的卷大小。
https://docs.aws.amazon.com/zh_cn/AWSEC2/latest/UserGuide/recognize-expanded-volume-linux.html參考:
補充:
1.選擇實例的根設備->點擊進去EBS ID ->
2.選中卷->修改卷
3.修改卷大小->是
4.修改後發現卷的大小(df -h 命令)並沒有變化,調整大小(重要),磁盤已滿100%了
5.帶 XFS 文件系統的額外卷
sudo file -s /dev/xvd*
6.由
要在每個捲上擴展分區,請使用以下 growpart 命令。請注意,設備名稱和分區編號之間有空格。您可以再次使用 lsblk 命令來驗證分區是否反映增加的卷大小。
sudo growpart /dev/xvda 1
7.最後執行,使用 xfs_growfs 命令擴展每個捲上的文件系統,/
和 /data
是 df -h 的輸出中顯示的卷掛載點。
sudo xfs_growfs -d /