Libvirt
為什麼我不能用 virsh 保存網路更改?
我正在嘗試將固定地址添加到特定的虛擬主機,因此我關閉了虛擬機並使用了
sudo virsh net-edit somenet
. 添加線後<host mac='52:54:00:26:61:22' name='virt.example.com' ip='192.168.111.111' />
我保存並退出。然後我用相同的命令再次檢查並恢復了以前的狀態,我的更改消失了。
同時,當我查看時
/etc/libvirt/qemu/networks/somenet.xml
,我的更改被應用。如果我再次啟動我的虛擬機,它會從 DHCP 池 (
192.168.111.170
) 中獲取 IP,但不是我上面定義的地址。當我在更改後重新啟動 libvirt-service 時,情況似乎相同:在配置文件中是我的更改,
virsh
我看到 vanilla 狀態和虛擬機獲取錯誤的 IP。這裡有什麼問題?
編輯。在此處添加完整的 XML。這是我在下面看到的conf
/etc
:<network> <name>somenet</name> <uuid>80d85710-23bb-1ab6-79e6-cd65c6739714</uuid> <bridge name='virbr1' stp='on' delay='0' /> <mac address='52:54:00:90:75:1A'/> <domain name='example.com'/> <ip address='192.168.111.1' netmask='255.255.255.0'> <dhcp> <range start='192.168.111.100' end='192.168.111.254' /> <host mac='52:54:00:26:61:22' name='virt.example.com' ip='192.168.111.111' /> </dhcp> </ip> </network>
這是我看到的conf
virsh
:<network> <name>somenet</name> <uuid>80d85710-23bb-1ab6-79e6-cd65c6739714</uuid> <bridge name='virbr1' stp='on' delay='0' /> <mac address='52:54:00:90:75:1A'/> <ip address='192.168.111.1' netmask='255.255.255.0'> <dhcp> <range start='192.168.111.128' end='192.168.111.254' /> </dhcp> </ip> </network>
對網路所做的更改會在下次啟動網路時發生。您需要執行這一系列操作。
virsh net-edit somenet virsh net-destroy somenet virsh net-start somenet
要確認這一點,請參閱virsh net-edit 的功能
請注意,像這樣重新啟動網路將終止使用該網路的任何 VM 的網路連接。當您再次啟動網路時,它們不會重新連接;您必須重新啟動域或使用brctl手動將虛擬機介面移動到新網橋 。
編輯:libvirt wiki描述了這種情況,還指向了一個用於重新建立網路連接的腳本。