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#qemuコマンド

関連情報