如果您尝试增加根分区(分区 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
解决方法
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
原文:https://aws.amazon.com/cn/premiumsupport/knowledge-center/ebs-volume-size-increase/?nc1=h_ls