检查虚拟机是否使用virtio
相比于QEMU+KVM的全虚拟化,virtio提供了半虚拟化的能力。在半虚拟时,GuestOS知道自己是虚拟机(我理解应该驱动是经过修改的),即GuestOS安装的是半虚拟化驱动,所以数据直接发送给半虚拟化设备,经过特殊处理,发送给真正的硬件。因此性能要好于全虚拟化,因为全虚拟化时,Guest OS不知道自己是虚拟机,于是像发送普通的IO一样发送数据,被Hypervisor拦截,并经由QEMU转发
·
相比于QEMU+KVM的全虚拟化,virtio提供了半虚拟化的能力。在半虚拟时,GuestOS知道自己是虚拟机(我理解应该驱动是经过修改的),即GuestOS安装的是半虚拟化驱动,所以数据直接发送给半虚拟化设备,经过特殊处理,发送给真正的硬件。因此性能要好于全虚拟化,因为全虚拟化时,Guest OS不知道自己是虚拟机,于是像发送普通的IO一样发送数据,被Hypervisor拦截,并经由QEMU转发给真正的硬件。
那么通过Openstack安装的环境如何查看是否使用了半虚拟化设备呢,比如半虚拟化的硬盘、半虚拟化的网络?
这些应该都是在启动参数中有说明的,这里仅仅是记录学习过程。
- 确认硬盘是否为半虚拟化设备:
------使用virtio_blk驱动的硬盘显示为/dev/vda,使用IDE硬盘显示为/dev/had,使用SATA硬盘显示/dev/sda
------如下是一个实例,可以看出采用了半虚拟化硬盘:
- 确认网络设备是否为半虚拟化设备:
使用ethtool -i 设备名 查看,当driver为virtio_net时说明为半虚拟化的。
更多推荐
已为社区贡献17条内容
所有评论(0)