Назад | Перейти на главную страницу

Использую ли я virtio для своего гостя KVM?

В одном из моих гостевых 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 для:

  • blk: блочные устройства, также известные как диски;
  • net: сетевые устройства;
  • воздушный шар: раздутие памяти, тот факт, что у вас может быть общий максимальный объем памяти, выделенный для всех ваших гостей, больше, чем физическая память хоста. Конечно, это работает, если не все гости используют всю свою память. KVM использует неиспользуемую память одного гостя, чтобы накормить другого, более требовательного гостя, также известного как воздушный шар.
  • pci: Я предполагаю, что поддержка сквозной передачи PCI, хотя я не уверен. С VirtualBox контроллеры Ethernet, доступные для гостя, используют этот драйвер вместо virtio_net.
  • console: вы можете настроить последовательную консоль в KVM. Доступ к нему может получить домен virsh concole. Отличная функция (для гостей Linux). У вас есть почти полный доступ к виртуальной машине даже без VNC (таким образом, с минимальной пропускной способностью и доступным C&P), когда сеть выйдет из строя, что предотвратит доступ по SSH.
  • кольцо: не знаю что это

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).