数据复制灾备技术的新发展

2021-12-20 07:53程智谋
通信电源技术 2021年12期
关键词:快照灾备容灾

程智谋

(广东宝绎通信科技有限公司,广东 广州 510665)

1 传统数据复制灾备技术的发展

IT容灾技术经过几十年的发展,从最初纯数据保护角度的数据备份,存储级容灾,到针对大型核心数据库的数据实时复制,再到针对大型业务应用的同城双活容灾,经历了一个漫长的发展过程。IT容灾技术在金融、制造以及能源等关系国计民生的大中型企业客户中广泛落地应用,发挥了巨大作用。传统的IT容灾技术主要包括基于存储复制的容灾方案和基于数据库复制的容灾方案。

1.1 基于存储数据复制的灾备

基于存储设备层的远程数据复制技术非常成熟,在企业级市场广泛应用。其技术核心原理是通过存储阵列本身强大的硬件ASIC化多控制器,将本地生产系统磁盘数据块压缩加密后远程复制到灾备端,实现对生产数据的远程拷贝,达到保护生产数据、应对计划外停机和灾难的效果。当数据中心生产环境发生灾难时,为确保业务连续性,通过灾备数据中心数据快速恢复业务运营,确保核心业务和应用数据持续可用。同时,在主中心恢复正常后,通过增量数据回切,将灾备中心独立运行时段产生的新增数据及时回传、同步恢复到主数据中心,帮助企业快速恢复到生产系统正常运营冗余状态。基于型号XP1024存储设备的数据复制技术实现如图1所示。

图1 基于存储复制技术的数据保护

1.2 基于数据库复制的灾备

基于数据库的数据复制技术更接近业务应用容灾,更加灵活,但技术实现复杂度高。大体上可分为两类,一类是数据库自己提供的数据容灾模块,另一类是第三方厂商提供的数据库复制技术。基于数据库复制技术的数据保护模式如图2所示。以最常见的Oracle数据库为例,Oracle原厂提供的有Data Guard/Active Data Guard和Oracle Golden Gate等数据复制解决方案,第三方厂商的数据复制技术常见的有Quest公司的Share Plex和DSG的RealSync等。

图2 基于数据库复制技术的数据保护

2 传统灾备技术的问题和挑战

近年来,随着云计算、大数据以及容器技术的发展和广泛应用,IT系统上云成为大势所趋。从公有云、私有云到混合云,越来越多的企业客户IT基础架构乃至应用架构都发生了巨大的变化。传统IT基于单体大型计算UNIX服务器,大型存储、大型数据库的大型数据中心架构,而云时代的IT逐步过渡到了基于虚拟化技术和云计算技术的分布式化、容器化的云化数据中心架构。IT基础架构的不断变革帮助企业更好地适应越来越快的业务变革,满足移动互联网、电子商务等应用快速迭代和资源动态变化的要求,灵活应对市场的变化。此外,随着IT架构和技术的快速发展与变化,整个容灾技术也需要与时俱进,不断推陈出新。

云架构先天的灵活机制、保护机制优势有助于用户集中更多资源专心推动业务发展。这些新业务相关应用呈现出轻量化、多样化以及移动互联网化的特点。

基于这样的业务特点,结合云基础架构的发展趋势,一方面要求降低普通用户使用容灾技术的门槛,让更多普通云租户和业务应用得到容灾软件保护;另一方面也对容灾软件、容灾保护机制提出了更高的RPO/RTO要求。基于操作系统的整体工作负载一体化实时容灾保护机制应运而生,且RPO趋近于0,RTO达到秒级、分钟级,完全满足了新型业务架构和IT架构的技术发展要求。

3 基于I/O追踪回放块复制技术的灾备新技术

采用基于I/O追踪回放块复制技术的数据复制技术,主要面向越来越多的中小型化、多样化、敏态化应用,特别适合企事业单位在新型私有云、公有云、混合云环境下众多业务应用的统一灾备和灾难接管,它不依赖于IT基础对象,和服务器、存储、数据库、中间件、业务应用无强相关,可以同时实现操作系数据、文件系统数据和数据库数据的一体化保护,既可以起到数据灾备的作用,又可以实现业务应用的应急接管。实现远距离灾备模式,采用TCP/IP网络连接,理论上没有距离限制,特别适合在I/O吞吐规模不大的业务场景情况下应用,实现现有IT资产的最大保护。

3.1 数据复制流程

基于I/O追踪回放块复制容灾技术,通过追踪操作系统内核级的磁盘写I/O变化和磁盘区块的实时变化并旁路复制到灾备服务端。既脱离了底层存储,也脱离了具体数据库的技术限制,进一步实现了工作负载的整体保护以及客户业务应用的快速接管。

如图3所示,基于I/O追踪回放块复制追踪技术可以同时兼容裸磁盘、文件系统和数据库系统的全面数据保护,无需额外容灾复制产品辅助。数据的传输采用通用的TCP/IP网络,无需专有网络,源端和服务端的网络带宽越高,网络延时越小,越能趋近实现RPO为0的数据保护,成本可控。

图3 基于I/O追踪回放块复制技术的数据保护

3.2 基本技术原理

基于I/O追踪回放的块复制追踪技术利用I/O和磁盘块追踪进行全盘数据扫描,将源端的全量数据,即初始有效数据全部复制到灾备服务端,作为后续数据保护的的基准。接下来通过对磁盘I/O的捕获和磁盘区块的追踪分析,完成对源端产生的增量数据,即变化量数据的捕捉和旁路复制、缓存,并源源不断地通过加密传输管道传输到灾备服务端远端。

灾备服务端按用户设定的策略持续保存源端的连续时间备份数据,包括全备数据和增量数据。当进行灾备恢复演练,或源端发生勒索病毒等灾难时,利用备份的快照数据,按客户要求的时间点,数分钟内在灾备服务端快速拉起虚拟机,一次完成应用、操作系统和数据的恢复,并即刻接替源端的业务应用,继续保持业务应用对内外部客户服务支持能力。

3.3 有效数据同步

数据复制灾备场景中,需要根据工作负载考虑所有源主机到目标主机的系统整机一体化数据保护,即包括上层应用到中间件、操作系统到底层数据的全面保护。主要典型的复杂应用场景为传统物理服务器操作系统和混合云云平台进行数据同步,这其中又涉及到网络带宽不够、数据流量成本过高的问题。

在公有云、混合云环境,如果是全量数据保护而非有效数据传输,将可能导致数据流量数倍乃至数十倍的增长,一方面带来高昂的数据传输成本,另一方面也造成数据复制时间异常漫长的负面影响。在绝大部分场景中,有效数据同步均占据明显技术优势,实现有效数据复制,主要有两种方法。

一是文件级复制。文件级复制技术通过适配主流操作系统的FAT32、NTFS、EXT4和XFS等文件系统,在文件系统层面实现海量文件同步,这个方法的明显优势在于多数用户容易理解和维护,普通用户并不需要关心不同文件系统底层技术的具体实现,市场上常见的主流文件系统都可以完美兼容。该技术实现唯一较为明显的问题是对于海量、小文件的客户场景,数据复制传输效率较低,数据校验开销过大。

二是块设备级复制。通过在内核加载特殊驱动,在系统底层的块设备层完成各个磁盘块数据变化的追踪和同步复制。这项技术最大的优势是技术位于底层,通用型强,同时针对大块数据同步优化性能优秀,在全盘扫描阶段可以充分利用普通磁盘顺序读取的高性能优势进行高并发传输,数据同步效率高。同时配合数据精简复制技术,通过在块设备层维护和提取有效数据块,比对分析不同类型文件系统元数据独特的读写和数据储存方式,统一计算、转换为通用有效数据多重位图Bitmap,每个有效位Bit可高效标识一个有效数据块,即该位置所对应数据块是真实有效的客户数据,需要同步复制。块设备迁移相对文件级迁移效率更高,块设备有效数据复制方式是目前的主流选择。

数据复制灾备场景中,通过对大容量磁盘中有效数据进行复制和保护,可以高效提升数据复制效率和数据保护的效果。有效数据多重位图Bitmap技术只需要耗费极少的、一段连续的系统内存空间资源,即可记录卷设备的大量有效数据状况。

本质上有效数据位图Bitmap记录了某一瞬间磁盘块设备的文件系统分布情况。传统的实现方法需要先对系统打快照,然后扫描分析相应设备的有效数据,目前更加先进的技术可以采用无快照的实现方式,通过加载操作系统内核级磁盘块过滤驱动,确保每一个写数据I/O变化均可被完整追踪和记录,并生成有效数据位图Bitmap,确保数据一致性。对于不同的操作系统或文件系统,Bitmap获取方式各不相同。

Windows 2008到最新的Windows 2019,平台主流的文件系统格式是NTFS和FAT32。NTFS文件系通过向更底层的LVM卷设备发送设备控制命令,就可以直接获取到初始Bitmap记录,然后通过系统计算、分析、梳理转换为统一的全局通用Bitmap。传统的FAT32文件系统相对复杂,需要读取文件系统Metadata元数据,然后再进行推算。

Linux平台不同的发行版各不相同,文件系统众多,主流的包括EXT3、EXT4、XFS、BTRFS等,每个类型的文件系统还有不同版本,目前并没有广泛适用的通用方法获取Bitmap,只能选取主流的文件系统进行逐一适配。比如EXT4文件系统可以通过遍历文件系统所有块组,读取每个块组生成位图信息Bitmap,合并生成为覆盖整个文件系统的全局Bitmap。XFS文件系统采用B+树来管理磁盘空闲块,通过遍历XFS文件系统所有AG结构的B+树包含的空闲块列表,从而分析计算出文件系统的全局Bitmap。

不同版本的文件系统默认可获取的初始位图Bitmap略有差异,为了提升兼容性,通过程序统一转换,形成全局统一位图Bitmap格式,最终形成通用的标准Bitmap类,以便后续流程屏蔽初始Bitmap差异,便于统一处理。

3.4 数据一致性保障

3.4.1 数据一致性定义

磁盘级的数据一致性主要指写入磁盘的每一块数据都是严格按照上层应用的写入时间顺序落盘,任意时刻都不会存在写入数据包丢失或乱序的状况。更上层的应用一致性涉及面更广,比磁盘级一致要求更高,要求应用数据全部落盘,完全没有数据丢失。

3.4.2 数据一致性的重要性

数据复制保护的基本要求是数据一致性。数据不一致的后果轻则丢失部分文件或数据,严重情况下则上层应用完全无法启动,甚至可能导致数据复制保护后的目标操作系统无法启动。

3.4.3 明确数据一致性时间点

数据复制在启动阶段进行初始时,首先完成全盘扫描,没有快照,一遍完成初始数据全量同步,一边做增量数据同步,也就是说数据复制的目标磁盘一边写入初始同步数据,一边写入增量数据。

数据一致性复制目标主机在可切换状态时,磁盘级数据必须处于同一时间点,也就是磁盘级数据一致,这样才能确保目标主机数据完整可靠,操作系统和应用可以正常启动。

通常的技术实现可以在数据复制初始阶段先打一系列快照,确保初始同步的数据处于一致的时间点,后续增量数据复制时则严格按照写入时间戳顺序进行IO重放,确保数据一致性。

对于Windows平台,可以考虑采用微软官方VSS快照API。Linux平台方面则没有成熟的整机快照方案可选。基于以上原因,一般推荐自行实现Windows、Linux的整机快照,或者不使用快照,通过其他技术手段通过内核驱动持续监控数据变化,结合内核数据变化监控模块和初始化同步模块,实现一种无快照的数据一致性保障方法。

基于I/O追踪的块复制技术通过挂载专有磁盘驱动,深入操作系统内核,对每个磁盘I/O进行分析,通过数据位图技术(Bitmap)快速记录块设备(Block Device)的扇区变化,保证了每次I/O数据记录皆完整记录,并确保系统损耗资源极少。

通过数据位图哈希码确保数据复制源、目两端的Bitmap保持一致,对每次传输数据计算哈希码,以此保证数据传输的一致性。最后进行目的端数据位图哈希码和源端数据位图哈希码的比对,确保目标端每次数据复制后的数据位图与源端一致,如图4所示。

图4 数据位图一致性保护

3.5 窄带优化控制技术

在高负载系统、网络数据有限的生产环境下,变化数据缓存问题成为数据复制灾备任务成败的关键,缓存空间不足成为任务失败的首要因素。设计并实现一种低缓存、高效率两者兼顾的增量数据同步方法,可以大幅度降低缓存因素导致任务失败的概率,扩展数据复制灾备适配场景。数据同步有3种方式:(1)源端本地缓存,初始同步完成后再发送增量数据,缓存数据量大,源端缓存空间不足时容易导致任务失败;(2)源端本地缓存,同步发送,但是影响初始同步性能,导致初始同步时间延长;(3)源端优先发送增量数据,目标端缓存,缓存空间不足时,任务失败。

在生产环境中,网络带宽资源非常宝贵,用户可以对灾备占用的网络带宽作有计划的限制,一方面防止带宽费用超标,另一方面防止因数据备份占用的带宽对正常的业务应用访问产生影响。当网络处于非繁忙时段,可以全速传输备份数据到指定服务器。

4 结 论

基于I/O追踪回放的块复制技术为企业服务器、虚拟机提供持续数据保护,帮助企业的某业务系统遭遇数据灾难或业务故障时,在数分钟内完成相关数据恢复以及业务接管,从而降低勒索病毒、人为误操作等各类IT风险对企业经营活动带来的风险挑战,适配企事业单位业务应用整体上云一体化灾备的合法合规需求,有效保障业务连续性。

猜你喜欢
快照灾备容灾
面向Linux 非逻辑卷块设备的快照系统①
EMC存储快照功能分析
巧破困局,快速恢复本本活力
Oracle MAA在汽车行业电子政务平台中的应用
校园一卡通服务端高可用性改造实施方案
深蓝云海“云灾备”正式上线
让时间停止 保留网页游戏进度
共享灾备走向智能化
降低容灾门槛
灾备建设的新思路