总结:尝试resize2fs /media/root/dev/sdc
进入 CoreOS Toolbox 容器失败,消息open: Operation not permitted while opening /media/root/dev/sdc
。可能是权限问题,我如何获得权限?
我已经调整了谷歌云计算引擎的大小区域标准永久性磁盘从 20GB 增加到 50GB。我将磁盘连接到正在运行的 VM 实例以进行查看。df -h
安装磁盘后,文件系统上没有显示更改,但设备上有显示lsblk
。
据我了解,该磁盘有一个没有分区的文件系统。我主要根据lsblk
设备没有分区这一事实得出这一结论,我理解单一文件系统磁盘是 gcp 上的惯例
现在我开始尝试按照以下步骤调整文件系统的大小这些文档来自 Google。然而,这并不是那么简单,因为我可以访问的虚拟机似乎基于容器优化操作系统,因此没有附带所需的工具或包管理器。因此,我必须使用 CoreOS Toolbox,如果我理解正确的话,它会运行 Docker 容器systemd-nspawn
。这使我能够访问包管理器和我需要的工具。
Toolbox 将主机 fs 的根目录挂载到/media/root
,因此我可以轻松访问设备。但是,当我尝试resize2fs /media/root/dev/sdc
按照上述指南使用时,我收到了 TL;DR 中提到的错误消息。我尝试chmod 666
在 VM 和 Toolbox 内使用该设备,它可以工作,但不能解决 的问题resize2fs
。我还尝试以 root 身份运行 toolbox,尽管我认为这不会有太大作用。但事实并非如此。在尝试任何这些操作之前,我还卸载了磁盘。
我想到的一个解决方案是运行具有更强大的操作系统映像的虚拟机,这样我既可以“直接”访问设备,也可以直接访问工具。但我坚持使用手头的工具来解决这个问题,因为这在生产中更可行,而且我相信这是可能的。
答案1
您可以按照提供的文档[1],按照有关在 Core OS 中安装和格式化磁盘的说明进行操作。
[1]https://cloud.google.com/container-optimized-os/docs/concepts/disks-and-filesystem