私のKVMゲストの1つで、次のコマンドを入力すると、次のようになります。
/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バスなど)。
あなたが見ることができるようにあなたは持っています:
CONFIG_VIRTIO_BALLOON=m
これは、モジュールとしてコンパイルされているため、lsmodを介して表示できることを意味します。さらに、あなたは持っています:
CONFIG_VIRTIO_BLK=y
CONFIG_VIRTIO_NET=y
つまり、カーネル内でコンパイルされるため、lsmodはそれらを報告しません。
したがって、ゲストにはvirtioドライバーがあります。