如何在oVirt创建虚拟机时自定义属性
问题现象描述
创建新的虚拟机时想要自定义属性qemu:commandline,但是自定义的属性不在关键字列表内。是否有办法解决此问题。
关键过程、根本原因分析
由于oVirt虚拟机的XML配置不支持手动修改,针对多样的虚拟机配置,oVirt提供了自定义属性的功能来支持这些配置。官方内置的自定义属性中没有qemu:commandline,但是提供了vdsm-hook-qemucmdline扩展包支持,需要自行安装配置。
结论、解决方案及效果

- 安装扩展包。
1
yum install vdsm-hook-qemucmdline.noarch
- 添加自定义属性配置。
1
engine-config -s "UserDefinedVMProperties=qemu_cmdline=^.*$" --cver=4.4
- 重启ovirt-engine服务。
1
service ovirt-engine restart
使用示例如下所示。
- 打开oVirt Web管理页面,在“编辑虚拟机”的“自定义属性”中选择“qemu_cmdline”,填写如下格式:
["-chardev","socket,path=/tmp/vm_sock0,server=on,wait=off,id=vm_sock","-device","virtio-serial","-device","virtserialport,chardev=vm_sock,name=serialport0"]
- 虚拟机创建完并启动后,使用virsh dumpxml命令查看虚拟机配置,可以看到添加的qemu_cmdline效果如下:
<qemu:commandline> <qemu:arg value='-chardev'/> <qemu:arg value='socket,path=/tmp/vm_sock0,server=on,wait=off,id=vm_sock'/> <qemu:arg value='-device'/> <qemu:arg value='virtio-serial'/> <qemu:arg value='-device'/> <qemu:arg value='virtserialport,chardev=vm_sock,name=serialport0'/> </qemu:commandline>
父主题: oVirt