假设我有一个名为test
以下配置的虚拟机:
$ virsh dumpxml test
<domain type='kvm' id='42'>
<name>test</name>
<uuid>4b72f3be-41f5-41ec-8149-647ab73d92f7</uuid>
/* output removed for brevity */
<interface type='bridge'>
<mac address='52:54:00:fb:3f:85'/>
<source bridge='br1'/>
<target dev='vnet23'/>
<model type='virtio'/>
<alias name='net1'/>
<address type='pci' domain='0x0000' bus='0x00' slot='0x04' function='0x0'/>
</interface>
<interface type='bridge'>
<mac address='52:54:00:94:7d:c8'/>
<source bridge='br2'/>
<target dev='vnet24'/>
<model type='virtio'/>
<alias name='net2'/>
<address type='pci' domain='0x0000' bus='0x00' slot='0x05' function='0x0'/>
</interface>
/* output removed for brevity */
</devices>
</domain>
$
现在,我编辑配置并将其与virsh edit test
关联而不是。是否可以在不重新启动虚拟机的情况下应用这些更改?显然,一种选择是使用或实用程序手动设置它,但也许也可以使用?vnet24
br3
br2
ip
brctl
virsh
答案1
如果您有 update.xml 文件
<interface type='bridge'>
<mac address='52:54:00:94:7d:c8'/>
<source bridge='br3'/>
<target dev='vnet24'/>
<model type='virtio'/>
<alias name='net2'/>
</interface>
你可以做
sudo virsh update-device test update.xml --persistent
请注意,我<address type='pci' domain='0x0000' bus='0x00' slot='0x05' function='0x0'/>
从 update.xml 中省略了,因为如果由于某种原因我不这样做,我就无法添加 --persistent 标志。 --persistent 标志等于 --live (应用于正在运行的域) --config (影响下次启动)
来源:https://www.libvirt.org/manpages/virsh.html#update-device
还有一个有趣的附加接口命令,它可以让您动态添加新接口(https://www.libvirt.org/manpages/virsh.html#attach-interface)