在創建虛擬機器本身之後,是否真的可以運行 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
?)