Я запускаю виртуальную машину с QEMU / KVM. После изменения размера образа диска qcow2 через
qemu-img resize Test.qcow2 +500M
И глядя на диск экземпляра через:
fdisk -l
внутри экземпляра я вижу следующее предупреждающее сообщение:
GPT PMBR size mismatch (17752063 != 19800063) will be corrected by w(rite).
Я хотел бы написать сценарий, который автоматически изменяет размер раздела, чтобы занять максимальное пространство, доступное после изменения размера диска, а затем изменяет размер файловой системы. Похоже, мне сначала нужно исправить это предыдущее предупреждающее сообщение.
Я успешно исправил это в интерактивном режиме с помощью утилиты parted, но я хотел бы сделать это автоматически, например:
У утилиты parted есть флаг --script, но он здесь не помогает, поскольку, когда эта опция активна, утилита parted просто пропускает исправление и выводит только таблицу разделов.
№ 2. и 3. работают нормально. Как я могу автоматизировать номер 1 (т.е. без запроса какого-либо взаимодействия с конечным пользователем?)
В раздельный (8) man-страница sas, которая разделена, имеет
-s, --script
никогда не запрашивает вмешательство пользователя
параметр командной строки. Я думаю, вы можете использовать его с сценарий содержащие соответствующие команды parted, чтобы делать то, что вы хотите.
Эй, ребята, я нашел способ использовать sgdisk. Из руководства sgdisk:
-e, --move-second-header
Move backup GPT data structures to the end of the disk. Use this option if you've added disks to a RAID array, thus creating a virtual disk with space that follows the backup GPT data structures. This command moves the backup GPT data structures to the end of the disk, where they belong.
Так что мне просто нужно поставить:
sgdisk -e /dev/vda
в моем сценарии bash, и, похоже, он работает, как ожидалось.