Knowledge Center Monthly Newsletter - March 2025
Stay up to date with the latest from the Knowledge Center. See all new and updated Knowledge Center articles published in the last month and re:Post’s top contributors.
如果收到檔案系統上沒有剩餘空間的錯誤,如何增加 EBS 磁碟區的大小?
我想要增加 Amazon Elastic Block Store (Amazon EBS) 磁碟區的大小。但是,我收到我的檔案系統上沒有剩餘空間的錯誤。
簡短描述
在嘗試擴增 EBS 磁碟區上的根分割區或根檔案系統時,您可能會收到儲存設備上沒有剩餘空間的錯誤。若要避免此錯誤,請使用虛擬記憶體中的暫存檔案系統 (tmpfs)。在 /tmp 掛載點下掛載 tmpfs 檔案系統,然後擴增您的根分割區或根檔案系統。
下列範例會顯示根 EBS 磁碟區區塊型儲存設備 (/dev/nvme0n1) 為 9 GiB,而根分割區 (分割區 1) 則已有 8 GiB:
$ lsblkNAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT nvme0n1 259:0 0 9G 0 disk ├─nvme0n1p1 259:1 0 8G 0 part / └─nvme0n1p128 259:2 0 1M 0 part
如果您嘗試增加根分割區 (分割區 1),則您會收到下列其中一項錯誤輸出:
$ sudo growpart /dev/nvme0n1 1/bin/growpart: line 248: /tmp/growpart.fklt5u/dump.out: No space left on device FAILED: failed to dump sfdisk info for /dev/nvme0n1
-或-
$ sudo growpart /dev/nvme0n1 1CHANGED: partition=1 start=4096 old: size=16773087 end=16777183 new: size=18870239 end=18874335 FAILED: failed: sfdisk --list /dev/nvme0n1
**注意事項:**繼續之前,最佳實踐是建立執行個體的 Amazon Machine Image (AMI) 備份。或者,建立連接至執行個體的根 EBS 磁碟區快照。備份可讓您在發生預料之外的問題時復原資料。
解決方案
-
使用 SSH 連線至 Amazon Elastic Compute Cloud (Amazon EC2) Linux 執行個體。
-
使用 df-h 命令驗證 / 下掛載的根分割區是否已滿 (100%)。在下列範例中,/dev/nvme0n1p1 會使用其 100% 的空間:
$ df -hFilesystem Size Used Avail Use% Mounted on devtmpfs 460M 0 475M 0% /dev tmpfs 478M 0 492M 0% /dev/shm tmpfs 478M 432K 492M 1% /run tmpfs 478M 0 492M 0% /sys/fs/cgroup /dev/nvme0n1p1 8.0G 8.0G 664K 100% / tmpfs 96M 0 99M 0% /run/user/1000
若要收集關於已連接的區塊型儲存設備和根 / 掛載點的詳細資訊,請執行下列命令:
$ lsblkNAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT nvme0n1 259:0 0 9G 0 disk ├─nvme0n1p1 259:1 0 8G 0 part / └─nvme0n1p128 259:2 0 1M 0 part $ lsblk -fNAME FSTYPE LABEL UUID MOUNTPOINT nvme0n1 ├─nvme0n1p1 xfs / afcf1342-1d40-41bd-bde9-e4ea5d87e3b6 / └─nvme0n1p128
在此範例輸出中,根 EBS 磁碟區的總空間為 9 GiB。但是,根分割區 (/dev/nvme0n1p1) 或分割區 1 僅為 8 GiB。檔案系統類型為 XFS。
-
若要避免區塊型儲存設備上沒有剩餘空間的錯誤,請將暫存檔案系統 tmpfs 掛載至 /tmp 掛載點。這會建立掛載至 /tmp 的 10 M tmpfs:
$ sudo mount -o size=10M,rw,nodev,nosuid -t tmpfs tmpfs /tmp
-
若要增加根分割區或分割區 1 的大小,請執行 growpart 命令。將 /dev/nvme0n1 取代為您的根分割區:
$ sudo growpart /dev/nvme0n1 1 CHANGED: partition=1 start=4096 old: size=16773087 end=16777183 new: size=18870239 end=18874335
-
若要驗證您是否將分割區的 1 Gib 擴增到 9 GiB,請執行 lsblk 命令:
$ lsblkNAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT nvme0n1 259:0 0 9G 0 disk ├─nvme0n1p1 259:1 0 9G 0 part / └─nvme0n1p128 259:2 0 1M 0 part
-
擴增檔案系統。請參閱步驟 3 以驗證根分割區 / 的檔案系統。在下列範例中,系統即會擴增 XFS 類型的檔案系統:
$ sudo xfs_growfs -d /data blocks changed from 2096635 to 2358779 = sectsz=512 sunit=0 blks, lazy-count=1 log =internal bsize=4096 blocks=2560, version=2 naming =version 2 bsize=4096 ascii-ci=0 ftype=1 = sunit=0 swidth=0 blks data = bsize=4096 blocks=2096635, imaxpct=25 = crc=1 finobt=1 spinodes=0 = sectsz=512 attr=2, projid32bit=1 realtime =none extsz=4096 blocks=0, rtextents=0 meta-data=/dev/nvme0n1p1 isize=512 agcount=4, agsize=524159 blks
在下列範例中,系統即會擴增分割區 1 上的 EXT2/EXT3/EXT4 檔案系統:
$ sudo resize2fs /dev/nvme0n1p1
-
擴增檔案系統之後,請使用 df-h 命令來驗證作業系統是否可以查看額外的空間:
$ df -hFilesystem Size Used Avail Use% Mounted on devtmpfs 960M 0 960M 0% /dev tmpfs 978M 0 978M 0% /dev/shm tmpfs 978M 392K 978M 1% /run tmpfs 978M 0 978M 0% /sys/fs/cgroup /dev/nvme0n1p1 9.0G 8.0G 1022M 89% / tmpfs 196M 0 196M 0% /run/user/1000 tmpfs 10M 0 10M 0% /tmp
-
若要卸載 tmpfs 檔案系統,請執行 unmount 命令:
$ sudo umount /tmp

相關內容
- 已提問 2 年前lg...
- 已提問 5 個月前lg...
- 已提問 22 天前lg...
- AWS 官方已更新 5 年前
- AWS 官方已更新 4 個月前
- AWS 官方已更新 2 年前
- AWS 官方已更新 2 年前