虚拟化解读: 虚拟主机中的虚拟化工作原理

虚拟化解读: 虚拟主机中的虚拟化工作原理
虚拟化概念很早就已出现。简单来说,虚拟化就是使用某些程序,并使其看起来类似于其他程序的过程。
将这个概念应用到计算机系统中可以让不同用户看到不同的单个系统(例如,一台计算机可以同时运行和 Microsoft® Windows®)。这通常称为全虚拟化
虚拟化也可以使用更加复杂的格式,其中单个计算机看上去具有多个架构(对于一个用户来说,它是一个标准的 x86 平台;对于另外一个用户来说,它是 IBM Power PC® 平台)。这种虚拟化形式通常被称为硬件仿真。
最后,更加简单的一种虚拟化是操作系统虚拟化,其中一台计算机可以运行相同类型的多个操作系统。这种虚拟化可以将一个操作系统的多个服务器隔离开来(这意味着全都必须使用相同类型和版本的操作系统)。
虚拟化解决方案的底部是要进行虚拟化的机器。这台机器可能直接支持虚拟化,也可能不会直接支持虚拟化;那么就需要系统管理程序层的支持。系统管理程序,或称为VMM,可以看作是平台硬件和操作系统的抽象化。在某些情况中,这个系统管理程序就是一个操作系统;此时,它就称为主机操作系统。
系统管理程序之上是客户机操作系统,也称为虚拟机(VM)。这些 VM 都是一些相互隔离的操作系统,将底层硬件平台视为自己所有。但是实际上,是系统管理程序为它们制造了这种假象。
云主机跨数据中心的虚拟化管理系统将分布在多个数据中心的服务器、存储和网络等资源统一虚拟化为相应的资源池,通过峰值复用、共享存储、带宽复用大大提高了服务器、存储和带宽等资源的利用率。CloudEx 集群节点上的物理服务器均采用高扩展、性能稳定的企业级服务器,在物理服务器上整合多台高性能的虚拟机可以显著减少物理服务器数量的需求,从而可以成比例地减少在供电、制冷和机柜等方面的投入。
目前使用虚拟化解决方案的问题是,并非所有硬件都可以很好地支持虚拟化。较老的 x86 处理器根据执行范围对特定指令会产生不同结果。这就产生了一个问题,因为系统管理程序应该只能在一个最受保护的范围中执行。由于这个原因,诸如 VMWare 之类的虚拟化解决方案会提前扫描要执行的代码,从而将这些指令替换为一些陷阱指令(trap instruction),这样系统管理程序就可以正确地处理它们。Xen可以支持一种协作的虚拟化方法,它不需要任何修改,因为客户机知道自己正在进行虚拟化,并已经进行了修改。KVM会简单地忽略这个问题,如果您希望进行虚拟化,就强制必须在更新的硬件上运行。

程子  发表于: 2009-09-27

我要回答

电子邮件地址不会被公开。 必填项已用*标注

敬请读者进行回答,本站保留删除与本问题无关和不雅内容的权力。

相关推荐