Назад | Перейти на главную страницу

Как получить права на изменение размера файловой системы облака Google в контейнере CoreOS Toolbox (nspawn / docker)?

TL; DR: Пытаясь resize2fs /media/root/dev/sdc в контейнере CoreOS Toolbox происходит сбой, сообщение open: Operation not permitted while opening /media/root/dev/sdc. Возможно проблема с привилегиями, как мне получить привилегии?


Я изменил размер облачного вычислителя Google зональный стандартный постоянный диск от 20 ГБ до 50 ГБ. Я подключил диск к работающему экземпляру виртуальной машины, чтобы осмотреться. Изменение не отображается в файловой системе при использовании df -h после установки диска, но на устройстве, использующем lsblk.

Насколько я понял, на диске одна файловая система без разделов. Я основывал это в основном на том факте, что lsblk не показывает разделы для устройства, и я понял, что диски с одной файловой системой - это соглашение о gcp

Теперь я начал пытаться изменить размер файловой системы, следуя эти документы от Google. Однако это было не так просто, потому что доступные мне виртуальные машины, похоже, основаны на ОС, оптимизированной для контейнеров, и поэтому не поставляются с необходимыми инструментами или диспетчером пакетов. Поэтому я должен использовать CoreOS Toolbox, который, если я правильно понял, запускает контейнер Docker с systemd-nspawn. Это дает мне доступ к диспетчеру пакетов и необходимым мне инструментам.

Toolbox монтирует корень fs хоста в /media/root, поэтому я легко могу получить доступ к устройствам. Однако когда я попытался использовать resize2fs /media/root/dev/sdc согласно вышеупомянутому руководству я получаю сообщение об ошибке, упомянутое в TL; DR. Я пытался chmod 666 устройство внутри виртуальной машины и Toolbox, и оно работает, но не решает проблему с resize2fs. Я также пробовал запускать Toolbox как root, хотя предполагал, что это не поможет. Это не так. Я также размонтировал диск перед тем, как попробовать что-либо из этого.

Одно из решений, которое я придумал, - запустить виртуальную машину с более надежным образом ОС, чтобы у меня был как «прямой» доступ к устройству, так и прямой доступ к инструментам. Я непреклонен в том, чтобы решить эту проблему с помощью имеющихся инструментов, потому что это более жизнеспособно в производственной среде, и я считаю, что это возможно.

Вы можете следовать инструкциям по монтированию и форматированию дисков в Core OS, следуя предоставленной документации [1].

[1]https://cloud.google.com/container-optimized-os/docs/concepts/disks-and-filesystem

mount_and_formatting_disks