18.5.3. 在存储设备上启用多队列
当在虚拟机(VM)中使用 virtio-blk 或 virtio-scsi 存储设备时,多队列 功能提供改进的存储性能和可扩展性。它允许每个虚拟 CPU(vCPU)使用单独的队列和中断,而不影响其他 vCPU。
默认情况下,Q35 机器类型启用了 multi-queue 功能,但在 i440fx 机器类型中,您必须手动启用它。您可以调整您的工作负载的最佳队列数量,但每种类型的工作负载的最佳数量有所不同,您必须测试哪些队列数量最适合您的工作负载。
流程
要在存储设备上启用
多队列,请编辑虚拟机的 XML 配置。# virsh edit <example_vm>在 XML 配置中,找到预期的存储设备,并将
queues参数改为使用多个 I/O 队列。将 N 替换为虚拟机中的 vCPU 数,最多为 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>
- 重启虚拟机以使更改生效。