Google Compute Engine 在启动时不调整磁盘大小

Google Compute Engine 在启动时不调整磁盘大小

根据谷歌文档

如果您创建或调整根持久磁盘的大小或者从映像或快照创建磁盘,您的虚拟机实例可以自动调整大小分区识别额外的空间后重启实例

只要它是受支持的操作系统之一

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

相关内容