小型微型计算机系统
JournalofChineseComputerSystems2010年10月第10期
Vol31No.102010
收稿日期:20090716收修改稿日期:20091230基金项目:国家九七三 重点基础研究发展计划项目(2007CB310903,2007CB311107)资助.作者简介:刘其成,男,1970年生,博士,副教授,研究方向为并行和分布式计算,计算系统虚拟化;郑纬民,男,1946年生,教授,博士生导师,研究方向为高性能计算,网格;陈康,男,1976年生,博士,讲师,研究方向为分布与并行计算,操作系统,虚拟化.虚拟化技术在容灾系统中的应用
刘其成1,2,郑纬民1,陈康1
1(清华大学计算机科学与技术系,北京100084)2(烟台大学计算机学院,山东烟台264005)Emai:lytliuqc@163.com
摘要:对容灾系统进行分级与评价,讨论虚拟化技术实现方式与体系结构,研究基于虚拟化技术的实时迁移在容灾系统中应
用,并运用VMware实现石油勘探数据处理系统容灾的方法.
关键词:容灾;虚拟化;迁移;VMwareVMotion
中图分类号:TP311文献标识码:A文章编号:10001220(2010)10195405
ResearchonDisasterRecoverySystemBasedonMigrationofVirtualMachine
LIUQicheng1,2,ZHENGWeimin1,CHENKang1
1(DepartmentofScienceandTechnology,TsinghuaUniversity,Beijing100084,China)2(SchoolofScienceandTechnology,YantaiUniversity,Yantai264005,China)
Abstract:Thegradingandevaluationofdisasterrecoverysystemisdescribed,theimplementationandarchitectureofvirtualization
technologyisdiscussed,theapplicationofrealtimemigrationbasedonvirtualizationtechnologyindisasterrecoverysystem,andthe
methodtoachieverealtimevirtualmachinemigrationusingVMwareVMotiontechnologyisstudied.
Keywords:disasterrecovery;virtualmachine;migration;VMwareVMotion
1引言
容灾系统是在各种灾难损害发生后,仍然能够最大限度
地保障提供正常应用服务的计算机信息系统.在发生灾难时,
为了能够保证业务的连续性,必须能够实现系统透明的迁移.
传统方案有磁盘镜像、数据库复制、操作系统级同步等,这些
方案会影响主系统的生产性能.本文研究基于虚拟化技术的
容灾系统,能够实现几乎零停机实时迁移,从而最大程度地降
低任何由系统故障等灾难性事件带来的威胁.
2容灾系统的分级与评价
容灾系统一般是以数据丢失量和数据恢复时间作为标准
进行评价的,所公认的评价标准是RPO(RecoveryPointOb
jective)和RTO(RecoveryTimeObjective)[1].RPO是指数据
恢复点目标,代表了当灾难发生时允许丢失的数据量.RTO
是指恢复时间目标,主要指的是所能容忍的业务停止服务的
最长时间,也就是从灾难发生到业务系统恢复服务功能所需
要的最短时间周期.RPO与RTO越小,系统的可用性就越
高,当然用户需要的投资也越大.对于不同企业的同一种业
务,RPO和RTO的需求也会有所不同.因此,应当根据项目
资金的投入,业务特点与业务性质,确定恰当的RPO和RTO
目标.
为了便于描述和量化分析各种不同的灾难恢复方法和技术,工程上通常将不同的容灾恢复方法和技术进行分层.分层
提供了一种方法,用来定义当前的服务级别、当前的风险,以
及期望的目标服务级别和目标环境.最有影响的分层标准是
由ShareUserGroup和IBM公司联合制定的标准[1].它将灾
难恢复分为7层,定义了每层的恢复时间目标和恢复点目标,
以及采用的相关技术,投资情况.第0层不提供远离节点的数
据备份,也就是没有备份措施,事实上并不具有灾难恢复的能
力.第1层在平时备份所需要的信息并将它运送到异地保存,
典型的恢复时间超过一周.第2层在第1层的基础上增加了
备份节点基础设施,备份节点拥有足够的硬件、备份数据和网
络连接设备,当主数据中心破坏时可切换用于支持关键应用,
典型的恢复时间超过一天.第3层在第2层的基础上,要求备
份节点保持运行状态,并定时电子传送一部分关键数据,典型
的恢复时间为一天.第4层要求对恢复节点的数据提供管理,
要求地理上分开的两个站点同时处于工作状态并相互管理彼
此的备份数据,典型的恢复时间在一天内.第5层在第4层的
基础上,要求对一部分数据采用两阶段提交协议,这样保证了
任何一项事务在被接受以前,两个站点间的数据都必须同时
被更新.还要求系统具有负载平衡和转移的能力,典型的恢复
时间低于12小时.第6层要求所有的数据都将在本地和远程
数据库之间同步更新,当发生灾难事件时,备援站点能通过网
络侦测故障并立即自动切换,负担起关键应用.从成本的角度
来说,随着灾难恢复层次的递增,相应的投资也递增.10期刘其成等:虚拟化技术在容灾系统中的应用
容灾系统按照所保障内容分类,可以分为数据级容灾和
应用级容灾系统.数据层容灾是指建立一个异地的数据系统,
作为本地关键应用数据的一个备份,保证用户数据的完整性、
可靠性和安全性.数据级别容灾的关注点在于数据,即灾难
发生后可以确保用户原有的数据不会丢失或者遭到破坏.当
主站点发生灾难时,备份站点仍然保存着数据的副本,从而达
到保护数据的目的.数据级容灾较为基础,其中较低级别的数
据容灾方案仅需利用磁带库和管理软件就能实现数据异地备
份,达到容灾的功效;而较高级的数据容灾方案则是依靠数据
复制工具,例如卷复制软件或者存储系统的硬件控制器,实现
数据的远程复制.数据级别容灾是保障数据可用的最后底线,
当数据丢失时能够保证应用系统可以重新得到所有数据.应
用层容灾是在数据容灾的基础上,在异地建立一套完整的与
本地生产系统相当的备份应用系统,它们可以是互为备份.在
灾难情况下,远程系统迅速接管业务运行,以提供不间断的应
用服务,因此应用层容灾是更高层次的容灾系统.应用级容灾
系统需要保证系统提供不间断的用户应用服务,完成系统的
服务请求能继续运行,保证信息系统提供的服务完整、可靠、
安全.它可以实现完全的应用容灾,一旦主站点发生灾难,将
由备份站点接管整个应用系统,继续对外提供服务,它不仅仅
保存数据,还要保证业务系统的连续运行即业务连续性.
3虚拟化技术实现方式与体系结构
虚拟化技术在计算机中具有广泛的含义,在本文中虚拟
化主要表达了计算与处理是在虚拟的基础上运行,而不是在
物理真实的基础上运行.虚拟的基本含义就是通过软件模拟
一个物理环境,从而使得原本只能在物理环境中运行的软件
(如操作系统)可以运行于一个虚构的软件环境.
图1当前IA32平台上虚拟机监视器的实现方式
Fig.1ImplementationofVMMonIA32platform
下面是一些在虚拟化技术在研究与讨论的过程中经常会使用到的术语:虚拟机监视器(VMM:VirtualMachineMonitor):它是一
种主机管理程序,能够允许单台计算机支持多个运行环境.所
有的运行环境将拥有完全相同的自主运行的虚拟机器,这些
虚拟机器可能实际上运行在同一台物理节点机上.
虚拟机管理程序(Hypervisor):Hypervisor是虚拟机监视
器的另外一种通用表达方式,一般指虚拟机程序运行于硬件
与操作系统软件的层次.
主机操作系统(HostOS:HostOperatingSystem):虚拟机
软件运行在一个现有的操作系统之上,使用现有的操作系统
提供虚拟机相关的功能.此时提供虚拟机软件运行的操作系
统平台被称为主机操作系统,又被称为宿主操作系统.
客户操作系统(GuestOS:GuestOperatingSystem):在虚
拟机监视器软件内部运行的操作系统被称为客户操作系统,
因此客户操作系统运行于一个虚拟的软件环境而不是实际的
硬件环境.
图1给出了当前流行的IA32平台上虚拟机的三种实现
方式,包括了三家公司的产品.
从图中可以看到,VMwareWorkstation与VMwareServer
的实现方式都是在进程中实现,可以划分为进程级虚拟机.而
MicrosoftVirtualServer的实现方式比较特殊,在操作系统的
内部通过核心层软件实现,可算是系统级的虚拟机.Microsoft
Viridian是微软公司的下一代虚拟机软件,尚在开发之中,其
实现方式与VMwareESXServer与Xen类似,都是在裸机上
直接实现,属于系统级虚拟机.
在图2中给出了全虚拟化,半虚拟化与预虚拟化之间的
体系结构比较.在图示中锯齿状的分界面图形表达了未经修
图2不同虚拟化方法的体系结构
Fig.2Architectureofdifferentvirtualizationmethod
改的硬件接口,可能是物理的硬件接口,也可能是虚拟的硬件
接口.方波分界面图形表达了经过修改硬件接口,因此是从属
于半虚拟化的接口环境.1955