QEMU VM с использованием драйверов virtio без поддержки / модуля ядра на хосте?

Я пытался проверить, что моя Win 8.1 VM, работающая в QEMU, получает полную выгоду VirtIO для диска (формат необработанного изображения) и для сетевой карты. Я прочитал эту связанную запись и получил доступ к интерфейсу человеческого монитора QEMU и обнаружил, что он показывает:

bus: virtio-bus type virtio-pci-bus dev: virtio-blk-device, id "" drive = "virtio0" .... bus: virtio-bus type virtio-pci-bus dev: virtio-net-device, id "" 

Это заставляет его использовать VirtIO, а также тот факт, что Диспетчер устройств Windows показывает Red Hat VirtIO SCSI Disk Device и Red Hat VirtIO Ethernet Adapter. Однако, когда я запускаю lsmod на моем Linux-хосте, он не показывает загруженные модули virtio, и когда я проверяю конфигурацию ядра virtio, он не показывает virtio, virtio_net или virtio_blk, встроенные в:

 zcat /proc/config.gz | grep -i virtio CONFIG_NET_9P_VIRTIO=m CONFIG_VIRTIO_BLK=m CONFIG_SCSI_VIRTIO=m CONFIG_VIRTIO_NET=m CONFIG_CAIF_VIRTIO=m CONFIG_VIRTIO_CONSOLE=m CONFIG_HW_RANDOM_VIRTIO=m CONFIG_DRM_VIRTIO_GPU=m CONFIG_VIRTIO=m # Virtio drivers CONFIG_VIRTIO_PCI=m CONFIG_VIRTIO_PCI_LEGACY=y CONFIG_VIRTIO_BALLOON=m CONFIG_VIRTIO_INPUT=m CONFIG_VIRTIO_MMIO=m CONFIG_VIRTIO_MMIO_CMDLINE_DEVICES=y 

Я запускаю свою виртуальную машину с помощью команды:

 qemu-system-x86_64 -enable-kvm -cpu host -smp cores=2,threads=1 -drive file=filename.raw,index=0,media=disk,if=virtio,cache=none,format=raw -net nic,model=virtio,macaddr=xx:xx:xx:xx:xx:xx -net bridge,br=br0 -m 4096 -localtime 

Что мне здесь не хватает? Может быть, он работает через поддержку pci_virtio_legacy, встроенную в ядро? Если это так, было бы быстрее использовать другой вариант, и если я просто должен обязательно загрузить модули virtio, virtio_net и virtio_blk перед началом виртуальной машины?

  • Как обращаться (с LVM или DM (устройство)), когда привод ушел и вернулся в качестве нового блочного устройства
  • Использование virtio на QEMU без KVM
  • Сетевой интерфейс virtio останавливается после пробуждения
  • Нет подключения к сети с драйверами virtio под гостевой WinXP (libvirt / Qemu на хосте Linux)
  • Как объединить отдельные логические тома на один физический диск?
  • сравнение производительности драйверов e1000 и virtio-pci
  • Производительность диска Qemu для Windows 10
  • One Solution collect form web for “QEMU VM с использованием драйверов virtio без поддержки / модуля ядра на хосте?”

    Бэкэнд virtio находится в qemu сам, а не в ядре хоста. qemu берет пакеты из гостевого сетевого драйвера frontio frontend и отправляет их на мостовое устройство, которое вы запросили.

    В ядре хоста вы можете иметь драйверы vhost для оптимизации части бэкэнд-функции, а именно передачи пакетов данных.

    См. Это сообщение в блоге .

    Linux и Unix - лучшая ОС в мире.