使用 libvirt 或“xl”时如何将 ignition.json 传递给 Xen CoreOS DOMU

使用 libvirt 或“xl”时如何将 ignition.json 传递给 Xen CoreOS DOMU

我有一个带有 Xen 的裸机服务器,并将 Debian 9 作为 DOM0。

该服务器具有 libvirt,我可以轻松地使用 创建 PV 域xlvirsh或者远程使用创建 PV 域virt-manager

我希望简化coreos虚拟机创建,通过在创建时传递点火JSON 以便他们获得正确的名称、网络配置和基本服务。

到目前为止,我已设法通过使用 config-2 分区将 SSH 密钥放入新的 coreos 实例中,但该分区的使用方式coreos-cloudinit已过时,并且网络未配置。我必须进入虚拟机并创建/etc/systemd/network/00-eth*文件并重新启动。

找不到合适的方法让虚拟机的配置在创建时位于 DOM0 上。有什么提示吗?

答案1

我通过在 libvirt-xml-config 文件 virsh、libvirt 3.0.0-4~bpo8+1、CoreOS Stable 1409.7.0、Debian 8.8 和 XEN 4.4.1 中使用以下设置使其工作。

<bootloader>/usr/lib/xen-4.4/bin/pygrub</bootloader>
<os>
  <type arch='x86_64' machine='xenpv'>linux</type>
  <kernel>/coreos/vmlinuz-a</kernel>
  <cmdline>coreos.config.url=http://<YOUR_IP>/coreos01.json coreos.first_boot=1 console=hvc0 root=LABEL=ROOT usr=PARTLABEL=USR-A</cmdline>
</os>

然后使用以下命令创建虚拟机:

virsh define "config.xml"
virsh start "vm-name"

相关内容