一、数据保护
在云与大数据时代,海量增长的数据容量,给数据的存储和保护带来新的挑战,从传统熟悉的IT架构到以云架构、虚拟化、超融合为代表的技术升级迭代,使得数据保护的技术手段也要加速。
1、数据保护的重要性
数据是企业重要的生产资料,关键数据的丢失可能会给企业致命一击。比如在911事件中,Bank NewYork在数月后因数据的丢失被迫破产清盘。
为什么后果如此严重?因为数据是计算机系统存在的原因和基础,数据往往是不可再生的。一旦发生数据丢失,企业就会陷入困境:客户资料、技术文件、财务账目等客户、交易、生产数据可能被破坏得面目全非。
2、数据丢失的可能性
概括起来,数据丢失分三个层次。一是逻辑错误,包括软件bug、病毒攻击、数据块被破坏等;二是物理损坏,包括服务器、磁盘损坏等;三是自然灾害对数据中心的摧毁等。
数据的危害时刻都在发生,比如曾经发生过的“删库跑路、漏洞后门、系统本身脆弱性、云服务商故障、误操作配置、数据中心火灾”等事故,都是数据丢失方面最沉痛的教训。
3、数据复制技术
为了应对数据丢失造成的损失,必须对数据进行复制保护,并且企业信息化程度越高,相关的恢复措辞就越重要。一般数据从生产到存储,主要经过应用、中间件、数据库、操作系统、存储或者磁盘驱动、服务器硬件、网络、存储交换机到存储。在传统的数据备份恢复基础上,通过数据复制技术提供多数据副本,保证副本数据的可用性从而实现数据保护。
从技术角度看,分为中间件和应用层复制、数据库层复制、主机操作系统及存储层复制。
中间件和应用层的数据复制,是中间件或者应用层面的双写,根据业务需求,通过应用架构设计实现数据主本和副本的更新;根据需要进行强一致性、弱一致性、最终一致性设计,来保证主本和副本之间的一致性、完整性、时效性。
数据库层复制:不管是开放的数据库还是大机的数据库,都提供相关的数据复制软件,实现数据库数据的物理复制和逻辑复制。主要技术流派包括逻辑复制和物理复制两种。前者利用数据库的重做日志、归档日志,将主本所在站点的日志传输到副本所在站点,通过重做SQL的方式实现数据复制。逻辑复制只提供异步复制,主副本数据的最终一致性,无法保证实时一致性;后者通过Redo日志或者归档日志在副本站点的同步或者异步持久化写、Redo Apply来实现复制功能,同时副本站点的数据可以提供只读功能。
主机操作系统层、存储层复制:基于系统的IO、底层物理卷、数据块,通过存储硬件、备份恢复、存储虚拟化等技术实现数据复制,与上层的应用和逻辑无关。主要技术流派包括磁盘镜像技术、操作系统层基于卷管理的数据复制技术、存储层的存储虚拟化技术、优化的备份恢复技术及网络数据存储集中管理技术、英方特有的系统内核字节级数据复制技术等。
二、容灾备份
这实际上是两个独立的概念,备份不等于容灾,备份是保护数据,容灾是确保业务连续性。在灾备一体机出现后,这两个概念所代表的功能往往被包含在里面,所以也造成在一些用户在采购纯软件产品时,将备份与容灾产品混为一谈,以至于厂商不知道用户到底需要备份产品还是容灾产品,或者是备份+容灾的产品。
1、备份
备份,是预定义的数据集合的副本,是数据保护的根本方法,它反映了数据集合在某个时刻的静止状态,备份文件是所有数据保护架构的支柱,备份的目的在于恢复。
关于备份,存在两个误区:一是双机热备不属于备份;二是硬件备份≠数据备份。
在备份架构演进方面,有本机备份、网络备份、LAN-Free(SAN)备份、Server-Free (脱机)备份等四种架构。
本地备份:优点是备份速度快、结构简单;缺点是不适合多主机环境,多主机备份的管理复杂。
网络备份:优点是集中备份,集中管理,充分利用磁带库资源;缺点是占用网络资源,网络的瓶颈在大数据量备份时非常明显。
LAN-Free (SAN) 备份:优点是备份速度快,不存在传统网络所造成的备份瓶颈, 适合大数据量高速备份;缺点是价格比较高。
Server-Free (脱机)备份:优点是生产服务器中不会引起备份的额外开销,生产系统的性能不会有丝毫降低;缺点是必须具备特殊的设备。
在备份技术的演进路线方面,则遵从了定时备份——快照备份——实时备份的路线。
定时备份:优点是软硬件支持范围广,适合长期保存的备份;缺点是需要打开文件备份,文件夹内的文件发生变化,导致的不一致性问题,另外需要专门的备份时间窗口,RPO也非常大。
快照备份:为了解决打开文件、备份时文件发生变化的问题而生;缺点是快照备份的兼容性问题,快照备份时对生产系统性能影响较大,另外RPO也较大。
实时复制(如CDP):为了解决了打开文件、备份时文件发生变化的问题、快照的兼容性受限问题而生;可以实现任意时间点恢复RPO≈0。英方基于字节级的实时数据保护CDP技术就是代表性产品之一。
2、容灾
备份是对数据进行保护,容灾是在备份的基础上,保障企业的业务连续性,从这个层面,一般将容灾划分为数据容灾和应用容灾。
数据容灾是指建立一个异地的数据系统,该系统是本地关键应用数据的一个实时复制。
应用容灾是指在数据容灾的基础上,在异地建立一套完整的与本地生产系统相当的备份应用系统,在灾难发生时,备端系统迅速接管业务继续运行。
三、关键术语: RPO、RTO
RPO(Recovery Point Objective)是指灾难发生后,容灾系统能把数据恢复到灾难发生前时间点的数据,它是衡量企业在灾难发生后会丢失多少生产数据的指标。RPO可简单的描述为企业能容忍的最大数据丢失量。
RTO(Recovery Time Objective)则是指灾难发生后,从系统宕机导致业务停顿之刻开始,到系统恢复至可以支持业务部门运作,业务恢复运营之时,此两点之间的时间。RTO可简单的描述为企业能容忍的恢复时间。
四、GB/T 20988—200
《信息安全技术信息系统灾难恢复规范》国家标准(GB/T20988-2007)是我国灾难备份与恢复行业的第一个国家标准。该标准由国务院信息化工作办公室领导编制的,并于2007年11月1日开始正式实施。该标准规定了信息系统灾难恢复应遵循的基本要求,适用于信息系统灾难恢复的规划、审批、实施和管理,并参照国际标准SHARE78的7个层级定义,确定了符合中国国情的6个灾备能力等级要求。下面,概括性地介绍各个层级的内容:
1级:数据定时备份+异地存放。
2级:数据定时备份+异地设备冷备。
3级:数据定时备份+异地部分业务热备接管。
4级:数据定时备份+异地业务热备接管。
5级:数据实时备份+异地业务热备接管。
6级:零数据丢失+远程自动接管支持。
关于容灾、备份这类概念,有几个比较容易混淆,其中包括而不限于“冷备”“热备”“集群”“高可用”“负载分摊/均衡”“备份”“容灾”“容错”“虚机迁移/vmotion/migration”之类的。
“容灾”与“备份”不是同一个概念,“容灾”是目的,而“备份”只是实现容灾的其中一种手段,不是唯一;“备份”只是将数据COPY一份,在其他介质保存,当数据丢失了,有“备份”可以用于恢复,无论手动还是自动,而有副本就相当于完成“备份”了,至于恢复不恢复,恢复完了没有,与“备份”是没有关系的,那属于“容灾”的范畴了。
我们日常将东西考到U盘,光盘,移动硬盘也就是备份了。而“容灾”是为了通过一些技术手段的部署,达到出现“意外”的时候,业务不会中断或者中断后会自动恢复(注意要自动,而且恢复时间很短)。例如服务器、网络、存储哪一点出现问题,都会中断服务,所以这个时候每个点都需通过技术手段做保护,这就是容灾要考虑的事情。
与“备份”不同的是,例如你的硬盘挂了,买一个新硬盘,你再将移动硬盘的数据拷过来就OK,但是这个过程中是要停止服务的,恢复过程是需要时间的。而“容灾”是要不中断服务的,例如说你有2台电脑,然后两边数据是实时同步的,忽然一台的硬盘坏了,不要紧,直接到另外一台办公好了,因为实时同步,坏了的那台的数据这边没坏的这台也有,这种就相当于容灾了。
接着对上面的词语逐一介绍:按照属于“容灾”与不属于“容灾”来分开。
----(容灾类)----
“高可用”:及HA(High Avaliable),一般实现方式是对2台服务器上面装HA的软件,这时候就和“双机热备”的概念一样了,一般正常服务时只有主机在工作,2台服务器中间会有心跳的hello包,备机会一直发hello包检测主机是否“活着”,超过一段时间主机没有应答hello包的话,备机就会认为主机死掉,然后主动接管业务了。这样子又实现了主机的容灾了。
“冷备”就没有什么好说了,相当于1台坏了,另外1台还要我们手动去启动,配置,才能接管坏了那台的工作。
“容错”:Vmware的虚拟化软件提出的一个概念,相当于1台虚拟机运行的时候,多开1台虚拟机,当一些操作在A虚机运行,会通过软件同步复制操作到B。当A虚机崩溃,B主机立刻托管业务,由于操作都是同步复制的,所以B不会丢失任何在A上的内容(包括内存里面的临时数据)。此种方式比“高可用”的更高级,“高可用”的方式B还要通过A没有应答hello才发现A崩溃了,中间还是有一段过度的时间会业务中断,但是可以实现自动的业务恢复。而“容错”这种方式业务完全不用中断,但是相应换来了成本需要增高,原来1台虚机,现在相当于要多开1台来与他同步,资源成本增高。
-----(非容灾类)-----
“负载均衡”:假设有5台服务器,如果有5个访问请求,没有负载均衡时,可能5个请求都访问机器A,这样可能引致访问速度慢,A机器崩溃等问题,而有了负载均衡,就会将5个任务按照策略进行分发,可能5台机器每台负责处理一个任务就OK了。
”集群”:多台服务器同时处理某一事务,听起来与“负载均衡”有点像,但是其实负载均衡是5个任务摊分给5台机器,而集群相当于一个任务拆分为5份,5台机器一起来处理同一个任务,分别完成自己负责的部分后汇总一起输出结果。例如有一个很复杂的计算任务,1台机要算5小时才能解决,那么5台同时计算,可能1小时就解决了,这个是“集群”的主要用途。
“虚机迁移”:与“高可用”与“容错”最大的区别,“虚机迁移”是计划内的,即需要人工手动或者安排好进行时间来实现的,所以不属于容灾的范畴。而后两者属于“容灾”范畴,可以在发生计划外的“意外”的时候,自动实现业务恢复。“虚机迁移”更合适用来处理资源池间的利用率平衡性,如A资源池80%符合,B资源池只有20%,那么可以适当“迁移”部分到B资源池,实现两边负载均衡。