如何在 Google Cloud 中使用 ContainerOs 增加根磁盘分区?

How to increase root disk partition using ContainerOs within Google Cloud?

调整磁盘大小后,根分区没有占用更多 space 可用空间。

当运行

fdisk -l

在远程 VM 上的结果是:

The backup GPT table is not on the end of the device. This problem will be corrected by write.
Disk /dev/sda: 64 GiB, 68719476736 bytes, 134217728 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disklabel type: gpt
Disk identifier: XXXXXX-XXXXX-XXX-XXX-XXXX

Device       Start      End  Sectors  Size Type
/dev/sda1  8704000 67108830 58404831 27.9G Microsoft basic data
/dev/sda2    20480    53247    32768   16M ChromeOS kernel
/dev/sda3  4509696  8703999  4194304    2G ChromeOS root fs
/dev/sda4    53248    86015    32768   16M ChromeOS kernel
/dev/sda5   315392  4509695  4194304    2G ChromeOS root fs
/dev/sda6    16448    16448        1  512B ChromeOS kernel
/dev/sda7    16449    16449        1  512B ChromeOS root fs
/dev/sda8    86016   118783    32768   16M Microsoft basic data
/dev/sda9    16450    16450        1  512B ChromeOS reserved
/dev/sda10   16451    16451        1  512B ChromeOS reserved
/dev/sda11      64    16447    16384    8M BIOS boot
/dev/sda12  249856   315391    65536   32M EFI System

我看到很多答案说我应该使用 growpart 命令,但是这个命令不可用,而且在 containerOS 中似乎无法安装任何东西。 反正我试过 yum、apt、apt-get、rpm 都没有成功。

我在 Google Documentation 中进行了挖掘,但没有找到任何与 ContainerOS 相关的内容

我找到的唯一解决方法是重新启动 VM,但是有没有其他方法不涉及重新启动

Container-Optimized OS 是针对 Compute Engine VM 的操作系统映像,针对 运行 Docker 容器进行了优化。 Container-Optimized OS 由 Google 维护,基于开源 Chromium OS 项目。这解释了为什么您不能使用或安装 growpart。

您可以试试 Chrome OS resizer posted HERE 但我不建议您修改 Google 托管系统,因为它可能会导致其他问题未来

After resizing the disk, root partition did not take more space that is available.

我相信你正在在线调整磁盘大小,对吧?如果是这样,您可以在调整大小后重启 Container-Optimized OS (COS) 机器。重新启动后,文件系统将自动调整大小以修复您的磁盘。在幕后发生的事情是,每次 COS 启动时,resize-stateful-partition.service 都会为你处理这个逻辑。

如果您无法轻松重启 COS 虚拟机,您可以尝试 运行 sudo /usr/share/cloud/resize-stateful,这应该也可以。