Erstellen und Mounten einer Festplatte mit Cloud-Init nach der Installation eines Servers

Erstellen und Mounten einer Festplatte mit Cloud-Init nach der Installation eines Servers

Ist es tatsächlich möglich, Cloud-Init auszuführen, um eine Festplatte zu erstellen, nachdem die VM selbst erstellt wurde?

Ich habe eine VM auf einer VMware-Plattform erstellt. Derzeit ist Cloud-Init auf der GUI zum Erstellen von VMs nicht aktiviert. Ich versuche, eine neu erstellte Festplatte anzuschließen. Diese wird als SDB angezeigt, ist aber nicht formatiert oder gemountet.

Ich kann die Festplatte manuell erstellen mit:

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

aber das führt offensichtlich dazu, dass ich eine nicht reproduzierbare Installation habe und ich hätte diese Dinge lieber in der Cloud-Init-Datei definiert.

Ich habe versucht, dies in die Cloud-Init-Datei aufzunehmen:

# 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']

Führen Sie es dann mit

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

was meines Wissens nach Cloud-Init ausführt, als wäre es bei der ersten Boot-Installation instanziiert worden. Ich habe bestätigt, dass die Datei ausgeführt wird, da ich dies getestet habe, indem ich einen Abschnitt write_files hinzugefügt habe, um erfolgreich eine Testdatei zu schreiben.

Allerdings scheint die Datenträgererstellung nicht wirksam zu sein.

(Muss ich tatsächlich die bereits vorhandene Festplatte einschließen oder reicht es, nur Ergänzungen in disk_setupund anzuzeigen fs_setup?)

verwandte Informationen