在构建容灾系统所涉及的7个要素中,数据备份系统是基础,只有保证了数据和应用系统的安全可用,业务的恢复才有可能。数据备份系统采用的技术主要有传统的数据备份和新近发展起来的数据复制两种。

选择技术路线在整个容灾建设尤其重要。技术路线基本决定了投入成本、所需技术支持力量、后期运营和维护工作量等等。

1)传统的数据备份技术不适合重要业务的容灾
传统的数据备份难于满足容灾的技术要求。虽说定时备份在一定程度上可以保证数据安全,但应用于容灾时却面临备份窗口大、备份间隔大、数据可恢复性差和恢复时间长、性能影响剧烈等众多问题,也不能满足RTO和RPO趋于0的要求。因此,传统的数据备份技术作为一种廉价的、成熟的技术,在整体的解决方案中,为容灾系统提供一种补充,或者为一些比较小的、不太重要的业务建设定时备份系统。

同时,实时数据复制自身可能存在故障,备份系统提供一种补偿性的手段是值得的。那么完整的容灾方案中,这两种技术是并存的。

2)实时数据复制是构建容灾的基石
根据操作系统的I/O(读写操作)路径以及复制对象划分为四大种类:基于应用系统事务级的复制,技术复杂,完全能保障数据库的一致性,但是支持应用有限;基于文件层的复制,复制技术简单,但不能保障数据库一致性,一般用于文件复制;基于逻辑卷层的复制,实施可能需要改造生产环境,实施复杂;基于磁盘阵列层的复制,磁盘阵列厂商的复制技术,与硬件绑定,成本高昂,实施复杂。

按照数据复制软件或硬件安装的位置又可划分为主机型复制和非主机型复制。应用层、文件层、逻辑卷层的都属于主机型复制,主机型复制软件需安装在主机上,需要消耗一定的主机资源。存储层属于非主机型复制,复制直接由磁盘阵列的内部组件完成,理论上无需消耗应用所在主机的资源。

四种复制技术各有优缺点。一般而言,文件层复制技术主要采用异步复制原理,不能保障数据库的一致性,不能确保数据库是好的,很少用于大型数据库的容灾。国内很多厂商都采用文件层复制,主要用于中小企业,适用于数据量不大、投入很小的场合。

3)如何保障容灾系统的数据一致性是非常重要的考量
容灾系统与生产系统的数据一致性考虑在容灾建设中极其重要。什么叫数据一致性,这是个非常专业的问题。简单的讲,就是要保证生产系统、容灾系统的数据相一致。四种复制技术的数据一致性含义是不同的。

应用层的数据一致性是指容灾业务数据和生产端业务数据相同,例如股票交易业务,生产端交易了10000笔,如果容灾端只复制了9999笔,那么就产生了数据不一致的问题。但是,应用层的数据不一致性相对应用程序而言是不致命的,甚至应用程序都无法感知,只有上层业务才能感知,就如同这个例子丢了一笔交易数据,那么此时需要人工干预补齐一下数据。从这个角度讲只有应用层的复制才能确保应用程序的完整性和一致性。

其他三层的数据不一致性对应用程序而言是致命的,很可能导致应用程序无法启动。其他三层的数据一致性比应用层的数据一致性含义复杂,这是由于复制所属层次和复制对象不一样导致的。其他三层的数据一致性包含两方面的含义:一是在磁盘上或文件上的应用程序的数据一致性,这是因为每个应用程序对存在磁盘上的数据都有一个内在的组织结构和秩序,如果这种结构和秩序不完整或被破坏,那应用程序很可能就无法启动了;二是两端的数据一致性。在I/O的路径上各层都有自己的缓存,很有可能会滞留一些I/O在自己的缓存中。
如果在系统发生故障时,仍有部分I/O“滞留”在I/O操作中,真正写到磁盘中的数据就会少于应用程序实际写出的数据,造成数据的不一致,从而导致结构和秩序不完整或被破坏。异步复制顺序地将这些I/O复制到容灾端,故障发生时可能导致I/O复制不完整,从而也会导致这种情况发生,这就是文件层的复制不可靠的原因。

逻辑卷层和磁盘层采用同步复制,关闭各层缓存,这样的情况一般不会发生,但是由于应用程序和操作系统的复杂性,这种复杂性本身可能导致I/O的坏块。同时,这两层还可能存在卷组一致性的问题,应用程序的数据存在多个逻辑卷或物理卷中,在这两层中很可能会出现应用程序串行写而这两层并行写的状况,从而导致磁盘上的数据的写秩序不一致,这是很可怕的。存在这样的问题,需要在调研阶段搞清楚应用程序的存储状况的,从而有针对性的实施方案。

4)定期的验证和演练是确保容灾系统可靠性的一种手段
需要定期的验证和演练对容灾系统而言是必需的,校验出可能导致数据不一致的因素。由于存在两端数据不一致,理论上也无法确保故障发生时容灾端数据就是好的。这就需要容灾系统提供一个可供验证和演练的方法和界面。

应用层的复制可以随时、直接的提供一个校验手段。因为容灾端的应用程序处于运行状态,直接查询数据就可校验数据了。也可以用自己的业务系统来连接容灾端数据来校验,例如医疗行业的用户可以用HIS软件去连接容灾端数据库。

5)备端在线的容灾是可靠的、令人放心的容灾
备端在线的容灾带来一个最大的好处就是可以验证容灾的结果,就是可以直接去验证备用数据库的好坏,进而可以验证主、备两端的数据差异。

这个本质的优势,完全解决了其他容灾技术和传统备份技术的最大缺陷。这个最大的缺陷就是在复制期间不能查看备用数据库的好坏,或者数据。

仅就备用数据库而言,要做到可靠就必须保障数据库级别的一致性,就是要保证备用数据库的数据存储结构是好的,内部关联性和秩序是一致性的。浪擎镜像系统的备用数据库处于实时在线状态;其他复制技术的目标数据库在复制期间处于不在线状态,必需要启动才能使用,但是复制期间丢失数据块可能导致备用数据库损坏,不能正常启动。

6)选择具备完整技术架构的解决方案
用户自身的软硬件环境也是是复杂的和多元化的,需求是复杂的和多元化的,投入相对是有限的。要做容灾,用户首先要理清信息系统的环境、技术要求、预算规划、维护人力等等。搞清楚一共有多少业务系统,每套业务系统的软硬环境、目前数据量多大、每天增量多大等等;每套业务系统对自身企业运作的影响,就是RTO和RPO要求,以及建设迫切程度。

没有一种技术可以解决所有的问题,多种技术的组合是正确的,那么就是要选择具备多种技术的、完整的解决方案。

7)选择懂得数据库的厂商或集成商来提供容灾方案
除了上述技术性选择外,还必须考量厂商或集成商的技术实力。做容灾,最主要一点就是保障数据库的稳定性和可靠性。因为,在每个企业内部存在结构化数据和非结构化数据两类数据,尤以结构化为主,就是以存在数据库的数据为主。数据库是极其复杂的应用程序,如Oracle、SQLServer等大型关系数据库,正常使用很简单,但是维护却需要极其全面和深厚的技术功底,还需要懂得操作系统和存储。不懂得数据库的存储原理和内部逻辑架构是很难做得好容灾的。这也是应用层的优势,也是浪擎科技的优势。

上海浪擎信息科技是国内最大的备份容灾软件厂商,始终致力于技术研发的厂商,具备完整的技术架构和多系列的产品。既有高端的基于应用层的、备端在线的镜像系统,又有基于逻辑卷层的实时数据复制产品。