首页  ·  知识 ·  基础设施
虚拟化技术在容灾系统中的应用
网友     数据中心  编辑:dezai   图片来源:网络
容灾系统是在各种灾难损害发生后,仍然能够最大限度地保障提供正常应用服务的计算机信息系统,在发生灾难时,为了能够保证业务的连续性,必须能够实
容灾系统是在各种灾难损害发生后,仍然能够最大限度地保障提供正常应用服务的计算机信息系统,在发生灾难时,为了能够保证业务的连续性,必须能够实现系统透明的迁移,传统方案有磁盘镜像、数据库复制、操作系统级同步等,这些方案会影响主系统的生产性能。本文研究基于虚拟化技术的容灾系统,能够实现几乎零停机实时迁移,从而最大程度地降低任何由系统故障等灾难性事件带来的威胁。

2 容灾系统的分级与评价

容灾系统一般是以数据丢失量和数据恢复时间作为标准进行评价的,所公认的评价标准是RPO(Recovery Point Objective)和RTO(Recovery Time Objective)。RP0是指数据恢复点目标,代表了当灾难发生时允许丢失的数据量。RTO是指恢复时间目标,主要指的是所能容忍的业务停止服务的最长时间,也就是从灾难发生到业务系统恢复服务功能所需要的最短时间周期。RIO与RTO越小,系统的可用性就越高,当然用户需要的投资也越大。对于不同企业的同一种业务,RPO和RTO的需求也会有所不同。因此,应当根据项目资金的投入,业务特点与业务性质,确定恰当的RPO和RTO目标。

为了便于描述和量化分析各种不同的灾难恢复方法和技术,工程上通常将不同的容灾恢复方法和技术进行分层。分层提供了一种方法,用来定义当前的服务级别、当前的风险,以及期望的目标服务级别和目标环境。最有影响的分层标准是由Share User Group和mM公司联合制定的标准?它将灾难恢复分为7层,定义了每层的恢复时间目标和恢复点目标,以及采用的相关技术,投资情况,第0层不提供远离节点的数据备份,也就是没有备份措施,事实上并不具有灾难恢复的能力,第1层在平时备份所需要的信息并将它运送到异地保存,典型的恢复时间超过一周。第2层在第1层的基础上增加了备份节点基础设施,备份节点拥有足够的硬件、备份数据和网络连接设备,当主数据中心破坏时可切换用于支持关键应用,典型的恢复时间超过一天。第3层在第2层的基础上,要求备份节点保持运行状态,并定时电子传送一部分关键数据,典型的恢复时间为一天。第4层要求对恢复节点的数据提供管理,要求地理上分开的两个站点同时处于工作状态并相互管理彼此的备份数据,典型的恢复时间在一天内。第5层在第4层的基础上,要求对一部分数据采用两阶段提交协议,这样保证了任何一项事务在被接受以前,两个站点间的数据都必须同时被更新。还要求系统具有负载平衡和转移的能力,典型的恢复时间低于12小时。第6层要求所有的数据都将在本地和远程数据库之间同步更新,当发生灾难事件时,备援站点能通过网络侦测故障并立即自动切换,负担起关键应用。从成本的角度来说,随着灾难恢复层次的递增,相应的投资也递增。

容灾系统按照所保障内容分类,可以分为数据级容灾和应用级容灾系统。数据层容灾是指建立一个异地的数据系统,作为本地关键应用数据的一个备份,保证用户数据的完整性、可靠性和安全性。数据级别容灾的关注点在于数据,即灾难发生后可以确保用户原有的数据不会丢失或者遭到破坏。当主站点发生灾难时,备份站点仍然保存着数据的副本,从而达到保护数据的目的。数据级容灾较为基础,其中较低级别的数据容灾方案仅需利用磁带库和管理软件就能实现数据异地备份,达到容灾的功效;而较高级的数据容灾方案则是依靠数据复制工具,例如卷复制软件或者存储系统的硬件控制器,实现数据的远程复制。数据级别容灾是保障数据可用的最后底线,当数据丢失时能够保证应用系统可以重新得到所有数据。应用层容灾是在数据容灾的基础上,在异地建立一套完整的与本地生产系统相当的备份应用系统,它们可以是互为备份。在灾难情况下,远程系统迅速接管业务运行,以提供不间断的应用服务,因此应用层容灾是更高层次的容灾系统。应用级容灾系统需要保证系统提供不间断的用户应用服务,完成系统的服务请求能继续运行,保证信息系统提供的服务完整、可靠、安全。它可以实现完全的应用容灾,一旦主站点发生灾难,将由备份站点接管整个应用系统,继续对外提供服务,它不仅仅保存数据,还要保证业务系统的连续运行即业务连续性。

3 虚拟化技术实现方式与体系结构

虚拟化技术在计算机中具有广泛的含义,在本文中虚拟化主要表达了计算与处理是在虚拟的基础上运行,而不是在物理真实的基础上运行。虚拟的基本含义就是通过软件模拟一个物理环境,从而使得原本只能在物理环境中运行的软件(如操作系统)可以运行于一个虚构的软件环境。

下面是一些在虚拟化技术在研究与讨论的过程中经常会使用到的术语:

虚拟机监视器(VMM:Virtual Machine Monitor):它是一种主机管理程序,能够允许单台计算机支持多个运行环境。所有的运行环境将拥有完全相同的自主运行的虚拟机器,这些虚拟机器可能实际上运行在同一台物理节点机上。

虚拟机管理程序(Hypervisor):Hypervisor是虚拟机监视器的另外一种通用表达方式,一般指虚拟机程序运行于硬件与操作系统软件的层次。

主机操作系统(Host OS:Host Operating System):虚拟机软件运行在一个现有的操作系统之上,使用现有的操作系统提供虚拟机相关的功能。此时提供虚拟机软件运行的操作系统平台被称为主机操作系统,又被称为宿主操作系统。

客户操作系统(Guest OS:Guest Operating System):在虚拟机监视器软件内部运行的操作系统被称为客户操作系统,因此客户操作系统运行于一个虚拟的软件环境而不是实际的硬件环境。

当前IA32平台上虚拟机监视器的实现方式

图1 当前IA32平台上虚拟机监视器的实现方式

图1给出了当前流行的IA32平台上虚拟机的三种实现方式,包括了三家公司的产品。从图中可以看到,VMwarc Workstation与VMware Server的实现方式都是在进程中实现,可以划分为进程级虚拟机。而Microsoft Virtual Server的实现方式比较特殊,在操作系统的内部通过核心层软件实现,可算是系统级的虚拟机。MicrosoftViridian是微软公司的下一代虚拟机软件,尚在开发之中,其实现方式与VMwarc ESX Server与Xen类似,都是在裸机上直接实现,属于系统级虚拟机。

在图2中给出了全虚拟化,半虚拟化与预虚拟化之间的体系结构比较。在图示中锯齿状的分界面图形表达了未经修改的硬件接口,可能是物理的硬件接口,也可能是虚拟的硬件接口。方波分界面图形表达了经过修改硬件接口,因此是从属于半虚拟化的接口环境。

不同虚拟化方法的体系结构

图2 不同虚拟化方法的体系结构

在图2中,A代表了通常的操作系统运行环境,操作系统直接运行在硬件平台之上;B代表了全虚拟化环境,此时操作系统运行于虚拟的硬件平台,并且此虚拟硬件平台未经修改;C代表了半虚拟化环境,虚拟的硬件环境需要修改的操作系统支持才能够运行;D则代表了预虚拟化体系,使用in—place的虚拟机实现方式从而无需操作系统的修改。

4 容灾系统中基于虚拟化技术的系统迁移

在发生灾难时,为了能够保证业务的连续性,必须实现能够实现系统透明的迁移,也就是能够利用备用系统透明的代替生产系统。对于实时性要求不高的容灾系统,通过DNS或者IP地址的改变来实现系统迁移便可以了,但是对于可靠性、实时性要求较高的系统,就需要使用进程迁移算法以及本文提出的基于虚拟化技术的系统迁移。

进程迁移算法的好坏对于系统迁移的速度有很大影响,现在该算法在分布式系统和集群中得到了广泛的运用,并发挥着重大作用,也有很多研究对该算法的性能进行了改进。进程迁移算法在目前主要有贪婪拷贝算法、惰性拷贝算法和预拷贝算法。贪婪拷贝算法简单、易于实现,但是延时较长,并且冗余数据的造成较大的网络延迟;惰性拷贝的延迟小,网络负担小,但是对原主机具有生于依赖性,可靠性差;预拷贝算法将信息分两次拷贝,使得传输时间反而增长。

虚拟机的迁移是为了将虚拟运行的操作系统与应用程序从一个物理节点迁移到另外一个运行节点,同时,在迁移的过程中保持操作系统和应用程序的运行情况尽可能不受打扰。通过虚拟机的迁移能够使得服务器之间负载均衡、保证服务质量、节约电能(可以关闭无虚拟机的物理节点)等诸多特性。为了更好地支持虚拟机的应用,系统级虚拟机提供者研究并提出了虚拟机在物理节点机之间迁移的方案,多项研究表明在不同的虚拟机平台上会有不同的迁移方案。

VMware的虚拟机迁移方案旧1与Xen的迁移方案都基于Intel IA32的平台,迁移机制类似,但在具体的技术上有一些细节上的差别。虚拟机的迁移与经典的进程迁移有很大的不同,由于有了虚拟机这样一个容器,整个操作系统能够作总体的迁移,运行其上的应用程序感觉不到相应的变化,可以透明地运行。虚拟机的迁移主要包括文件系统的迁移,内存模块的迁移,以及输入输出设备的重定向。对于文件系统的迁移,这两种迁移方案都通过网络文件系统屏蔽了这一部分操作;内存的迁移则通过分阶段的办法,将整个内存总体迁移,并且在迁移的过程中记录内存的修改状态,最后冻结整个操作系统的执行,将整个内存迁移到目标节点机。由于此时发生更改的内存余量非常少,能够达到非常短的迁移时间。经过测试,虚拟机迁移方案能够在一秒钟之内(根据虚拟机的大小不同,迁移时间从60毫秒到1秒不等)从一个物理节点迁移到另外一个物理节点。对于输入输出来说,最重要的迁移动作是保持网络连接不受影响。在Xen系统内部,这一点是使用ARP协议来实现的,将m地址可以直接定向到新的物理机中,因此只能在集群内部使用。而VMware虚拟机的VMofion机制则通过虚拟机提供的虚拟网卡维持唯一的物理层地址来完成网络连接的迁移,也只能应用在集群系统内部。

针对虚拟机的迁移问题,另外一些研究机构研究了在分布式环境下如何进行虚拟机迁移的问题。此时,虚拟机迁移不需要实时保证程序运行,而需要保持一个状态,但是需要对存储系统(文件系统)进行迁移。前述的系统通过网络文件系统绕过了这个问题。斯坦福大学的研究人员研究了如何通过发送更新的方法能够传送一个虚拟机的镜像哺j,在发送虚拟机的时候,使用哈希函数的办法判断重复的数据块,仅发送不相同的数据块,就能够通过一个慢速的网络迁移一个虚拟机,这对于移动计算是非常有意义的。哥伦比亚大学的Zap系统是另外一个用来迁移计算环境的系统。Zap系统的目标是建立一个进程迁移系统(process migration)。并且在系统内部使用了一个轻量级的虚拟机层。通过虚拟层,研究人员将多个进程构成相互有联系的组,如此在迁移的过程中,可以将有相互联系的进程共同迁移,就不会产生由于关联性而无法迁移的状况。亚利桑那州州立大学的研究人员也在Windows环境下面研究了类似的问题,通过在Windows操作系统之上建立一个新的虚拟化层次,对进程提供虚拟的操作系统服务,从而形成一个通用的进程迁移环境。5 基于VMware的石油勘探数据处理系统容灾方法

在石油勘探数据处理系统建设过程中,石油勘探数据处理系统的可用性和安全性受到越来越多的关注。石油勘探数据处理系统的高可用性往往受到宕机、软件缺陷、硬件老化、病毒攻击、操作失误以及自然灾害等情况的影响。采用虚拟机VMware构建石油勘探数据处理系统高可用集群,充分利用现有设备,可以有效地实现石油勘探数据处理系统的高可用性和数据的实时备份,同时节约了构建高可用系统的成本,保证石油勘探数据处理系统服务的不间断运行。

5.1基于VMware的高可用集群

VMware为运行在虚拟机ESX Server中的应用程序提供易于掌握的、经济高效的高可用性,在服务器发生故障时,受影响的虚拟机将在留有备用容量的其他机器上自动重启,VMware高可用集群将停机时间和rr服务中断减至最低,同时不需要专门的备用硬件和安装附加软件。整个虚拟化IT环境具有高可用性,没有用于操作系统特定应用程序故障切换解决方案的成本和复杂性。

VMware高可用集群体系结构包括以下部分:VMwareESX Server,用于虚拟化服务器、存储和网络的平台;VMwareVMFS,用于存储虚拟化的高性能群集文件系统:VMwareVirtual SMP,为虚拟机提供多处理器支持;VMware VirtualCenter,为IT基础架构提供集中化管理、操作自动化和优化;VMware HA,为虚拟机提供经济高效的高可用性:VMwareDRS,为虚拟机提供动态平衡和资源分配;VMware VMotion,虚拟机实时迁移且服务不中断;VMware Consofidated Backup,用于虚拟机的集中式备份软件。

5.2运用VMware的构建石油勘探数据处理容灾系统

采用VMware构建石油勘探数据处理系统高可用集群,不需要为系统中的每台服务器分别添置备用服务器,可以有效地降低系统成本。在基于VMware的石油勘探数据处理系统高可用集群中,备用服务器安装了VIV[ware ESX Server,与数据库服务器、web服务器、数据处理服务器和文件服务器等构成高可用集群,同时采用数据库备份服务器实现差额计划备份。采用SAN存储方式,可以将每个虚拟机的文件系统创建在共享的SAN集中存储阵列上,VMware VMFS虚拟机文件系统允许多个ESX Server安装同时访问同一虚拟机存储。

支持通过VMware Virtual Center、VMware VMotion技术、VMware DRS和VMware HA提供的基于虚拟化的分布式基础结构服务。由于VMware的虚拟架构系统中的虚拟机实际上是被封装成了一个档案文件和若干相关环境配置文件,通过将这些文件放在SAN存储阵列上的VMFS文件系统中,可以让不同服务器上的虚拟机都可以访问到该文件,从而消除了单点故障。

VMware高可用集群中VMware HA不间断地监控资源池中的所有ESX Server主机服务器,并检测故障。放置在每台服务器上的代理程序不断向资源池中的其他服务器发出“心跳信号”,”心跳信号”的终止将启动所有受影响的虚拟机在其他服务器上的重启过程。VMware七高可用集群中VMwareHA时刻监控群集中是否有足够的资源可用,确保资源池中始终有充足的资源,以便能够在出现服务器故障时在不同的物理服务器上重启虚拟机。

VMware VMofion的虚拟机迁移

图3 VMware VMofion的虚拟机迁移

VMware VMotion将服务器、存储和网络设备完全虚拟化,使得正在运行的整个虚拟机能够在瞬间从一台服务器移到另一台服务器上。VMware VMotion能将运行中的虚拟机从一台主机转移到另一台主机,同时保持连续服务的可用性。使用VMware VModon将虚拟机从一台物理服务器实时迁移到另一台物理服务器的过程是通过三项基础技术实现的。首先,虚拟机的整个状态由存储在共享存储器(如光纤通道)或iSCS I存储区域网络(SAN),或网络连接存储(NAS)上的一组文件封装起来。第二,VMotion通过在位图中连续跟踪内存事务来确保用户察觉不到传输期。第三,虚拟机使用的网络也被底层ESX Server虚拟化,确保即使在迁移之后,虚拟机的网络身份和网络连接也能被保留下来。VMotion在此过程中管理虚拟MAC地址,一旦目标机被激活,VMotion就会ping网络路由器,以确保她知道虚拟MAC地址的新物理位置,因为用VMotion进行虚拟机迁移可保持精确的执行状态、网络身份和活动网络连接,其结果是实现了零停机时间而且不中断用户操作。

虚拟机的全部状态由存储在共享存储器上的一组文件进行封装,而VMware的虚拟机文件系统(VMFS)群集文件系统为ESX Server实例提供了对同一组虚拟机文件的并行读写访问能力,允许源和目标VMware ESX同时访问这些虚拟机文件。然后,虚拟机的活动内存和精确的执行状态可通过高速网络迅速传输。由于网络也被VMware ESX虚拟化,因此,虚拟机保留其网络标识和连接,从而确保实现无缝迁移。

如图4所示,当物理服务器A发生故障时,心跳检测发现A服务器发生故障,A上的资源自动迁移到B和C服务器上,保持了业务的高可用性。

VMware高可用集群故障切换

图4 VMware高可用集群故障切换

在VMware ESX Server中安装多个虚拟机,分别作数据库服务器、wcb服务器、数据处理服务器和文件服务器的备用机,采用HA软件检测物理服务器的工作状态,当出现故障时接管服务。这样就保证了服务的不间断性。提高了整个石油勘探数据处理系统的高可用性,实际运行过程中产生了良好的效果。

采用VMware构建石油勘探数据处理容灾系统,有效地实现勘探数据高可用及实时备份,同时充分利用系统原有设备,不必大量购置高性能服务器和交换机等设备,从而降低了构建高可用系统的成本。该解决方案确保石油勘探数据处理系统服务的不间断性,提高了整个石油勘探数据处理系统的高可用性。

6 小结

应用级容灾系统需要保证系统提供不间断的用户应用服务,保证信息系统提供的服务完整、可靠、安全。可靠性、实时性要求较高的系统,需要使用基于虚拟化技术的系统迁移以实现系统透明的迁移,实现达到灾难恢复方法和技术最高层即第6层要求的恢复时间目标和恢复点目标。基于虚拟化技术的VMware VMotion允许迁移正在运行中的虚拟机,实现了无中断的IT环境维护。它可以将正在运行的虚拟机从一台物理服务器移动至另一台物理服务器,而不影响最终用户。从而可使IT环境保持正常运行,提供空前的灵活性和可用性,以满足业务和最终用户不断增长的需要。性要求较高的系统,需要使用基于虚拟化技术的系统迁移以实现系统透明的迁移,实现达到灾难恢复方法和技术最高层即第6层要求的恢复时间目标和恢复点目标。基于虚拟化技术的VMware VMotion允许迁移正在运行中的虚拟机,实现了无中断的IT环境维护。它可以将正在运行的虚拟机从一台物理服务器移动至另一台物理服务器,而不影响最终用户。从而可使IT环境保持正常运行,提供空前的灵活性和可用性,以满足业务和最终用户不断增长的需要。

 

本文作者:网友 来源:网络
CIO之家 www.ciozj.com 微信公众号:imciow
    >>频道首页  >>网站首页   纠错  >>投诉
版权声明:CIO之家尊重行业规范,每篇文章都注明有明确的作者和来源;CIO之家的原创文章,请转载时务必注明文章作者和来源;
延伸阅读
也许感兴趣的
我们推荐的
主题最新
看看其它的