伺服器安裝後使用cloud-init建立並掛載磁碟

伺服器安裝後使用cloud-init建立並掛載磁碟

在創建虛擬機器本身之後,是否真的可以運行 cloud-init 來建立磁碟?

我有一個在 VMware 平台上建立的虛擬機器。目前 GUI 上未啟用用於建立 VM 的 cloud-init。我正在嘗試附加新建立的磁碟。它顯示為 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?)

相關內容