如果我收到错误消息,提示我文件系统没有剩余空间,我应该如何提高 EBS 卷的大小?
当我尝试增加 Amazon Elastic Block Store (Amazon EBS) 卷的大小时,我收到一条错误消息,提示我的文件系统没有剩余空间。如何解决此问题?
简短描述
当扩展 EBS 卷上的根分区或根文件系统时,为避免出现设备上没有剩余空间错误,请使用驻留在内存中的临时文件系统 tmpfs。在 /tmp 挂载点下挂载 tmpfs 文件系统,然后再扩展您的根分区或根文件系统。
示例
以下示例显示了根 EBS 卷的块储存设备 /dev/nvme0n1 为 9 GiB,并且根分区(分区 1)已经为 8 GiB。
$ lsblk NAME 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 1 CHANGED: 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 卷的快照,然后再尝试这些解决步骤。创建备份后,即使遇到意外的问题,也可以恢复数据。
解决方法
1. 使用 SSH 连接到 Amazon Elastic Compute Cloud (Amazon EC2) 实例。
2. 使用 df -h 命令验证“/”下挂载的根分区是否已满 (100%)。在以下示例中,/dev/nvme0n1p1 已使用 100% 的空间。
$ df -h Filesystem 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
3. 运行以下命令来收集有关附加的块存储设备以及根“/”挂载点的详细信息。
$ lsblk NAME 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 -f NAME FSTYPE LABEL UUID MOUNTPOINT nvme0n1 ├─nvme0n1p1 xfs / afcf1342-1d40-41bd-bde9-e4ea5d87e3b6 / └─nvme0n1p128
在上述示例的输出中,根 EBS 卷的总空间为 9 GiB,但根分区 (/dev/nvme0n1p1) 或分区1 只有 8 GiB。文件系统类型是 XFS。
4. 为避免块存储设备上没有剩余空间错误,将临时文件系统 tmpfs 挂载到 /tmp 挂载点。这将创建一个 10 M 的 tmpfs,并挂载到 /tmp。
$ sudo mount -o size=10M,rw,nodev,nosuid -t tmpfs tmpfs /tmp
5. 运行 growpart 命令来增加根分区或分区 1 的大小。用您的根分区替换 /dev/nvme0n1。
$ sudo growpart /dev/nvme0n1 1 CHANGED: partition=1 start=4096 old: size=16773087 end=16777183 new: size=18870239 end=18874335
运行 lsblk 命令来验证分区 1 已扩展至 9 GiB。
$ lsblk NAME 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
6. 扩展文件系统。请参阅步骤 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
7. 扩展文件系统后,使用 df -h 命令来验证操作系统是否可以看到额外的空间。
$ df -h Filesystem 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
8. 运行卸载命令来卸载 tmpfs 文件系统。
$ sudo umount /tmp

相关内容
- 已提问 1 个月前lg...
- 已提问 3 个月前lg...
- 已提问 5 个月前lg...
- 已提问 2 天前lg...
- 已提问 2 个月前lg...
- AWS 官方已更新 3 年前
- AWS 官方已更新 5 个月前
- AWS 官方已更新 2 年前
- AWS 官方已更新 9 个月前