根据谷歌文档:
如果您创建或调整根持久磁盘的大小或者从映像或快照创建磁盘,您的虚拟机实例可以自动调整大小分区识别额外的空间后重启实例。
只要它是受支持的操作系统之一
CentOS 6 & CentOS 7
v20160418 or newer Yes.
These images will automatically resize root partitions up to 2 TB. Even if
the disk is larger than 2 TB, the operating system only recognizes up to 2
TB.
源图像:centos-7-v20170523
但是,/dev/sda1 似乎没有重新分区来使用额外的空间。
[redacted@redacted ~]$ sudo lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 30G 0 disk
└─sda1 8:1 0 10G 0 part /
[redacted@redacted ~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda1 10G 8.0G 2.0G 81% /
devtmpfs 3.7G 0 3.7G 0% /dev
tmpfs 3.7G 0 3.7G 0% /dev/shm
tmpfs 3.7G 8.3M 3.7G 1% /run
tmpfs 3.7G 0 3.7G 0% /sys/fs/cgroup
tmpfs 749M 0 749M 0% /run/user/1000
我尝试重新启动实例几次,并增加其大小(最初为 25,但增加到 30 以尝试重新分区)
我尝试在磁盘上使用 xfs_growfs,但没有成功
[redacted@redacted ~]# xfs_growfs /dev/sda1 -D 7864320
meta-data=/dev/sda1 isize=256 agcount=4, agsize=655296 blks
= sectsz=4096 attr=2, projid32bit=1
= crc=0 finobt=0 spinodes=0
data = bsize=4096 blocks=2621184, imaxpct=25
= sunit=0 swidth=0 blks
naming =version 2 bsize=4096 ascii-ci=0 ftype=0
log =internal bsize=4096 blocks=2560, version=2
= sectsz=4096 sunit=1 blks, lazy-count=1
realtime =none extsz=4096 blocks=0, rtextents=0
data size 7864320 too large, maximum is 2621184
我有点困惑为什么这不起作用。唯一的其他选择可能是将其附加到另一个实例,然后在那里调整分区大小,但我希望以这种方式使其工作,因为上述方法需要做更多的工作,并且更容易出错。
答案1
感谢@Faizan。
expand-root.service 已被禁用,只需启用即可
sudo systemctl enable expand-root