在创建虚拟机本身后,是否实际上可以运行 cloud-init 来创建磁盘?
我在 VMware 平台上创建了一个虚拟机。目前,用于创建虚拟机的 GUI 上未启用 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
)