Criando e montando um disco usando cloud-init após a instalação de um servidor

Criando e montando um disco usando cloud-init após a instalação de um servidor

É realmente possível executar o cloud-init para criar um disco após a criação da própria VM?

Tenho uma VM criada em uma plataforma VMware. Atualmente o cloud-init não está habilitado na GUI para criação de VMs. Estou tentando anexar um disco recém-criado. Isso aparece como sdb, mas não está formatado ou montado.

Posso criar o disco manualmente usando:

fdisk /dev/sdb
mkfs -t ext4 /dev/sdb1
mount /dev/sdb1 /data

mas obviamente isso me deixa com uma instalação não reproduzível e prefiro que esse material seja definido no arquivo cloud-init.

Eu tentei incluir isso no arquivo 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']

em seguida, execute-o usando

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

que eu entendo que executará o cloud-init como se tivesse sido instanciado na primeira instalação de inicialização. Confirmei que o arquivo está sendo executado enquanto testei adicionando uma seção write_files para gravar um arquivo de teste com êxito.

No entanto, esta criação de disco parece não ter efeito.

(Eu realmente preciso incluir o disco pré-existente ou é suficiente mostrar apenas adições em disk_setupe fs_setup?)

informação relacionada