我尝试使用 virt-install 命令实例化一个虚拟机,并根据需要使用一些接口。具体命令如下:
virt-install \
--name VM \
--noautoconsole \
--input keyboard \
--os-variant rhel7.0 \
--memory 8192 \
--vcpus 4 \
--boot hd \
--sound none \
--disk "vol=default,boot_order=1,bus=sata" \
--disk sda6 \
--network bridge=eth0
此后,我立即尝试使用virsh attach-interface
以下命令连接一个接口:
virsh attach-interface --domain VM --type direct --source eth1 --model virtio
我对 VM 的 XML 配置很满意,因为接口显示正确。
$ virsh domiflist VM
Interface Type Source Model MAC
-------------------------------------------------------
vnet16 bridge eth0 virtio 52:54:00:e9:d5:4c
macvtap0 direct eth1 virtio 52:54:00:70:be:74
但是,当virsh shutdown
发出命令并随后启动虚拟机时,不知何故附加的接口未显示在 XML 中。我只剩下 eth0 接口。不确定 eth1 是如何/为何消失的。
$ virsh domiflist VM
Interface Type Source Model MAC
-------------------------------------------------------
vnet16 bridge eth0 virtio 52:54:00:e9:d5:4c
请让我知道可以做些什么来避免这种情况,以便接口能够像虚拟机关闭之前一样保留原样。
答案1
您应该尝试相同的操作,但添加 --config 标志:
virsh attach-interface --domain VM --type direct --source eth1 --model virtio --config
重启后该功能仍可继续使用。