How*_*ard 7 virtualization linux linux-networking kvm-virtualization virtio
在我的一个 KVM 来宾中,当我输入以下命令时,我得到以下信息
/sbin/lsmod | grep vi
virtio_balloon 3692 0
Run Code Online (Sandbox Code Playgroud)
那么这是否意味着我正在使用 virtio?
更新:
当我打字
cat "/boot/config-`uname -r`" | grep -i vir
Run Code Online (Sandbox Code Playgroud)
我可以看到
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
Run Code Online (Sandbox Code Playgroud)
听起来我已经在使用 virtio 了吗?
如您所见,您有:
CONFIG_VIRTIO_BALLOON=m
Run Code Online (Sandbox Code Playgroud)
这意味着它被编译为一个模块,因此可以通过 lsmod 看到。此外,您还有:
CONFIG_VIRTIO_BLK=y
CONFIG_VIRTIO_NET=y
Run Code Online (Sandbox Code Playgroud)
这意味着它们是在内核中编译的,因此 lsmod 不会报告它们。
所以你的客人有 virtio 驱动程序:
KVM 为几位硬件提供半虚拟化驱动程序;这个特殊的是内存气球驱动程序。
特别是,您应该看到virtio_net
何时使用 virtio 网络驱动程序,以及virtio_blk
何时使用块设备(磁盘)驱动程序。在后一种情况下,您的磁盘将/dev/vda
代替/dev/sda
.
在您的情况下,virtio 磁盘和网络驱动程序被编译到内核中,而不是作为模块,因此您不会在lsmod
.
CONFIG_VIRTIO_BLK=y
CONFIG_VIRTIO_NET=y
Run Code Online (Sandbox Code Playgroud)
系统上还存在其他几个不太重要的 virtio 驱动程序,它们直接编译到内核中(例如 VIRTIO_PCI,半虚拟化 PCI 总线)。
归档时间: |
|
查看次数: |
16434 次 |
最近记录: |