17.5.3. ストレージデバイスでの multi-queue の有効化
仮想マシン (VM) で virtio-blk または virtio-scsi ストレージデバイスを使用する場合、multi-queue 機能を使用することで、ストレージのパフォーマンスとスケーラビリティーを向上させることができます。multi-queue を使用すると、各仮想 CPU(vCPU) は、他の仮想 CPU に影響を与えることなく使用できる個別のキューと割り込みを持つことができます。
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>
- 仮想マシンを再起動して変更を有効にします。