title: 云计算_04_虚拟化技术总结 date: 2022-04-28 14:51:55.0 updated: 2022-05-05 22:29:52.914 url: /archives/cloud041 categories:

  • 云计算 tags:

  • 云计算

  • 虚拟化


关于我们常说的虚拟化和半虚拟化

本次我们知道了I/O虚拟化也存在半虚拟化、全虚拟化、硬件辅助虚拟化。但是我们常常听到某某Hypervisor产品是全虚拟化还是半虚拟化,但个人认为FV和PV的更主要区别是在于CPU的虚拟化技术

CPU的FV/PV和l/O 的FV/PV并不是紧密联系的,例如早期的VMware ESX使用CPU FV +I/O FV,早期的Xen使用CPU PV +I/O PV,但在HVM技术出现之后,其各自主流结构已经变成VMware ESXi使用VT-x+I/O FV, Xen使用VT-x+I/O PV了,所以目前的Xen也都没有必须使用修改过内核的Guest OS的限制了。

因此当我们说一项技术是全虚拟化还是半虚拟化,应该关注的是它对于CPU、内存、I/O虚拟化是如何实现的。

KVM虚拟化

这里以KVM为例,CPU、内存虚拟化由KVM实现,I/O虚拟化由QEMU实现。网上公开的资料称KVM是硬件辅助的全虚拟化方式。

  • CPU虚拟化:基于硬件辅助的全虚拟化。

  • 内存虚拟化:硬件辅助的EPT页表虚拟化。

  • I/O虚拟化:默认使用QEMU软件实现全虚拟化,也支持Virtio的半虚拟化方式,也支持硬件直通和SR-IOV的方式。

接下来会详细介绍KVM虚拟化架构。

参考链接