Linux

我在為我的 KVM 來賓使用 virtio 嗎?

  • November 17, 2016

在我的一個 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 了?

KVM 為幾位硬體提供半虛擬化驅動程序;這個特殊的一個是記憶體氣球驅動程序。

特別是,您應該了解virtio_net何時使用 virtio 網路驅動程序,以及virtio_blk何時使用塊設備(磁碟)驅動程序。在後一種情況下,您的磁碟將/dev/vda代替/dev/sda.

在您的情況下,virtio 磁碟和網路驅動程序被編譯到核心中,而不是作為模組,因此您不會在lsmod.

CONFIG_VIRTIO_BLK=y
CONFIG_VIRTIO_NET=y

其他幾個不太重要的 virtio 驅動程序也存在於您的系統中,並直接編譯到核心中(例如 VIRTIO_PCI,準虛擬化 PCI 匯流排)。

引用自:https://serverfault.com/questions/478726