Возможно ли на самом деле запустить cloud-init для создания диска после создания самой виртуальной машины?
У меня есть виртуальная машина, созданная на платформе VMware. В настоящее время cloud-init не включен в GUI для создания виртуальных машин. Я пытаюсь подключить недавно созданный диск. Он отображается как sdb, но не отформатирован и не смонтирован.
Я могу создать диск вручную с помощью:
fdisk /dev/sdb
mkfs -t ext4 /dev/sdb1
mount /dev/sdb1 /data
но очевидно, что это оставляет меня с невоспроизводимой установкой, и я бы предпочел, чтобы эта штука была определена в файле cloud-init.
Я попробовал включить это в файл cloud-init:
# Disk
resize_rootfs: false
disk_setup:
# /dev/sda:
# table_type: 'mbr'
# layout: true
# overwrite: false
/dev/sdb:
table_type: 'mbr'
layout: true
overwrite: false
fs_setup:
# - label: root_fs
# filesystem: 'ext4'
# device: /dev/sda
# partition: auto
# overwrite: false
- label: data1
filesystem: 'ext4'
device: /dev/sdb
partition: auto
overwrite: false
mounts:
- ['/dev/sdb1', '/data']
затем запустить его с помощью
sudo DI_LOG=stderr /usr/lib/cloud-init/ds-identify --force
sudo cloud-init clean --logs
sudo cloud-init init --local
sudo cloud-init init
который, как я понимаю, запустит cloud-init, как если бы он был создан при первой загрузке установки. Я подтвердил, что файл запускается, поскольку я проверил это, добавив раздел write_files для успешной записи тестового файла.
Однако создание этого диска, похоже, не дало результата.
(Мне действительно нужно включать уже существующий диск или достаточно показать только дополнения в disk_setup
и fs_setup
?)