Derekgao
作者Derekgao2016-11-15 11:38
系统架构师, CSLC

基于业务RTO和RPO的需求分析及实现技术分析

字数 4204阅读 5762评论 0赞 4

我叫高迪,从事IT相关的工作有9年多时间,前三年我做软件开发,后六年在做系统集成。也许有人会对我的转行表示疑问,但是我个人感觉,就像有句话说的那样,任何之前付出的努力在之后的工作或是生活中,都会给你带来帮助。

在本文中,我要向大家介绍在存储领域的一些技术应用,我个人认为是当前国内的传统型企业(这里指的是相对于互联网企业来说)比较成功和具有一定前瞻性的解决方案。这些解决方案在现今的存储趋势发展中具有一定的代表性,希望能对大家起到一些借鉴作用。

在现代企业中,数据是最重要的保护对象。据2013年第三方机构的统计,68%的中国企业,因为数据损坏,在过去的12个月内遭受了计划外宕机,数据丢失或者安全违规。造成的后果是59%的企业,遭受到了收入损失。

可见,保证业务连续性至关重要。而传统解决方案,难以构建灵活可靠的IT系统,来提升服务并降低风险。特别是随着虚拟数据中心和云计算发展趋势的到来,企业该如何保护爆发式的数据增长,在恰当的成本下进一步缩短RTO和RTP指标,这就是我们今天需要讨论的话题。

我们首先引入的一个概念是BCM(Business Continuity Management),BCM的主要作用是当灾难发生后,迅速对业务进行切换、恢复,以保证业务的连续性。其不仅包括我们目前耳熟能详的备份、容灾,还体现在整个企业的管理层面,对人在灾备发生时的作用也有清晰完整的要求。我在这里不谈关于人的管理层面操作流程方面,虽然这也是非常重要的一部分。我只谈技术层面的实现。

针对数据保护的技术实现,我们有多种多样不同层次的保护方式,比如操作系统上的LVM镜像,磁盘阵列的各种RAID方式,物理磁带库,虚拟磁带库,或者离线的长期保存。但是其中最重要的一个共性就是一份数据多份存储,最重要的一个不同点,简单来说,就在于它们能够提供不同级别的RPO和RTO。我今天就沿着这条主线,按照提供的RPO和RTO不同,来分别讨论不同的保护方式解决方案。

传统的基于业务的磁带备份方式,在业务规模不大,或者对数据的RPO,RTO要求不高,比如在以天和小时为计量单位时,能够较好的保护数据,并在发生数据丢失时,提供可操作的数据恢复方法。这里面有很多成熟的产品和技术,比如IBM的TSM,Symantec的NBU,EMC的networker,甚至还有基于虚拟化平台的备份解决方案,比如VMware vSphere包含的Avamar产品,可以搭配各种硬件备份设备,实现不同类型的备份。

但是随着公司业务的发展和数据容量的增加,这种磁带备份方式在单个业务发生数据损失时,恢复方式尚可满足要求,然而一旦多个业务同时出现数据问题,或者磁盘阵列本身发生故障造成多个或所有业务不可用时,几十TB的大数据容量,采用这种恢复方式,数据恢复时间将成倍数级的延长,预计磁盘阵列数据的恢复时间需要以数天为单位,这将会超出很多业务的SLA要求,而且数据的可恢复点受限于最近一次成功备份的时间点。

为此,针对现代企业中,那些对灾难发生时的RPO和RTO有较高要求的关键业务,需要考虑更为有效快捷的数据保护和恢复方式。

如果有一种方式,可以将RPO从以天为单位控制到以小时为单位,甚至是故障发生前的几分钟到几秒钟,而RTO也控制在同样数量级的话,对关键业务的持续可用性将有重大提升。这里引入CDP(Continuous Data Production)的概念。

持续数据保护是一种连续捕获和保存数据变化,并将变化后的数据独立于初始数据进行保存的方法。CDP系统可以基于块、文件或应用,并且为数量无限的可变恢复点提供精细的可恢复对象。在传统数据保护技术中采用的是对“单时间点(SPIT,Single Point-In-Time)”的数据拷贝进行管理的模式,而持续数据保护可以实现对“任意时间点(APIT,Any Point-In-Time)”的数据访问。

因此,CDP解决方案都应当具备以下几个基本的特性:数据的改变受到连续的捕获和跟踪;所有的数据改变都存储在一个与主存储地点不同的独立地点中;恢复点目标是任意的,而且不需要在实际恢复之前事先定义。

我们知道各个企业在长期的发展中,企业生产数据会存放在不同品牌的不同型号存储上。异构存储间的存储机头,扩展柜、硬盘,因其互不兼容性,无法利用存储设备本身的备份技术,形成相互备份的架构。在这种现状下,我们要选用的技术,它能够忽略这些不同,能支持各种存储,为此我调研了市场上比较流行的几个CDP产品,有IBM,EMC,还有飞康等。

这里主要介绍下EMC的RecoverPoint设备产品(后文简称RPA)。它可以实现本地和异地的数据复制保护,独立于应用程序,基于Block的复制,能够实现精确到秒级的历史时间点恢复,而且整个恢复过程在20分钟内就可以完成。而且选用的技术产品,应该和我后面将要介绍的更高标准的RPO,RTO实现也有紧密的结合。

它由几个主要的部分组成:

RPA应用装置,这是一个运行了 RPA软件的双节点 Intel 体系结构服务器。典型的配置需要至少两台,一是为了避免单点,二是提供负载平衡。两个设备间通过内部网络相互通信。

写操作镜像/拆分器,就是Splitter,能够把写操作拆分到不同的设备上。在RPA 4.0以前版本,有三种Splitter,分别是基于服务器,SAN交换机和存储。现在是只有两种,基于存储和VPLEX。

RPA软件在RPA应用装置上运行,通过与拆分器驱动程序和其他RPA应用装置通信来提供数据保护功能。

另外还有几个概念简单介绍一下,分别是Journal Volume,Production Volume, Replica Volume。Journal Volume是日志卷,它的大小会直接影响可以恢复的历史时间点的深度。Production Volume是要保护的生产卷。Replica Volume是生产卷的保护复制卷。

RPA有三种常见的部署模式,一种是Local的,一种是Remote的,一种是Local 和Remote相结合的。

这里简单描述一下它的工作原理,数据传入底层存储时,通过Splitter拆分器,也传一份到RPA设备上,这里需要注意的是:不管采用何种Splitter方式,都会在保证数据传到了源存储设备上,当然这个过程是同步的。在数据传到RPA设备上后,RPA设备就会发送一个写确认给源,保证后面的写操作继续进行。之后RPA设备会写数据到Journal卷上,并且增加时间戳和一些自定义的Bookmark。Journal卷写满后再写到复制卷上,数据能恢复到历史上哪个时间点,距离当前时间多久,也就是RPO最远能到哪个时间点,就取决于Journal卷的大小。

前面说的从传统备份到基于RPA的CDP解决方案,基本实现了RPO从天到小时的转换,但是一些核心业务系统,他们对RPO的要求更高,基本不允许有任何的数据丢失和业务中断,也就是说要求RPO为0,对RTO的要求也接近于0,采用之前介绍的方式,是不能满足要求的,此时我们需要一种能够在多个业务所在磁盘阵列发生故障时,可以保障生产数据不丢失,并提供无中断的数据恢复切换方式,自动的将数据挂载在无故障的盘阵上继续运行,并且性能上不受影响, 这就需要一个双活Active/Active的系统。

它可以将不同品牌的存储资源进行整合,形成存储镜像映射关系,将镜像后的逻辑磁盘分配给前台业务使用,业务在传递数据时,存储在后台自动同步备份,在发生磁盘阵列故障时,同步备份数据能够在不影响生产业务的情况下,无中断的继续使用。实现存储系统零停机,同时对主机和业务系统完全透明。

此时我们考虑使用存储虚拟化技术,对关键业务进行存储级别的Raid1镜像。这种数据保护和恢复方式,它的PRO就是0,RTO基本是接近于0,有一个存储路径切换的过程。

考察了市场上主流的存储级别虚拟化产品,比如IBM SVC ,EMC VPLEX, NetApp V系列等,分别进行了测试。实施的效果是,可以将我们的IBM DS系列存储与EMC VNX系列存储进行多个层次的镜像虚化。

这里以EMC VPLEX虚拟化设备为例,由控制台,UPS,内部交换机组成的。一个引擎内有两个控制器,每个控制器被称为一个Director。每个引擎上有64G缓存,32个FC端口。可以通过配置多个引擎,实现高可用集群。

VPLEX有4种配置模式,Local,Metro,Geo和Global,比较常见的是Local和Metro模式。而且我们选用这个技术,有一个前后的衔接关系,我们知道在前面介绍的RPO时间为小时分钟级的产品技术RPA中,有一个重要概念是Splitter,在新版本的RPA中,Splitter只能通过指定厂商存储或者VPLEX来实现,但是作为一个企业来说,它使用的存储设备很可能是多个存储厂商的设备组成的。所以我们使用VPLEX Splitter,通过一条命令开启VPLEX设备的Splitter功能,来实现数据的拆分,这样我们就可以将之前部署在各个品牌和型号的存储都纳入进来,实现RPO=0的存储保护。

经过上面的讲述,对于数据中心的业务连续性保护,我们基本上形成了这样一个金字塔形的结构,它们分别用于企业中普通IT系统,重要业务系统和核心业务系统。这样针对企业内部各种应用业务,我们都有了对应的存储连续性解决方案。但这里需要提醒的是,并不是说RPO=0的技术方案就比RPO以天为单位的技术方案好,只是不同的应用有不同的需求,根据SLA服务协议,来判断究竟使用何种方式。

未来,企业的数据中心工作负载都将转向基于消费的私有云、公共云或混合云服务模式。我们的存储必须顺势而为,与新的数据中心操作和云堆栈相协调,这样它才能作为一种服务来使用。现在已经有一些软件定义的存储来实现数据中心的转型,它可以通过将控制路径和数据路径进行分离,也就是用来设置和管理存储设备策略的控制路径,和执行实际读取、写入和数据服务的数据路径进行分离,使存储走上一个简单,可扩展和开放的体系。

而未来,数据的连续性保护,也必然会变成一种服务的形式,获得授权的用户可以选择满足其应用的工作负载存储,系统也将能自动为其分配对应的数据连续性保护方式。我们走在云的路上。

如果觉得我的文章对您有用,请点赞。您的支持将鼓励我继续创作!

4

添加新评论0 条评论

Ctrl+Enter 发表

本文隶属于专栏

最佳实践
不同的领域,都有先行者,实践者,用他们的最佳实践来加速更多企业的建设项目落地。

相关资料