Linux AMI 虚拟化类型 - Amazon Elastic Compute Cloud
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

Linux AMI 虚拟化类型

Linux 亚马逊机器映像使用两种虚拟化类型之一:半虚拟化 (PV) 或硬件虚拟机 (HVM)。半虚拟化和 HVM AMI 之间的主要区别在于它们的启动方式,以及它们能否使用特定硬件扩展 (CPU、网络和存储) 实现更好的性能。

为获得最佳性能,建议您在启动您的实例时使用最新一代的实例类型和 HVM AMI。有关当前一代实例类型的更多信息,请参阅 Amazon EC2 实例类型。如果您正在使用上一代实例类型并且想要升级,请参阅升级路径更改实例类型

下表比较 HVM 和 PV AMI。

全虚拟化 PV
描述 硬件虚拟机 AMI 配有一组完全虚拟化的硬件,通过执行映像根块储存设备的主启动记录来启动。通过此虚拟化类型可以直接在虚拟机上运行操作系统而不进行任何修改 (如同它在裸机硬件上运行一样)。Amazon EC2 主机系统可模拟向客户机提供的部分或所有底层硬件。 半虚拟化 AMIs 使用名为 PV-GRUB 的特殊启动加载程序启动,该加载程序开始启动周期,然后对映像链式加载 menu.lst 文件中指定的内核。半虚拟来宾可以在没有明确支持虚拟化的主机硬件上运行。以往,半虚拟化来宾在许多情况下的性能优于 HVM 来宾,但是由于硬件虚拟机虚拟化的功能增强以及 HVM AMI 可使用半虚拟化驱动程序,情况发生了改变。有关 PV-GRUB 及其在 Amazon EC2 中的使用情况的更多信息,请参阅 用户提供的内核
支持硬件扩展 是。与半虚拟化客户机不同,硬件虚拟机客户机可以利用硬件扩展快速访问主机系统上的底层硬件。有关 Amazon EC2 中可用的 CPU 虚拟化扩展的更多信息,请参阅 Intel 网站上的英特尔虚拟化技术。硬件虚拟机 AMI 需要利用增强联网和 GPU 处理。要将指令传递给专用网络和 GPU 设备,操作系统需要能够访问本机硬件平台;HVM 虚拟化提供这种访问。有关更多信息,请参阅Linux 上的增强联网Linux 加速计算实例 否,它们无法利用特殊的硬件扩展,例如增强网络或 GPU 处理。
支持的实例类型 当前一代的所有实例类型都支持 HVM AMI。 以下上一代实例类型支持 PV AMI:C1、C3、M1、M3、M2 和 T1。最新一代实例类型不支持 PV AMI。
支持的区域 所有区域都支持 HVM 实例。 亚太区域(东京)、亚太区域(新加坡)、亚太区域(悉尼)、欧洲(法兰克福)、欧洲(爱尔兰)、南美洲(圣保罗)、US East (N. Virginia)、美国西部(加利福尼亚北部) 和 美国西部(俄勒冈)
如何查找 使用控制台或 describe-images 命令验证 AMI 的虚拟化类型是否已设置为 hvm。有关更多信息,请参阅查找 Linux AMI 使用控制台或 describe-images 命令验证 AMI 的虚拟化类型是否已设置为 paravirtual。有关更多信息,请参阅查找 Linux AMI
硬件虚拟机上的半虚拟化

以往,半虚拟化客户机在存储和网络操作方面的性能要优于硬件虚拟机客户机,因为它们可以对 I/O 使用特殊驱动程序,从而避免模拟网络和磁盘硬件的开销,而硬件虚拟机客户机必须将这些指令转换为模拟的硬件。现在,半虚拟化驱动程序可用于硬件虚拟机客户机,因此无法移植到半虚拟化环境中运行的操作系统仍可以通过它们获得存储和网络 I/O 方面的性能优势。借助这些硬件虚拟机驱动程序上的半虚拟化,硬件虚拟机客户机可以获得与半虚拟化客户机相同甚至更佳的性能。