在 virsh XML 中为 QEMU qcow2 磁盘设置 L2 缓存

在 virsh XML 中为 QEMU qcow2 磁盘设置 L2 缓存

在 QEMU 命令行中,您可以使用 Virsh XML 不支持此选项为磁盘设置 L2 缓存l2-cache-size=10M
,但它应该能够使用 XML 元素,<qemu:commandline>但我无法让它工作。

我运行良好的 XML 中的磁盘元素:

<disk type='file' device='disk'>
   <driver name='qemu' type='qcow2' cache='none' io='native' disca zrd='unmap'/>
   <source file='/disk1.qcow2'/>
   <target dev='sda' bus='scsi'/>
   <boot order='1'/>
   <address type='drive' controller='0' bus='0' target='0' unit='0'/>
</disk>

我尝试将此驱动器转换为此<qemu:commandline>元素:

<qemu:commandline>
   <qemu:arg value='-device'/>
   <qemu:arg value='scsi-hd,bus=scsi0.0,channel=0,scsi-id=0,lun=0,drive=drive-scsi0-0-0-0,id=scsi0-0-0-0,bootindex=1,write-cache=on'/>
   <qemu:arg value='-drive'/>
   <qemu:arg value='file=/disk1.qcow2,format=qcow2,if=none,id=drive-scsi0-0-0-0,cache=none,discard=unmap,aio=native,l2-cache-size=10M'/>
</qemu:commandline>

当我启动虚拟机时,出现以下错误Block node is read-only

error: Failed to start domain W10_LTSB
error: internal error: process exited while connecting to monitor: 2019-09-08T21:28:46.565810Z qemu-system-x86_64: -drive file=/mnt/970_DATA/VMs/W10_Ent_LTSB_template/disk1.qcow2,format=qcow2,if=none,id=drive-scsi0-0-0-0,cache=none,discard=unmap,aio=native,l2-cache-size=10M: Block node is read-only

答案1

libvirt 不支持 qemu 命令行参数。尝试为域提供 XML 命名空间声明。

<domain type='kvm' xmlns:qemu='http://libvirt.org/schemas/domain/qemu/1.0'>

应该可以工作!

更多关于这个: https://libvirt.org/drvqemu.html#qemucommand

相关内容