- 虚拟化分软件虚拟化和硬件虚拟化,没有VT-x也能虚拟化,很老的机器都可以跑VMWare,因为使用了软件虚拟化的方式,不过运行效率肯定没有硬件虚拟化的高;
- 硬件虚拟化分两种:CPU层和IO层/芯片层,在Intel平台上,CPU层的虚拟化技术叫VT-x,IO层/芯片层叫VT-d;
- 一个CPU/一套平台可以同时支持VT-x和VTd,或者都不支持,或者只支持VT-x,决不可能只支持VT-d;
- 现阶段英特尔SNB/IVB平台都能保证支持VT-x;
- AMD的虚拟化技术叫AMD-v;
- 硬件虚拟化需软件支持,例如微软的Hyper-V;
- 现在主流的处理器基本都支持VT-x;
对VT-x和VT-d的简单介绍
VT-x:
原理:CPU运行有Ring0 ~ Ring3,一些底层操作必须Ring0。如果没有VT-x,虚拟机软件只能到Ring1,那么有些内核级别的东西就必须靠软件模拟,而效率降低。 有了VT-x,相当于多出来一套虚拟机的Ring0 ~ Ring3,这样在虚拟机内的内核请求和虚拟机外的就等于性质上/效率上没有差别了,从而提高效率。
用途:提高虚拟机效率,让虚拟机没有CPU性能的短板(当然还是受限于你CPU本身的能力)。另外,在32位系统上要跑64位虚拟机的话,也必须要VT-x支持。
VT-d:
原理:是一种基于North Bridge北桥芯片(或者按照较新的说法:MCH)的硬件辅助虚拟化技术,通过在北桥中内置提供DMA虚拟化和IRQ虚拟化硬件,实现了新型的I/O虚 拟化方式,Intel VT-d能够在虚拟环境中大大地提升 I/O 的可靠性、灵活性与性能。
用途:运用VT-d技术,虚拟机得以使用直接I/O设备分配方式或者I/O设备共享方式来代替传统的设备模拟/额外设备接口方式,从而大大提升了虚拟化的I/O性能,让虚拟机性能更接近于真实主机。
原文链接:https://www.landui.com/help/show-4705.html