¿Es realmente posible ejecutar cloud-init para crear un disco después de que se haya creado la VM?
Tengo una VM creada en una plataforma VMware. Actualmente, cloud-init no está habilitado en la GUI para crear máquinas virtuales. Estoy intentando adjuntar un disco recién creado. Esto aparece como sdb pero no está formateado ni montado.
Puedo crear el disco manualmente usando:
fdisk /dev/sdb
mkfs -t ext4 /dev/sdb1
mount /dev/sdb1 /data
pero obviamente esto me deja con una instalación no reproducible, y preferiría que estas cosas estuvieran definidas en el archivo cloud-init.
Intenté incluir esto en el archivo 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']
luego ejecutándolo 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, según tengo entendido, ejecutará cloud-init como si se creara una instancia en la primera instalación de arranque. Confirmé que el archivo se está ejecutando mientras lo probé agregando una sección write_files para escribir un archivo de prueba exitosamente.
Sin embargo, la creación de este disco parece no surtir efecto.
(¿Realmente necesito incluir el disco preexistente o es suficiente mostrar solo las adiciones en disk_setup
y fs_setup
?)