我想创build具有肥大networking接口的虚拟机。 这可以通过先使用virt-install创build一个guest virt-install ,然后修改域XML来实现。
有没有办法从命令行做到这一点? 天真地开始于:
virt-install -w mcast ...
结果是:
ERROR internal error: No <source> 'port' attribute specified with socket interface
上面生成的XML如下所示:
<interface type="mcast"> <mac address="52:54:00:21:ec:7c"/> </interface>
…所以它确实缺less了source元素。 但是,显而易见的解决scheme不起作用:
virt-install -w mcast,source=230.0.0.1:5555
这导致了相同的XML。
有没有一种方法可以从virt-install命令行进行这项工作?
可能有更好的答案,但我已经解决的是:
virt-install -r 512 -n myguest \ --disk vol=default/centos-base.qcow2 --import \ -w user -w mcast,model=virtio --print-xml | awk '{print} /interface.*type="mcast"/ {print "<source address=\"239.0.0.1\" port=\"8000\"/>"}' | virsh create /dev/stdin
以上结果是:
<interface type='mcast'> <source address='239.0.0.1' port='8000'/> <model type='virtio'/> </interface>
虽然通常我会不寒而栗地使用awk来处理XML,在这种情况下libvirt的输出是非常可预测的。