2024年3月29日发(作者:)

计算虚拟化:

虚拟化是一个广义的术语,是指计算元件在虚拟的基础上而不是真实的基础上运行,

是一个为了简化管理,优化资源的解决方案。如同空旷、通透的写字楼,整个楼层几乎看

不到墙壁,用户可以用同样的成本构建出更加自主适用的办公空间,进而节省成本,发挥

空间最大利用率。这种把有限的固定的资源根据不同需求进行重新规划以达到最大利用率

的思路,在IT领域就叫做虚拟化技术。 虚拟化技术可以扩大硬件的容量,简化软件的重

新配置过程。CPU的虚拟化技术可以单CPU模拟多CPU并行,允许一个平台同时运行

多个操作系统,并且应用程序都可以在相互独立的空间内运行而互不影响,从而显著提高

计算机的工作效率。

在服务器虚拟化技术中,被虚拟出来的服务器称为虚拟机(Virtual Machine,VM)。

运行在虚拟机里的操作系统称为客户操作系统,即Guest OS。负责管理虚拟机的软件称

为虚拟机管理器,缩写为VMM,也称为Hypervisor。

裸金属架构是指将VMM直接安装在物理服务器之上而无须先安装操作系统的预装模

式。在安装了VMM之后,再在VMM上安装其他操作系统(如Windows、Linux等)。

由于VMM“看起来”是直接安装在物理计算机上的,所以称为裸金属架构,例如KVM、

Xen、VMware ESX。

目前,普遍认为裸金属架构的性能要比寄生架构高。很多资料都宣传说,裸金属架构

是直接运行在物理硬件之上的,无须通过Host OS,所以性能更高。

虚拟化解决方案的底部是要进行虚拟化的机器。这台机器可能直接支持虚拟化,也可

能不会直接支持虚拟化;那么就需要系统管理程序 层的支持。系统管理程序,或称

为 VMM,可以看作是平台硬件和操作系统的抽象化。在某些情况中,这个系统管理程序

就是一个操作系统;此时,它就称为主机操作系统.

系统管理程序之上是客户机操作系统,也称为虚拟机(VM)。这些 VM 都是一些相

互隔离的操作系统,将底层硬件平台视为自己所有。但是实际上,是系统管理程序为它们

制造了这种假象。

完全虚拟化(full virtualization),也称为原始虚拟化,是另外一种虚拟化方法。这

种模型使用一个虚拟机,它在客户操作系统和原始硬件之间进行协调(参见图 3)。"协调

"在这里是一个关键,因为 VMM 在客户操作系统和裸硬件之间提供协调。特定受保护的

指令必须被捕获下来并在 hypervisor 中进行处理,因为这些底层硬件并不由操作系统所

拥有,而是由操作系统通过 hypervisor 共享。

虽然完全虚拟化的速度比硬件仿真的速度要快,但是其性能要低于裸硬件,因为中间

经过了 hypervisor 的协调过程。完全虚拟化的最大优点是操作系统无需任何修改就可以

直接运行。惟一的限制是操作系统必须要支持底层硬件(例如 PowerPC)。

超虚拟化

超虚拟化(paravirtualization)是另外一种流行的虚拟化技术,它与完全虚拟化有

一些类似。这种方法使用了一个 hypervisor 来实现对底层硬件的共享访问,还将与虚拟