Создание и монтирование диска с помощью cloud-init после установки сервера

Создание и монтирование диска с помощью cloud-init после установки сервера

Возможно ли на самом деле запустить 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?)

Связанный контент