解析VMware服务器虚拟化技术
服务器虚拟化已成为现在的热门话题之一,目前服务器虚拟化市场的领头羊是VMware,另外还有微软和Citrix的实力也不容小视。企业用户在选择服务器虚拟化解决方案之前,一定要谨慎评估自己的计划。在服务器虚拟化领域, VMware无疑是虚拟化应用的领先者,其产品占据了半数以上的市场份额。VMware的服务器虚拟化产品可以基于Windows、Linux、Unix等平台,这一点是其对手所不能相比的,下面就让我们来看看VMware的“镇店之宝”——VMware Infrastructure3(以下简称VI3)。
需要说明的是,VI3不是一款服务器虚拟化软件,而是一个服务器虚拟化软件的组合包,它由VMware ESX Server、VMFS(Virtual Machine File System)、DRS(Distributed Resourced Scheduler)、Virtual SMP、VMware HA(High Availibility)、VMware Vmotion、Consolidated Backup、Virtual Center等软件组成。在这里我们为大家着重介绍一下VMware ESX Server、VMware Vmotion和Virtual Center三个组件。VMware ESX Server是VI3的核心,而Vmotion和Virtual Cente则是服务器虚拟化应用管理的主角,它们具有动态移动虚拟机和自动监测资源可用性的功能,可以最佳地利用可用的计算资源。
VMware ESX Server:高效打造虚拟机
VMware ESX Server 采用半虚拟化技术,即服务器上不需要预装任何操作系统,用户可直接把VMware ESX Server安装在服务器裸机上,这样就可以“活生生”地把服务器分割成数台虚拟机(Virtual Machine),而且可直接有效地分配系统资源,不需要有“宿主”操作系统。VMware ESX Server的工作原理是:将每个虚拟机与服务器硬件及其他虚拟机相隔离(图1),确保在某个虚拟机崩溃时不会影响其他虚拟机。虚拟机相互之间不会泄露数据,而且应用程序只能通过配置的网络连接进行通信,VMware ESX Server将虚拟机环境封装为一组文件,以便于备份、移动和复制。
VMware VMotion能够将运行中的虚拟机从一台主机转移到另一台主机
VMware ESX Server将物理机器资源分离出来供虚拟机使用,它甚至还有过量使用内存的功能,这意味着虚拟机的内存总和可以安全地超越服务器的实际物理内存,此功能可以提高服务器内存的整体利用效率。VMware ESX Server几乎可以立刻在新服务器上安装,并可以在现有的正在使用的服务器上进行维护,而不必停机。
当然,VMware ESX Server在应用上对企业IT人员提出了更高的要求,比如为直接控制硬件带来性能提升的VMFS是VMware公司自己开发的一种文件系统格式,用于存储虚拟机数据。相比现在的操作系统提供的多功用文件系统格式,VMFS读取速度更快、更可靠。不幸的是,以VMFS格式存储的虚拟机想要迁移到其他虚拟环境下,不得不面临转换格式的繁琐和风险。除了文件格式带来的迁移和传输的困难,VMware ESX Server还面临着驱动的问题——VMware ESX Server没有装载本地SATA接口的硬盘驱动,所以VMware ESX Server的用户不得不考虑采用本地SCSI接口硬盘或者远程的存储设备(如NAS、SAN等)。此外,要使用VMware ESX Server还是有一定要求的,比如使用VMware ESX Server需要服务器采用英特尔或AMD的支持硬件辅助虚拟化技术的CPU,才可以有效地运行所需的处理器指令。
虚拟化最大的优势就是服务器整合,节省运营成本,但这对企业来说也意味着要将所有的鸡蛋放在一个篮子里,增加了风险。服务器虚拟化发生的主要问题是单点故障,过去用户可以在他们的多台物理服务器上运行20项工作负载,当其中一台服务器宕机时,虽然情况很糟糕,但不至于波及到整个服务器网络,20项工作负载不可能停止运行。而在虚拟化环境里,如果20项工作负载都在一台服务器上运行,那么一旦该物理服务器宕机,就意味着所有的工作负载都会陷入瘫痪,对企业来说就是灾难了。而VI3中的实时迁移功能组件VMotion被认为是这款产品最大的亮点,这也是很多企业用户采用VI3的重要原因,这项功能可以将工作负载从一台物理服务器迁移到另一台物理服务器上,不会受宕机的影响。
与此前VMware Converter 提供P-V((Physical to Virtual,物理机向虚拟机迁移)功能不同的是,P-V需要停机,要把服务器停下来,才可以进行应用负载的迁移(P-V多用于解决历史程序的兼容问题)。而VMware Vmotion要解决的是系统的可靠性问题,一台虚拟机发生故障时,管理员可平滑地将这台虚拟机在线迁移到另外一台虚拟机,在这个过程中,服务器不需要停机,从而有效保证企业业务的连续性。使用VMware Vmotion将虚拟机从一台物理服务器实时迁移到另一台物理服务器的过程是通过三项基础技术实现的(图2)。
VMware VMotion能够将运行中的虚拟机从一台主机转移到另一台主机
首先,虚拟机的整个状态由存储在共享存储器上的一组文件封装起来。VMware Vmotion群集VMFS允许安装多个VMware ESX Server,以并行访问同一组虚拟机文件。其次,虚拟机的活动内存及精确的执行状态通过高速网络快速传输,允许虚拟机立即从源ESX Server上运行切换到在目标ESX Server上。Vmotion通过在位图中连续跟踪内存事务来确保用户察觉不到此传输期,一旦整个内存和系统状态已拷贝到目标ESX Server,Vmotion将中止源虚拟机的运行,将位图拷贝到目标ESX Server,并在目标ESX Server上恢复虚拟机的运行,整个过程在以太网上需要不到两秒的时间。最后,虚拟机使用的网络也被底层ESX Server虚拟化,确保即使在迁移之后,虚拟机的网络身份和网络连接也能保留下来。Vmotion在此过程中管理虚拟MAC地址。一旦目标机被激活,Vmotion就会Ping网络路由器,以确保它知道虚拟MAC地址的新物理位置。因为用Vmotion进行虚拟机迁移可保持精确的执行状态,网络身份和活动网络连接的结果是实现了零停机时间而且不会中断用户操作。
不过要实现以上这一过程是有前提条件的。以VMware ESX为例,VMotion需要下列3项条件的配合才能发挥作用,一是ESX服务器之间必须建立高可用性的关系,其次是将虚拟机文件存放于局域网络的共享磁盘驱动器,最后一点则是在虚拟交换机上完成相关的设置。实际迁移时,被迁移的仅是虚拟机器的设置文件,而非动辄数十GB或者上百GB大小的虚拟磁盘文件。一般建议各台ESX服务器之间最好能以Gbps以上等级的线路连接,这样可保证迁移过程中不会出现任何断线的情况。如果再搭配VI3组件中的Distributed Resource Scheduler(DRS)这项功能操作VMotion,则在其中一台ESX服务器负载过重时,系统可自动地将一部分虚拟机迁移到其它物理服务器上,达成负载平衡的目的。
此外,在英特尔发布VT FlexMigration技术之前,Vmotion是有前提条件约束的,它要求进行迁移的两个服务器平台采用同样的芯片组,即不同的服务器平台是无法进行在线迁移的,例如从虚拟化的双路服务器平台无法迁移到多路服务器虚拟化平台。在英特尔VT FlexMigration的技术支持下,虚拟机迁移的约束条件被打破,用户可以将虚拟机在不同的英特尔服务器平台上自由迁移。可以说,VMotion去出了管理员对把所有鸡蛋放在同一个篮子里的担心。
平时一个人或许能管理15~20台物理服务器,但部署虚拟机之后一个人可以管理100台甚至200台虚拟机。不过该怎么管理更方便啊?其实在数据中心引入虚拟化确实增加了一个虚拟化层,但并非增加了管理的难度。虚拟化的管理软件能够很好地管理控制虚拟机,从而大大降低了大型数据中心的管理复杂性,如VMware Center就是很好的例子,Virtual Center提供了直观的管理界面,提供了丰富的资料和数据来监控整合数据中心,为数据中心的虚拟机管理提供了强大的手段,成为新型虚拟化数据中心的必备工具。
Virtual Center具有强大的虚拟机管理功能
Virtual Center是一套虚拟架构的管理软件,仿佛一个逻辑的虚拟机池,它可管理企业内部的虚拟机资源(图3)。Virtual Center接口提供了一项强大的浏览功能,能够浏览数据中心的所有虚拟资源。通过Virtual Center,用户可以使用单点控制台管理上百台服务器,使硬件维护时宕机几率为零。Virtual Center的主要优势在于可以用单个控制台管理一个分布式虚拟结构,当然,这只在你确实有那么一大堆服务器的情况下它才能体现出价值。
谈到VMware ESX Server,就不得不谈一下VMware ESXi Server。VMware ESXi Server 是 VMware ESX Server 的精简版(图4),它同样采用半虚拟化技术,不过它的特点是可以免费使用。虽然免费,但VMware ESXi 仍是一款企业级虚拟机管理程序,它可提供接近本机性能的祼机体系结构。
VMware ESXi Server的特性
相对于VMware ESX Server中的某些功能需要依赖一种称为服务控制台的 Linux 操作系统来执行,ESXi 取消了服务控制台,从而将所占空间减少到不足 32 MB。通过取消服务控制台, ESXi Server完成了将管理功能从本地命令行界面迁移到远程管理工具的转变过程。服务控制台的功能由符合系统管理标准的远程命令行界面取代。这些优化让ESXi Server的效率得了不少的提升,同时ESXi Server在控制使用方面表现很突出,例如可将两台物理服务器整合成为一台。不过,如果你是一家拥有数十台甚至数百台虚拟服务器的大型企业,如希望响应变更需求快速迁移工作负载的话,免费的ESXi并不适用,因为ESX Server版本上的配套组件并不能应用在免费的ESXi Server之上。
由于功能简化,取消了服务控制台,VMware ESXi对新手管理员来说比较难操作。比如在没有VMware技术支持人员帮助的情况下,用户就不能使用Dropbear SSH客户端或者其它技术支持模式,这可能会导致VMware ESXi的证书的失效和技术支持合同的破坏。
广西玉柴集团的生产制造系统需要经常性维护,但是由于生产系统必须不间断运行,所以留给系统管理人员进行维护和升级的时间非常有限。此外,该企业的生产系统需要经常性地部署一些新应用,其中某些应用安装周期较长,配置复杂,不利于对系统的快速部署。
为了保证企业的正常运作,玉柴集团的管理层制定了非常明确的目标:企业需要快速测试环境,以便能够进行测试服务;需要及时地更换测试环境,以便更好地利用硬件设施;需要将此前淘汰的应用快速迁移到新环境下;需要减少硬件设备的数量,以降低后期维护的工作量,并节省设备占用空间和数据中心的能源消耗。
针对该要求,玉柴集团的信息化部门决定采用VMware 的ESX Server虚拟化方案,利用5台戴尔PowerEdge 6850服务器(该服务器采用了Intel服务器芯片),后端连接EMC CX600磁盘阵列,搭建了整个虚拟化应用架构。利用VMware ESX Server 3.5,配合使用VMotion功能和HA功能,部署了部分测试用的虚拟环境,在每台物理服务器上部署了5~6个虚拟机,通过Virtual Center统一管理虚拟机和计算资源、存储资源等,实现了虚拟机的快速迁移。采用ESX Server虚拟化方案,在部署完一套系统后,利用其模板功能可很快克隆出一套新系统,从而大大缩短服务器的部署时间。
此前搭建测试环境需要数天的时间来准备,现在通过服务器虚拟化模板,只要不到一小时的时间就能够准备完毕,如果是此前的环境重用,只需要数分钟进行虚拟机的启用即可。应用服务器虚拟化方案后,服务器利用率从原有的平均10%提升到了现在的70%~80%。此前,如果同时有10多个测试任务的话,由于涉及到多个部门,每个任务都需要多台服务器,必须同时准备几十台服务器。采用ESX Server虚拟化方案后,在一台硬件能力较强的服务器上进行切分,能够快速地搭建所需要的测试环境,减少了服务器和存储设备的数量,同时也减少了对数据中心空间的占用,降低了能耗费用。