关键词:服务器虚拟化 Vmware Xen
虚拟化将主宰未来的企业,在现在的国内,企业数据中心都是根据需求随时添加服务器设备,这些设备基本上都是分散的,不同品牌、不同配置甚至不同架构,最致命的是,在其上运行的应用并不能够充分利用服务器所有的资源,占用到15%―20%的服务器资源是一个普遍现象,而使用虚拟化技术可以减少服务器数量的增加,简化服务器管理,同时明显提高服务器利用率、网络灵活性和可靠性。将多种应用整合到少量企业级服务器上即可实现这一目标。通过整合及虚拟化,数百台服务器可以减少至数十台。10%甚至更低的服务器利用率将提高到60%或更高,IT基础设施的灵活性、可靠性和效率也将得到改进。由此可见虚拟化技术成为各个企业和研究机构的重要课题。下面简单介绍一下两种虚拟化软件及其区别。
一、VMware
VMware是业界著名的虚拟机产品,它有VMware Workstation、VMware GSX Server、VMware ESX Server等系列产品。VMware的VMM可以有两种结构形式,即Standalone和Hosted。Standalone的结构形式是指,VMM作为一层直接运行在硬件平台上的软件层,在它上面可以创建和管理多个客户虚拟系统。这种结构的VMM有点像一个 *** 作系统,它包含硬件平台的驱动,受到硬件平台种类的限制。它适合于服务器的应用环境,其典型的产品是VMware ESX Server。
Hosted结构的VMM作为 *** 作系统的一个应用程序运行,它可以利用 *** 作系统自身的内存管理、CPU调动、硬件驱动和资源管理。VMware Workstation使用的是Hosted的结构,是设计来让一些应用程序,比方软件的研发或测试程序来执行,同时Server版本的目标则针对数据库以测试软件更新、简化应用程序的提供,或使用虚拟的设备等功能。ESX Server可以藉由不使用 *** 作系统来大量增加效能。相反的,ESX使用自己设计的 *** 作系统核心,可以直接在计算机上执行。这个方法可以同时支持更多的虚拟服务器,但ESX核心支持的硬件并不多。
由于VMware的目标平台是x86平台,因此,它也同样面临着x86平台不完全支持虚拟化的问题。VMware的解决方法是其专利技术,在需要VMM参与的地方,动态重写部分虚拟系统的指令,使其可以trap到VMM。
此外,VMware还有Virtual Center。VMotion应用在IBM Blade Center刀片服务器上,使之具备更好的d性和可用性,结合刀片服务器的模块化和可扩展性,可以增加内存和I/O能力的扩展比例,混合刀片间的工作负载均衡。Virtual Center采用集中式管理,可以监控系统的可用性及性能,并可以自动告警,SDK与现有管理工具整合,通过稳定的访问控制保证系统安全。VMotion技术使用户在保持连续的服务可用性的同时,还可以将实时运行企业用户关键业务的虚拟机,从一台物理主机转移到另一台物理主机,并动态获得每台物理服务器资源的极佳利用率、零宕机维护、快速重新配置,以及持续的工作负载整合能力。
二、Xen
Xen VMM(Virtual Machine Monitor)是由剑桥大学计算机实验室开发的一个开源项目,它能够让我们创建更多的虚拟机,每一个虚拟机都是运行在同一个 *** 作系统上的实例。
这些客户OS可以是修补过的Linux内核24或26,也可以是修补过的NetBSD/FreeBSD内核。用户应用程序就运行在这些客户OS上,并不需要修改任何代码。但是,随着将来的处理器能支持虚拟化,内核也就不需要打补丁了。比如说,Intel的VT和AMD的Pacifica处理器都将包括这种支持。
在Xen中,一个“系统管理程序”运行在0环,客户OS运行在1环,应用程序运行在3环。这种关系对于x64/64有一点不同,就是客户内核和应用程序都运行在3环上。
Xen自身被称为“系统管理程序”,是因为它比客户OS的系统管理代码运行所需的特权级还高。
当系统引导的时候,Xen被装载到0环的内存中。它在1环上启动修补过的内核,这被称作是domain 0(注:domain是指一个运行中的虚拟机,在其上有一个guest OS在执行)。从这个domain开始,你可以创建更多的domain,也可以销毁它们,还可以进行domain的迁移、设置参数等等。你创建的那些domain也运行在1环它们的内核中。用户应用程序运行在3环。
目前,修补过的Linux内核24和26可以作为domain 0。据Xen开发者所说,将来domain 0仅支持26的内核补丁。构造domain 0的大部分工作是在xen/arch/x86/domain_buildc中的construct_dom0()方法中实现的。
物理设备驱动程序只能运行在特权级,也就是domain 0上。Xen依靠Linux或其它修补过的OS内核对它所有的设备提供虚拟化支持。这样的好处就是Xen的开发者不必再去开发设备驱动程序。
在一个有标签TLB的处理器上使用Xen能够大大提高性能。标签TLB能够把ASID(Address Space Identifier)放在TLB入口处。有了这个特性,当处理器在系统管理程序和客户OS之间切换时就不需要刷新TLB了,这大大减少了系统开销。
三、两者主要区别
目前Xen和VMware是市场上主流的两大虚拟化产品。现在我就来谈谈这两大产品背后的架构有什么区别,以及这一技术在未来会如何发展。VMware ESX服务器的架构是建立在直接执行(直接在硬件上上运行用户级的虚拟机编码)和二进制译码(对特权级别编码进行动态编译)的基础上的。从根本上说,它把一个完整的X86平台导出到虚拟机上,ESX服务器可以使大多数能在X86上执行的 *** 作系统都能在虚拟机上运行,而不需要进行任何修改。Xen的架构中使用了一种叫Para虚拟化技术(Para Virtualization),对虚拟出来的客户 *** 作系统(Guest OS)进行修改,使它知道它是在虚拟环境下运行。
那么这两种方式有什么不同呢?最大的不同就是对输入/输出(I/O)设备的处理。虚拟机I/O端口和每个物理I/O端口设备之间如何路由在很大程度上影响虚拟平台架构的性能、便携性、可持续性和稳定性。Xen采用的是分离驱动模式,真实驱动存在于一个中间层,这个中间层叫服务虚拟机,其他虚拟机上的特殊驱动通过这个服务虚拟机进行通讯。这种方法能提供很好的性能,但是对于闭源和传统 *** 作系统支持有限。在ESX中,虚拟机的虚拟设备驱动与ESX内核里的物理设备驱动直接相互连接。ESX虚拟机可以为其虚拟设备使用现成的(off-the-shelf)驱动。这不仅能提供高性能,还能提供更广泛的 *** 作系统支持。然而在这个模型里,新的设备驱动必须要导入到ESX内核中。为了解决I/O虚拟化的平衡问题和复杂化问题,戴尔与英特尔、AMD这样的合作伙伴以及外设硬件供应商们一起,在芯片组和I/O设备中引入了虚拟化支持。企业级虚拟化解决方案的另外一个重要部分就是其管理。戴尔OpenManage这样的产品附送VMware Virtual Center、P2V 和VM Importer,提供了整套工具,能有效进行部署、监控、 *** 作自动化,以及对虚拟IT数据中心进行管理。Novell和Red Hat都在它们的 *** 作系统中整合了对Xen平台的管理,方法是运用像YaST和Anaconda这样的安装和配置工具以及Virtual Machine Manager这样的管理工具。
四、虚拟化技术的未来
资讯科技及通讯业研究权威Gartner估计,由现在至2010年间,虚拟化将会是资讯基建及营运领域中最重要的技术,并会彻底改变资讯科技部门管理、采购、部署、规划,以及其所提供服务的收费模式。虚拟化目前不再只着重技术,而是更加着重企业内的流程改变及文化变迁。虚拟化可让服务以另一种模式提供。每个经虚拟化的层面都可作独立的管理,或甚至由他人所掌管,例子包括串流式应用或员工所拥有的个人计算机一样。这一切均要求企业文化作出重大改变。
参考文献:
[1]郭庭廷,吴玮揭开虚拟化神秘面纱[J]机械工业信息与网络,2007,(03)
[2]成凯透视虚拟化技术[J]软件世界,2007,(11)
[3]伍班权虚拟化技术及其发展[J]办公自动化,2007,(12)
[4]杨晓伟基于Xen的X86虚拟机性能调优[J]计算机工程,2006,(24)
[5]刘志平基于VMware虚拟网络的构建[J]内蒙古大学学报(自然科学版),2007,(01)
[6]赵祖荫基于VMware软件的虚拟计算机的构建方法[J]微型电脑应用,2004,(06)
无论采用哪种技术路线、哪种方案和产品对现有 VMware 环境进行替换,都不能 100% 保证在功能特性和使用体验方面的完全一致。因此,最终的替换决策必然是在认真评估后做出的主动调整:放弃部分非核心、不必要的功能,或通过应用层、架构层的改造以达到同样的效果。
1、聚焦替换 vSphere 并兼顾存储
虚拟化基础设施的核心是 Hypervisor 和存储。
首先,从 Hypervisor 技术和产品角度考虑:有可能用于填补 vSphere 空白的国内虚拟化产品都是基于 KVM 进行的开发。
再考虑虚拟化环境中使用的存储:在国内用户的 vSphere 部署中,大部分采用了集中式 SAN 存储与之配合。那么,替换 vSphere 的方案,也必须包含对集中式 SAN 存储部分的考虑。
2、置换为超融合 HCI
在虚拟化和存储的改造过程中,有些用户也有可能将“虚拟机与外置存储分离部署”的方式替换为更加简单、d性敏捷的超融合(HCI)方式。
3、转向整体私有云方案
国内的整体私有云解决方案大部分以 OpenStack 为基本技术栈进行开发。OpenStack 基于大量开源项目组成,并经过各个厂商的商业开发,形成了多种商用云方案。OpenStack 全面的云方案可以同时管理 IaaS 层的资源池(服务器、存储和网络),将不再需要分别从计算、存储或网络的角度考虑对 VMware 的替换路线图,而是从整体“私有云”维度进行重建。
4、依托公有云技术栈的专属云
专属云(Dedicated Cloud)是以公有云为基础,面向特定行业、特殊需求的云客户,提供全栈资源池的专属解决方案。专属云客户可以选择在公有云上独占机架、服务器和网络,通过基础设施隔离获得资源的专属使用权和安全性,但专属云的建设和运维仍交由公有云提供商承担。专属云打消了国内用户对公有云资源共享模式带来的安全合规、数据私密性等一系列顾虑,也在规模化部署、快速交付和集中运维方面享有了公有云深厚技术底蕴带来的福利。国内的主要公有云服务商都可以提供专属云服务,通常面向规模较大的国企、央企、集团公司、金融等行业。
由于专属云所依赖的公有云技术在管理平面的开销较大,起步即要求几十个节点(管理节点的要求)。这导致专属云的首次投入占比大,而且普通用户往往不具备运维这种规模的云平台的能力。除了大型客户以外,其他客户很难承受其巨大的投入和运维压力。
完整版可参考知乎专栏文章:生产级 VMware 虚拟化方案替换路线与评估
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)