虚拟化技术在容灾中的应用

中国电信广东研究院高级项目主管 郑文武

演讲PPT下载(PDF版本):虚拟化技术在容灾中的应用

郑文武:

 

  各位领导、各位来宾,大家下午好。今天很荣幸主办方和承办方能够提供这样一个舞台,让我在这里发言,另外更荣幸的是,承办方把这个压轴戏交给了我们中国电信,但是比较遗憾的是,场里的来宾已经走了一些了,我想原因可能是大家在这个会刊上面看到了我的照片,估计是个人魅力不够,不好意思。

 

我发言的题目是《IT虚拟化技术在电信容灾中的应用》。

 

先做个自我介绍,我叫郑文武,来自中国电信广州研究院。我长期从事计算机软件设计开发、项目管理工作,现在是中国电信BSS、OSS中心与中国电信软件评测中心的负责人之一。这个上面有我的联系地址和电话,因为这次来名片没带够,所以大家如果希望跟我联系的话,这上面有我的邮箱和手机。

 

  我的发言分为这样几个内容,一个是先简单地介绍一下我们中国电信广州研究院。因为我发言的核心就是要跟大家分享一个案例,讨论虚拟化技术在电信容灾中的应用,为了进行这样的讨论可能要谈一谈我们对虚拟化的理解,所以在跟大家分享这个案例之前要讨论一下,谈谈我们对虚拟化的理解并且简单地回顾一下容灾,因为这个项目是容灾项目,所以要对于容灾的相关技术做一个简单地回顾。

 

下面先给大家介绍一下,我们中国电信广州研究院,我们这个院的历史已经是50年了,历史是很悠久的,古老的历史我们就不说了,我们谈一下近现代史,近现代史就是从2002年开始,我们加大集团公司的支撑力度,现在我们有集团公司以及广东省公司给我们建设的实验室,具有一定档次和规模的实验室,我们在这个开发以及支撑任务当中也获得了一些奖励,这些包括中国电信科技进步一等奖,广东电信科技进步一等奖等。

 

下面就谈一谈我个人对虚拟化的一些理解,我们大家也注意到下午运行商的发言跟厂家的发言有所区别,一般都会谈到对虚拟化的理解。厂商的发言一般都是介绍一些概念,介绍一些理论和一些产品,那么这些一大堆的概念、产品,都需要我们这些运营商进行消化、理解,所以这里我也把我们的理解跟大家分享一下。但是我个人的理解不够全面,不够精确,希望大家有机会不吝赐教、指正。

 

  虚拟化的表象很简单,所见非所得,你所看到的其实跟物理上是不一致的。虚拟从这个“虚”字就可以看出来。刚才联通的曹先生发言,也谈到了他对虚拟化的理解,比如他举的例子就是网络的七层协议,他这个分层也是的,你看到的,你在最高层看到的和他最下面的物理层是不一致的,他这个观点我也是很赞同的,比如说我们所看到的可能是一台主机,其实他可能通过这种虚拟化的方式,把很多主机虚拟化成一台主机。我们在表面上看到的是很多台主机,但是实际上它可能是分区或者是通过虚拟机方式虚拟的,他在物理上只是一台主机,这就是是一种表面现象。

 

但是为什么这么做呢?为什么?虚拟化它的目标是什么呢?我们的理解用现在比较时髦的词汇来说就是和谐,什么是和谐?从事可运营商维护支撑的工程师知道,有些系统在某个时段非常繁忙,但是在另外的时段,他们又比较闲暇,在同一时刻有些系统繁忙有些系统闲暇,而一个系统可能在这个时段繁忙,另外一个时段比较闲暇比较空闲,那么虚拟化的一个目标就是消除这种“贫富不均”,让它在繁忙的时候不是那么繁忙,在空闲的时候能够把资源能给其他比较繁忙的系统应用,我想这是虚拟化要解决的一个问题。

 

另外一个问题就是说简化使用、简化管理,简化这个问题确实是很重要的,比如我们中国电信现在的集采,为了避免某个厂家的垄断,我们一般都会在一个系统当中,希望能采购多家设备,但是这个问题,在某些情况下就会遭到下面运维人员的反对,为什么呢?因为多个厂家设备的并存就会导致管理非常麻烦,虚拟化可能通过增加一层虚拟层,达到让统一管理的目的。比如存储的虚拟化,现在很多厂家都是推出来一个存储的虚拟化管理这个产品,也就是为了解决这个问题。

 

虚拟化的方法就是先对资源进行划分,然后对已经划分好的资源进行重新地整合,比如说一台主机,可以先把CPU、把内存先进行一些划分,然后进行分区,当然随着技术的不一样的划分粒度也不一样,分割的粒度不一样,比较高级的技术,分割的粒度非常细。先划分,然后再重新整合,然后一个可以动态调整资源,就是这个划分必须是动态的。也就是前面说的让这个资源和谐利用,和谐利用必须要进行动态划分,不能划分好了就不能动了,那这个资源仍然是不能够得到有效地利用,所以必须能够动态地调整资源。第三种方法就是增加隔离层,也就跟简化使用、简化管理这个目标有关系了。

 

其实我把这个总结一下就是用两句话、用两个词,当然不是很精确,就是“分久必合”、“合久必分”,什么意思呢?“分久必合”,这个虚拟化很多是合,比如把多台的存储,看上去就像是一台存储,分就是一台主机,看上去像很多台主机,一个分一个合这两个,这两个截然相反的东西,都要用在虚拟化的方法上。目的当然都是为了和谐地利用资源简化管理、简化使用。

 

虚拟化是最近一两年比较热门的一个话题,然后概念也是在最近一两年出现的,在这个意义上说我们可以说虚拟化是一种新的东西,这次我来的时候也就听承办方说虚拟化的案例,不是很好找,因为虚拟化是新的东西,这个说法也是正确的。但是我们从虚拟化的本质来看,虚拟化是源远流长,这是我个人理解。因为从很早的时候起,分时操作系统,我认为它也是一种虚拟化,分时操作系统就是什么呢?我们现在都是网络,一人一台主机,当时我们十几年前,二十年前,我们上机的时候都是一台小型机,一台小型机有几十个终端,给每个人的感觉,给每个上机人员的感觉就是他一个人在独享这台机器,其实它是操作系统通过这个分时处理,让人感觉到,让每个用户感觉到他在独享这台机器,用我们现在概念来看就是它也是虚拟机,一个虚拟机的概念,每一个用户用的都是一台虚拟机,所以我就说虚拟化源远流长。从本质上来看,不是说最近才出现的东西。早期的单CPU的主机并行处理,它通过多进程、多线程进行并行处理,让你感觉到计算、显示和打印都是并行的,其实不是并行的,但是他虚拟出来的这样一种现象,让我们感觉到它是并行的,我认为这个也是一种虚拟化。

 

我们刚才说到合久必分,就是一个整机我们通过分区或者虚拟机,把它分成很多个资源,当然这种分法就是有硬件分区资源分区,在硬件级的,比如说一个CPU,一个整块的分出去,粒度可以更细,对CPU的时间再进行划分,它作为这个分区,就是还有一些其他的要求,就是他的目的当时是在一台主机上运行多个工作负载,另外就是通过资源的动态调配,将空闲的资源用于比较繁忙的工作负载。这必须有个前提,各个工作负载必须独立运行,互不干扰,我为什么跟大家说到这个?就是我们后面的案例会用到这样一些东西,要进行这样的划分,就是我所说的合久必分。然后还有一个分久必合。分久必合就是,比如nas服务器,当然,nas不是一个虚拟化的典型情况,这个nas服务器在流媒体当中应用的还是比较多的。前端用户感觉到它只是一台服务器,但其实我们可以看到,在这台nas后面,它有很多个盘阵、很多个存储设备,虽然你感觉到的只是一台nas服务器,但实际上不是这样。还有一种现象,就是现在也在存储当中比较热门的,我们所说的存储虚拟化,有时候就是单指下面这种情况。就是我有很多个厂家的设备,一个应用环境当中,有很多家的设备,但是有时候我们需要把这些设备用一个虚拟设备把它统一起来,让它看起来只是一台设备。现在有不少家的存储厂家,推出了这样的产品,我们实验室目前也准备做这样的测试。这样一种虚拟化的思想,也已经用到了我们后面要跟大家所分享的案例当中。

 

  下面就是跟大家简单地做一个回顾,就是容灾,说到容灾大家搞过容灾的同事可能知道,容灾有七个层次:

一:零层是指的什么呢?就是它仅在本地做数据备份,这个从严格意义上说就是不能容灾了,容灾的目的就是说你这个地方发生问题了、发生灾难了,这个系统数据能够完整、系统能够运行,零层的数据就在本地,这个一旦发生问题的话这个数据就没了。

二:一层就是有数据备份,不备份应用,它的数据就是已经放到异地了,现在其实还是有相当数量的生产系统,就是处于这个层次,我们后面要分享的案例也就是处于这个层次,只是做个数据备份,人工地把这个磁带送到另外一个地方去。

三:第二层有数据备份,有备用系统,就是不但把数据放到异地了,而且在异地还有一个备用的系统,这样就是可以进行应用切换,发生灾难以后,不但数据是保存的,而且应用经过不太长时间的中断可以恢复,中断是可以有的,但是它还是可以恢复起来。

四:第三层电子链接,它跟第二层的区别是什么呢?就是说不用人工地去送,不用开车,不用跑腿,这个数据不是人送过去,而是通过网络把这个备份数据传送到异地。

五:第四层就是比较快速的,我们理解就是快速地把这个数据备份到异地去。

六:第五层就是交易的完整性,这个数据要讲究数据的完整,第四层是数据是不是完整是没有办法保证的,但可以通过事后验证,传输的过去的是不是正确,是不是完整,但是当时在备份数据的时候,对这个数据是否是完整的,是没有办法验证的。在第五层就要保证数据的完整性,不要出现脏写,数据库当中的脏写,这个一般我们理解可能通过盘阵的异步镜像可以达到第五层这个容灾。

七:第六层就是对数据的完整性要求更高了,这个基本上就没有数据的丢失,在备份系统和生产系统数据几乎是完全一致的,要做到这一点,我理解目前可能只能是通过盘阵的同步镜像来实现了,而且同步镜像目前的技术不可能是远程的,北京的数据想同步到上海基本上是不可能的,只能是可能在一栋楼当中,或者在一个大院子当中可以进行这样的数据同步镜像。

八:七层就是它的应用层,在应用层考虑到容灾问题,这个实际上在现实当中,一般还没有碰到过这样的系统,它考虑到容灾了。都是通过软硬件操作系统,或者是容灾的工具来实现,应用层本身是不可能容灾的。

所以说后面5、6、7层其实在现实当中,就是至少我们所了解的当中还是不存在的。

 

  下面就是要跟大家分享一下,虚拟化在广东电信容灾中的应用,这个容灾是用在多媒体综合业务管理系统当中,也就是163这个管理系统当中。这个系统是广东电信一个非常重要的系统,据我了解这个系统每年的收入是60个亿,所以说这是一个非常重要的系统,但是这样一个系统,这样一个重要系统,它的容灾基本上处于零层和一层,基本上可以说是没有容灾,倒是备份了,比较好的就是纪律执行比较严格的地方,定时备份数据,然后把这些数据存放到异地,但是这些数据是不是正确的,或者说是不是完整的,从来没有进行过验证,几年下来备份出来的磁带一大落、很多磁带,但是这些磁带中的数据是不是正确的,从来没有人进行过验证,其实很危险。这个系统的功能也是很庞大的,服务生成功能,VPN、PDN、虚拟卡、上网卡、客户关系管理功能,就提供客户管理和自服务功能、决策支持功能,提供报表数据分析和挖掘等功能,就是相当庞大的一个系统。

 

这个系统现状是一个什么样的呢?因为广东有21个地市公司,21个本地网,它这个系统就是在21个地市公司和省中心,它有一个省中心,都是独立运营的,总共可以分成22个子系统,并且22个子系统硬件平台、操作系统都不一致,有IBM的主机、有SUN的主机、有惠普的主机,惠普的主机比较多一些,有11个,有11个地市公司用的是惠普的主机,它的存储设备也是不一致的,用的比较多的就是EMC的设备,此外还包括了IBM的设备,这21个系统就是平时当然网络上也是有联系的,进行数据的交换。

 

我们这个项目的目标是什么呢?我们这个项目就是建立一个真正的容灾系统,不像以前,也是备份数据,你要说备份一大堆数据,磁带都用了很多箱子磁带,实际上这些数据到底怎么样?不知道,我们就是说建立一个真正的容灾系统,这个容灾层次大致处于第四层,第四层是什么呢?第四层就是说在备份中心有应用,发生灾难时应用可以进行切换,数据就是通过网络快速地复制到异地,第四层的含义大概就是这样。备份中心它这个应用必须也得有应用,但是这个应用平时处于戒备状态,我们刚才已经说了,以前备份的数据,用磁带备份的数据,是不是正确的,是不是完整的不知道,现在就是说我这个备份中心的系统,有一个重要的任务就是验证这些通过网络备份过来的数据,是否正确?是否完整,所以它这个应用平时也是在运行,并且随时准备切换。这样一个应用特点是什么呢?就是它对资源要求不高,因为它没有响应及时性的要求,所以说平时在备份中心这样的系统占用的资源并不多。当这个发生问题了以后,就是应用是手工切换,因为以前也考虑过自动切换,就是自动切换的实践证明就是不可靠的,还没有手工切换来得快、来得准确。

 

  我们这个项目的实施原则,就是发生灾难时,应用必须尽快切换,就是RTO就是恢复时间短,恢复时间就是尽可能小,平时各地市公司的备份系统独立运行互不干扰,如果某个地市公司发生灾难,应用切换到备份系统时,可以对备份系统资源进行重新调配,没有发生切换的备份系统要释放资源,以支撑发生切换的备份系统。什么意思呢?平时都处于轻量级的运行状态,就是没有发生灾难,一旦发生灾难比如说深圳发生灾难了,那么就要把深圳的应用给切换过来,其他没有发生灾难的备份系统,就要释放资源,把这个资源交给深圳的备份系统。另外一点就是RPO,要尽量地短,RPO是什么?就是恢复点,那意思是什么呢?就是数据备份的次数要尽量地多,同时在备份的时候不能影响生产系统,那也是不行的。

 

  另外简单地介绍就是数据复制方法,数据复制方法比如说主机到主机,我们今天上午的厂家的介绍,因为没有专门的盘阵厂家过来,所以介绍的方法可以看作基本上是主机到主机的复制方法,这样的一种复制方法就是必然要占用主机的时间。另外就是数据库到数据库,因为今天过来也没有数据库厂家,所以这个也没有介绍,数据库到数据库的复制,占用的主机资源相对要少一些,但是它有一个缺点是什么呢?它有一个缺点就是它只能备份数据库当中的数据,文件系统的数据它备份不了,因为当时最好的可能就是存储到存储,盘阵到盘阵这样一种方法备份的数据,第一,它基本上不占用主机资源,第二,它所有的数据,不论是数据库的还是操作系统的都能够进行备份。

 

我们进行方案选择的时候,根据上面的项目目标和项目的实施原则,我们的方案选择可能有三种:

一:第一种就是分散备份系统,就是在各个地方在广州、深圳在每个地方都建立一套备份系统,这个备份系统首先一个缺点就是造价十分高昂,21个本地网都建立一套21套备份系统,这样造价十分高昂,然后也不便于统一管理,也不符合集中统一的发展趋势,因为以后的系统可能尽量要集中。

  二:第二种方案就是物理集中备份系统,什么意思呢?就是我在省中心为各地,为广州、为深圳、为珠海,都建立一套备份系统,但是这些备份的主机,在物理上是集中在省中心的,这个缺点是成本依然是很高的,21个本地网21个备份系统,优点就是便于集中管理。

三:第三种方案就是完全集中备份系统,什么意思呢?我只用一台主机,在这一台主机上,为各个地市公司系统,建立备份系统,好处是很明显的,一个就是成本降低了,另外就是便于集中管理,但是实现起来有难度,就是碰到一些新东西了。前面已经介绍过了,各地的软硬件平台是不一致的,主机也不一致,存储设备也不一致,怎么备份?就面临这样一个问题。

 

怎样解决这个问题呢?就是用虚拟化,用虚拟化技术来解决这样的问题,其实我们上午有些厂家介绍的时候也提到了,他们的产品在容灾中的应用也提到了。我们现在就分享一下我们的案例,看看我们是怎么解决的这个问题。

 

首先在应用层面,在应用层面就是我们应用以来进行虚拟机的划分,因为有11个本地网是惠普的主机,所以首先实施是在惠普系统上进行实施,我把它划分在这一台主机上,我把它划分成11个虚拟机,让这11个虚拟机做11个地市公司的备份系统,平时都是轻量运行,当发生灾难的时候,进行资源的动态分配,虚拟机的动态资源分配,让它在接管生产系统。这在应用层面。

 

然后在存储层面,就是各个地市公司它的存储设备是不一致的,不一致的设备。现在虽然存储设备、磁盘阵列卷拷贝技术都是很成熟的,中高端的设备,中端以上的设备都可以进行远程的卷拷贝,但是有一个限制是什么呢?必须是同厂家的设备,EMC和HDS,他们两个厂家的设备之间要进行复制,基本上是不可能实现的,怎么办呢?解决这个问题仍然是虚拟化,我们在每个分公司系统,每个分公司生产系统当中,存储系统当中引入第三方的设备,这第三方的设备也可能也是生产系统存在的,用一个虚拟的服务器,把不同厂家的设备统一为一个厂家的设备,同时我们在省中心也是这么做,比如说都统一成H厂家的虚拟服务器,在这样的一种情况下,就可以进行数据的复制工作了,所以说通过这种方案我们就实现了163系统的容灾备份。

 

我的介绍就到这里,谢谢大家!

演讲PPT下载(PDF版本):虚拟化技术在容灾中的应