如何在 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
,这应该也可以。
调整磁盘大小后,根分区没有占用更多 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
,这应该也可以。