15.6.3. ストレージデバイスでの multi-queue の有効化
仮想マシン (VM) で virtio-blk または virtio-scsi ストレージデバイスを使用する場合、multi-queue 機能によりストレージパフォーマンスとスケーラビリティーが向上します。このため、各仮想 CPU (vCPU) に別のキューを持たせることが可能になります。また仮想 CPU は、その他の vCPU に影響を及ぼすことなく使用するために、割り込みできるようになります。
multi-queue 機能は Q35 マシンタイプではデフォルトで有効になっていますが、i440FX マシンタイプでは手動で有効にする必要があります。キューの数をワークロードに最適になるように調整できます。ただし、最適な数はワークロードの種類ごとに異なるため、どのキュー数が最適かをテストする必要があります。
手順
ストレージデバイスで
multi-queueを有効にするために、仮想マシンの XML 設定を編集します。# virsh edit <example_vm>XML 設定で、目的のストレージデバイスを見つけて、複数の I/O キューを使用するように
queuesパラメーターを変更します。N を仮想マシン内の仮想 CPU の数 (最大 16 個) に置き換えます。virtio-blkの例:<disk type='block' device='disk'> <driver name='qemu' type='raw' queues='N'/> <source dev='/dev/sda'/> <target dev='vda' bus='virtio'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x04' function='0x0'/> </disk>virtio-scsiの例:<controller type='scsi' index='0' model='virtio-scsi'> <driver queues='N' /> </controller>
- 仮想マシンを再起動して変更を有効にします。