AWS EC2 提供两种类型的 Ubuntu Linux EC2 机器虚拟化 - PV 和 HVM。
光伏:
大型虚拟机(HVM):
这些类型之间有什么区别?
答案1
Amazon 在 Xen 上运行,它提供半虚拟化 (PV) 或硬件辅助虚拟化 (HVM)。
半虚拟化曾经是推荐的选择,因为它可以提供更好的性能(通过主机和客户机上修补的专用内核/驱动程序,与虚拟化主机更加紧密地集成)。
硬件辅助虚拟化利用现代硬件提供的优势,并且不需要任何类型的自定义内核或补丁。最近的基准测试已经证明 HVM 在某些工作负载下确实速度更快。
答案2
AWS 文档摘录:
PV 和 HVM AMI 之间的主要区别在于它们的启动方式以及它们是否可以利用特殊硬件扩展(CPU、网络和存储)来获得更好的性能。
HVM AMI 具有一组完全虚拟化的硬件,并通过执行映像根块设备的主引导记录进行引导。此虚拟化类型提供了在虚拟机上直接运行操作系统而无需任何修改的能力,就像在裸机硬件上运行一样。Amazon EC2 主机系统模拟呈现给客户机的部分或全部底层硬件。与 PV 客户机不同,HVM 客户机可以利用硬件扩展,这些扩展可以快速访问主机系统上的底层硬件。HVM AMI 需要利用增强型联网和 GPU 处理。
PV AMI 使用名为 PV-GRUB 的特殊引导加载程序进行引导,该加载程序启动引导周期,然后链式加载映像上 menu.lst 文件中指定的内核。半虚拟客户机可以在没有明确支持虚拟化的主机硬件上运行,但它们无法利用特殊硬件扩展,例如增强联网或 GPU 处理。从历史上看,PV 客户机在许多情况下的性能优于 HVM 客户机,但由于 HVM 虚拟化的增强功能以及 HVM AMI 的 PV 驱动程序的可用性,这种情况已不再存在。
答案3
一个明显的区别是半虚拟不支持 GPU 实例。
如果我知道我想将其作为 GPU 实例重新启动,我会将其创建为 hvm。
编辑:嗯,实际上,似乎我们可以在创建 AMI 时从半虚拟化更改为 hvm。
答案4
现在,在 AWS 上,应该使用 HVM 并可以获得更高的性能。
1)
需要 HVM AMI 才能利用增强的网络和 GPU 处理
2)
从历史上看,PV 客户机在许多情况下比 HVM 客户机具有更好的性能,但由于 HVM 虚拟化的增强以及 HVM AMI 的 PV 驱动程序的可用性,这种情况已不再如此。
https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/virtualization_types.html