Linux

Google Compute Engine 未在啟動時調整磁碟大小

  • August 24, 2017

根據Google的文件

如果您創建根永久磁碟或調整其大小或從映像或快照創建磁碟,則您的虛擬機實例可以在您**重新啟動實例後**自動調整**分區大小以辨識額外空間。

只要它是受支持的作業系統之一

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

我對為什麼這不起作用感到有些困惑。唯一的其他選擇可能是將磁碟附加到另一個實例,然後在那裡調整分區表格的大小,但是我想讓它以這種方式工作,因為上述方法會做更多的工作,並且更容易錯誤。

感謝@Faizan。

expand-root.service 已禁用,只需啟用即可

sudo systemctl enable expand-root

引用自:https://serverfault.com/questions/868033