В одном из моих гостевых KVM, когда я набрал следующую команду, я получил следующее
/sbin/lsmod | grep vi
virtio_balloon 3692 0
Значит ли это, что я использую virtio?
Обновить:
Когда я печатаю
cat "/boot/config-`uname -r`" | grep -i vir
я могу видеть
CONFIG_PARAVIRT_GUEST=y
CONFIG_PARAVIRT=y
CONFIG_PARAVIRT_SPINLOCKS=y
CONFIG_PARAVIRT_CLOCK=y
# CONFIG_PARAVIRT_DEBUG is not set
CONFIG_VIRT_TO_BUS=y
CONFIG_NET_9P_VIRTIO=m
CONFIG_VIRTIO_BLK=y
CONFIG_VIRTIO_NET=y
CONFIG_VIRTIO_CONSOLE=m
CONFIG_HW_RANDOM_VIRTIO=m
CONFIG_REGULATOR_VIRTUAL_CONSUMER=m
# CONFIG_FB_VIRTUAL is not set
CONFIG_SND_VIRMIDI=m
CONFIG_SND_VIRTUOSO=m
# CONFIG_DEBUG_VIRTUAL is not set
CONFIG_VIRTUALIZATION=y
CONFIG_VIRTIO=y
CONFIG_VIRTIO_RING=y
CONFIG_VIRTIO_PCI=y
CONFIG_VIRTIO_BALLOON=m
Похоже, я уже использую virtio?
Как видите, у вас есть:
CONFIG_VIRTIO_BALLOON=m
Это означает, что он скомпилирован как модуль, поэтому его можно увидеть через lsmod. Кроме того, у вас есть:
CONFIG_VIRTIO_BLK=y
CONFIG_VIRTIO_NET=y
Это означает, что они скомпилированы в ядре, поэтому lsmod не сообщает о них.
Итак, у вашего гостя есть драйверы virtio для:
KVM предоставляет драйверы паравиртуализации для нескольких аппаратных средств; этот конкретный - драйвер всплывающего окна памяти.
В частности, вы должны увидеть virtio_net
при использовании сетевых драйверов virtio и virtio_blk
при использовании драйвера блочного устройства (диска). И в последнем случае ваш диск будет /dev/vda
вместо того /dev/sda
.
В вашем случае драйверы virtio disk и network скомпилированы в ядро, а не как модули, поэтому вы не увидите их с lsmod
.
CONFIG_VIRTIO_BLK=y
CONFIG_VIRTIO_NET=y
Несколько других менее важных драйверов virtio также существуют в вашей системе и скомпилированы непосредственно в ядро (например, VIRTIO_PCI, паравиртуализированная шина PCI).