我想创建虚拟机桅杆网络接口。首先使用 创建客户机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>
...所以它确实缺少source
元素。但是,显而易见的解决方案不起作用:
virt-install -w mcast,source=230.0.0.1:5555
结果将产生相同的 XML。
有没有办法通过virt-install
命令行完成这个工作?
答案1
可能还有更好的答案,但我确定的是:
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 的输出非常可预测。