业务系统异地容灾备份关键技术

2017-09-06 08:50郭斌
世界家苑 2017年3期
关键词:分布式

郭斌

摘要:业务系统的容灾备份是非常重要的需求,尤其是在与人们的生产生活息息相关的业务系统中,必须要尽力提升服务的可用性和可靠性,业界的相关技术也在不断的演进与革新。本文探讨了容灾备份技术的发展、现状及局限性,并着重阐述了通过异地容灾备份技术确保业务系统持续可用、数据可靠的技术架构。

关键词:异地容灾备份;两地三中心;分布式

1引言

信息化的飞速发展不断地提升社会的生产效率并改善人们的生活方式,尤其是通讯、金融、安全、交通、互联网等关键领域的各种信息化业务系统,必须有足够的手段去确保其服务的可用性和可靠性。灾害事件造成业务系统的网络中断、供电异常、数据丢失、设备损坏等,不仅给人们的生产生活带来干扰,也给不少企业和单位的业务开展带来沉重的打击,因此需要容灾备份技术方法,更稳妥的保障其可用性和可靠性。

2容灾备份技术现状及局限性

容灾备份技术的发展历经多个阶段,每一次技术革新都解决了前一代的某些局限性,体现了业界技术水平的提升和用户预期的提高。

2.1冷备份技术

冷备份即业务系统定期或定量的把业务数据导出并备份到某种离线存储介质上。如业务系统故障或数据丢失,可通过之前备份的数据将业务系统恢复到近期的某个状态。冷备份的技术局限性在于,最近一次备份完成后至在线业务系统故障时产生的数据变更是无法挽救的,且在数据恢复过程中,在线业务系统的服务是中断的。

2.2RAID技术

RAID(Redundant Array of Independent Disks)技术即业务系统的数据保存在由多块磁盘组成的具有冗余性的阵列中,某块磁盘损坏后,数据仍然可用,不影响上层业务系统对数据的读写访问。RAID通常可配置为RAID1,RAID5,RAID6等模式,写数据时通过一定的规则额外保存冗余的副本或校验,用于故障后的恢复。专用的RAID磁盘阵列产品通常配置了双电源和双控制器,数据的可靠性和可用性有極大的保障,但基于数据的业务系统整体的可靠性和可用性还需要其他机制来保障。

2.3双机热备份技术

双机热备份技术,即两台业务系统服务器互为“主机”和“备机”,通过双机软件来管理。在同一时刻,只有做主机的服务器对外提供服务,当主机故障时,双机软件负责进行主机和备机的身份切换,之前的备机立刻切换为主机并提供服务。双机热备份技术中,业务系统的数据通常由共享的磁盘阵列存储,当备机切换为主机时,直接使用该磁盘阵列上的数据提供服务。业务系统的双机热备份技术是现阶段广泛使用的一种应用模式,其局限性在于:性能方面无法横向的线性扩展;备机不能对外提供服务,其配备的计算能力长期闲置;安全性方面,虽然数据有冗余,但整个阵列仍然容易成为一个单点故障点。

2.4分布式多副本技术

分布式多副本技术中,业务系统由多台服务器节点组成一个集群。业务系统的数据集通常被分割为多个分区,每个分区有一个主副本和多个从副本,这些分区的各数据副本根据一定规则分布在集群中不同的服务器节点上,这些服务器有各自独立的存储。写数据时通常会先在某个分区的主副本上写入,然后相继更新该分区所有副本上的数据,并确保副本间的数据一致性。当某分区的主副本故障时,系统会立刻选举某个从副本承担主副本的角色,无缝的提供不间断的服务;当故障节点恢复正常后,其数据会在有限的时间内与其他副本上的最新数据保持同步。此技术架构下,集群可以横向线性扩展,并且在一定场景下从副本也可提供数据的只读服务,计算资源利用率有提升。但其局限性在于,因为总体上要保存多份数据,存储资源利用率较低。

2.5分布式纠删码技术

分布式纠删码(Erasure Coding,EC)技术本质上是通过数学运算,用计算资源去交换存储资源的一种时空权衡。纠删码首先针对原始数据进行分片(例如分为m片),然后基于这些分片数据进行矩阵运算,编码生成若干备份数据分片(例如n片),最后将原始数据分片和备份数据分片分别写入分布式系统中的不同节点。数据恢复是编码的逆运算,在m+n片中取任意m片数据,即可恢复出完整的原始数据。纠删码技术有效克服了多副本技术中存储资源利用率低的问题。

3异地容灾备份关键技术

综上所述,容灾备份技术发展过程中不断提升系统的可靠性和可用性,但仍然难以应对区域性的灾害,如大面积停电、断网等情况。因此对非常关键的业务系统来说,跨地域的容灾备份是非常必要的。

3.1同集群同城部署

同集群部署可以运用在同城多数据中心的异地容灾业务系统中。基于前述的分布式多副本技术,将同一个集群各个数据分区的多个副本分布到不同的数据中心(相当于把单个集群“拉远”)。同城的数据中心间使用高速的网络专线连接,确保尽可能低的网络延迟和足够的网络带宽。当某个数据中心失联时,业务系统仍然有正常服务的能力。

3.2多集群异地部署

多集群异地的部署方式能够更大程度上保障系统的可靠性和可用性,比如“两地三中心”的方式,即业务系统总体部署于同城两个数据中心,加上异地一个数据中心。同城两数据中心可以是同一个集群,也可以是两个独立的集群,同城两个数据中心间实时或准实时的同步数据,当其中一个数据中心失联时,其服务优先由同城另一个数据中心承担。如果业务系统在同城的两个数据中心都可以同时提供服务(而不只是在另一个失联时才承担工作),这时可以叫做“同城双活”模式。处于异地的数据中心因为距离较远,与其他两个数据中心间的网络延迟和带宽都得不到保障,因此只能异步的将自己的数据逐渐与其他集群保持一致。假如不幸发生地震、飓风等大面积灾害,处于同城的2个数据中心都出现了问题,则处于异地的数据中心(通常在人工确认后)可以立即承担业务系统的服务工作。

4结束语

在高速发展的互联网时代,确保关键业务系统中数据的高可用和高可靠具有极其重要的意义,相关技术也是业界研究和应用的重要方向。本文探讨了容灾备份技术的历次迭代,分析了其局限性的和解决方案,并着重阐述了通过异地容灾备份技术确保业务系统持续可用、数据可靠的问题。具体到商用案例中,往往面临着成本与目标的权衡,最合适的方案才是最好的方案。随着技术的发展和应用需求的变化,业界对容灾备份方案也会提出更高的要求,需要持续针对业务系统的需求进行研究,利用新技术不断改善现有方案。

(作者单位:南京中兴新软件有限责任公司)

猜你喜欢
分布式
居民分布式储能系统对电网削峰填谷效果分析
分布式数据库崭露头角 亟须构建产业生态环境
基于Paxos的分布式一致性算法的实现与优化
发展分布式能源对电网公司经营情况的影响分析
基于分布式数据库Cedar的高效工单管理系统设计与实现
分布式光伏新政加快落地
分布式光伏新政加快落地