服务器虚拟化
在当今复杂的IT环境当中,服务器虚拟化其实已经起到了非常大的作用。在很多案例中,大多数企业的数据中心都堆满了多余的服务器硬件所产生的容量,而且每一次新设备的购买,又将增加更多新的数据,或者出现预算不够的问题。那么,怎样才能解决这个不断循环的过程中所带来的问题呢?这时,大家都把目光放到了虚拟服务器上。因为企业只需将物理服务器拆分区虚拟服务器当中,就能保障数据的灾难恢复,以及控制IT成本的目的。
实际上,虚拟化技术可以通过两个方向来帮助服务器更加合理地分配资源,一种方向就是把一个物理的服务器虚拟成若干个独立的逻辑服务器,使用户可以在这些看似独立的虚拟服务器上运行和应用不同的操作系统;虚拟化技术的另一个方向,就是把若干个分散的物理服务器虚拟为一个大的逻辑服务器,使用户可以像使用同一台服务器的资源一样支配这些物理上独立的服务器,从而达到最大化利用资源的目的。
而到了现在,虚拟化也有了新的定义。在20世纪70年代,大型机电脑可以只是在同一时间内运行一个操作系统的并联实例,而每一个实例又有别于其他实例。但随着软件和硬件的不断接近,使得虚拟化可能在工业标准上占有一席地位,进而发展成为日常服务器。
事实上,对于现在的数据中心主管而言,他们对于虚拟化解决方案有太多的选择,用眼花缭乱来形容也不为过,其中包括有专有的和开源的。对于大多数企业而言,一般都会选择基于三种基本原理技术中的一种。但至于哪种技术会产生更佳的效果,则主要是依赖于需要明确虚拟化的工作量,以及他们的操作优先权。
全虚拟化
当今虚拟化最流行的方式就是使用被称为虚拟机管理程序的软件,在虚拟服务器和下部的硬件之间创建一个层。而最接近这个方法的两个商业例子就是VMware和微软的Virtual PC,而KVM则主要是运行在Linux服务器上的开源软件。
虚拟机管理程序主要是利用CPU指令和调停来访问硬件控制器和外围设备。而这样做的结果就是,全虚拟化实际上允许所有的操作系统在一台虚拟服务器上进行安装,且不需要修正和无须知道是运行在什么样的虚拟环境下。不过这样做有一个非常的缺陷,就是虚拟机管理程序会强加处理器进行超频,尽管看上去是一件小事,但意义却很重大。
在一个全虚拟化的环境下,虚拟机管理程序实际上是运行在赤裸的硬件和作为主机操作系统的服务器上。而由虚拟机管理程序管理的虚拟服务器也会被说成是运行在Guest OS上。
半虚拟化
全虚拟化也称为原始虚拟化技术,是另一种虚拟化模式,,该模型使用虚拟机协调客户操作系统和原始硬件。 这里“协调”是一个关键的因素,因为VMM在客户操作系统和赤裸硬件之间用于工作协调。一些受保护的指令必须由虚拟机管理程序来捕获和处理,因为操作系统是通过虚拟机管理程序来分享底层硬件。而半虚拟化则是另一种类似于全虚拟化的热门技术,它使用虚拟机管理程序分享存取底层的硬件,但是它的客户操作系统集成了虚拟化方面的代码。但该方法无需重新编译或引起陷阱,因为操作系统自身能够与虚拟进程进行很好的协作。
在开源半虚拟化技术当中,Xen就是一个非常典型的例子。其实,在操作系统被当作虚拟服务器在Xen虚拟机管理程序运行之前,是必须要在内核上做一些特殊的改变。而正是因为这样,Xen能为BSD、Linux、Solaris和其他的开源操作系统提供很好的服务。虽说,Xen能在开源领域有非常大的影响力,但它在Windows的环境下,却不是那么成功。
半虚拟化之所以能成为开源领域的热宠,主要是受其性能优势的影响。据此行业内的专家表示,半虚拟化服务器如果和虚拟机管理程序进行联合,几乎能与非虚拟服务器同时做出反应。由于全虚拟化已经变的相当成熟,且受到了大家的认可,所以微软和VMware目前把主要的精力都放在半虚拟化技术的研发上,以补足他们在这方面的不足。 |