处理器选择:虚拟化扩展
当购买处理器时,选择优化虚拟化的模式,如有AMD-V或Intel-VT 扩展。为了弄清扩展为什么重要,你需要了解环与CPU是如何工作的。
x86操作系统使用保护环提供保护级别,以便代码的执行。这些环以等级排列,从最有特权的(Ring 0)到最少特权的(Ring 3),这些都由对处理器有限制的CPU执行。在未虚拟化的服务器上,宿主在Ring 0里的操作系统拥有运行在Ring 3里的服务器硬件与应用。在虚拟化系统上,hypervisor和虚拟机监控器(VMM)需要运行在Ring 0,因此虚拟机子操作系统必须在Ring 1里。由于多数操作系统必须运行Ring 0,VMM工具通过捕获特许指令和模拟Ring 0到子虚拟机,让子操作系统以为它运行在Ring 0。
不过这个操作会降低性能,因此英特尔与AMD开发了Intel VT和AMD-V解决这个问题。这两种技术都整合在CPU里,因此VMM能运行在新的叫做Ring -1的环里,这允许子操作系统天生运行在Ring 0里。这种在CPU的扩展提升了性能。VMM不再让子操作系统以为它运行在Ring 0里,因为子操作系统能在此操作,并且不会与VMM冲突,它已经移动到新的Ring 1级别。为了从虚拟主机获取最好的性能,选择使用这些虚拟化优化的扩展CPU。
同样,继续留意AMD和英特尔未来支持嵌入页表(NPT)的处理器。AMD的版本是Rapid Virtualization Indexing(RVI),英特尔的是Extended Page Tables(EPT)。这种新CPU技术能帮助降低虚拟化大型应用(如数据库)的性能开销。