virt-install创建带网络的VM失败:interface元素type属性值无效
虚拟机网络配置错误排查与解决
问题背景
未指定--network选项时可正常创建虚拟机,但自定义网络后直接指定桥接设备创建VM时出现错误。
1. 自定义网络vnet001的XML定义
先通过以下XML定义名为vnet001的网络:
<network> <name>vnet001</name> <forward mode='nat'> <nat> <port start='1024' end='65535'/> </nat> </forward> <bridge name='vb1' stp='on' delay='0' /> <port isolated='no'/> <mac address='22:e4:b7:e4:66:a1'/> <ip address='10.0.0.1' netmask='255.255.255.0'> <dhcp> <range start='10.0.0.2' end='10.0.0.254' /> </dhcp> </ip> </network>
2. 激活自定义网络
执行以下命令定义并启动网络:
sudo virsh net-define vnet001.xml sudo virsh net-start vnet001
3. 错误的虚拟机创建命令
执行以下virt-install命令创建VM时触发报错:
virt-install \ --name vm1 \ --ram=1024 \ --disk path=/opt/disks/vm1.qcow2,size=10,format=qcow2 \ --cdrom /opt/isos/alpine-virt-3.14.0-x86_64.iso \ --os-variant=alpinelinux3.14 \ --noautoconsole \ --network vb1
报错信息:
Starting install... ERROR XML error: Invalid value for attribute 'type' in element 'interface': 'vb1'. Domain installation does not appear to have been successful. If it was, you can restart your domain by running: virsh --connect qemu:///session start vm1 otherwise, please restart your installation.
4. 解决方法
使用sudo执行virt-install,并通过network=<网络名称>指定自定义网络,而非直接使用桥接设备名:
先确认网络状态:
sudo virsh net-list --all
输出示例:
Name State Autostart Persistent ---------------------------------------------- default inactive no yes vnet001 active no yes
正确的虚拟机创建命令:
sudo virt-install \ --name vm1 \ --ram=1024 \ --disk path=/opt/disks/vm1.qcow2,size=10,format=qcow2 \ --cdrom /opt/isos/alpine-virt-3.14.0-x86_64.iso \ --os-variant=alpinelinux3.14 \ --noautoconsole \ --network network=vnet001
内容的提问来源于stack exchange,提问作者Jakkins
相关产品推荐
相关产品推荐

