本文来自微信公众号“twt企业IT社区”,作者/康建国,某省农信资深系统工程师,主要负责Power小型机、存储、数据库等方面的运维及管理工作,对存储双活、数据库高可用等方面有着深入的见解。
数据是企业的核心资产,数据备份可以有效应对系统运行过程中的存在的数据损失风险,是保障业务连续性的基石。对于关系型数据库备份、文件备份、虚机备份等传统备份场景,现有的备份技术和解决方案已经相当成熟和普及。随着IT基础设施国产化进程的大力推进,同时伴随着近些年来,云原生、分布式数据库等分布式技术的蓬勃发展,我们需要重新审视已有的备份技术和体系,辨别新形势下新的备份场景,同时需要为这些新的备份场景寻找合适的备份解决方案。
在谈数据备份之前,首先需要明确一下备份和容灾的区别,因为我们讨论备份场景的时候一些同行会发出这样的困惑:我们这个数据平台底层是多副本设计,为啥还要做备份?我们这个数据库通过数据复制实现了同城容灾,为啥本地还要做备份?
数据多副本这样的高可用设计以及容灾架构的设计是为了应对软硬件故障、或者火灾地震等意外发生时,整个应用系统可以正常运行或者切换到另一处后系统功能可以继续正常工作。数据备份则是为了抵御各类计划外故障、数据误删、恶意攻击等异常场景下的数据丢失。仅有高可用容灾设计,无法避免数据误删和恶意攻击等意外,而仅有数据备份又无法在灾难发生时快速恢复业务系统。因此,备份和容灾和备份有着明显的区别,同时又紧密结合、缺一不可,IT运维人员千万不可有重容灾轻备份的偏见思维。
数据备份理论范畴很广,通常包括备份场景、备份策略、备份介质、备份架构等多个维度。
一、传统备份场景
首先我们梳理汇总一下我们金融行业长久以来需要备份的几个主要场景,包括关系型数据库备份、文件备份、大数据平台备份、虚拟化环境备份等。
1.关系型数据库备份
以DB2、ORACLE为代表的关系型数据库的备份是所有数据备份场景里面占比最高的场景,经过几十年的发展,这个场景的备份各行业各企业都已经做得很成熟了。
2.文件备份
重要数据文件的备份也是传统备份里面一个常见的场景,包括以文件形式存储的重要业务数据、系统配置文件、系统日志等等。文件备份的手段很多,当数量不大时用拷贝、打包等方式备份到第二存储介质了即可。当海量文件需要备份时,在备份和恢复速度方面就会有很大挑战。这种场景下需要使用基于rsync命令的高并发备份工具去备份海量文件,当然也可以考虑用CDP技术对储存文件的硬盘进行快照,需要恢复的时候直接挂载起来使用即可。
3.大数据平台备份
大数据平台里面的数据有几个特点,第一,数据量巨大;第二,数据结构类型复杂多样,有结构化、非结构化、半结构化;第三,数据功能分多个层次,包括基础数据、初步架构数据、深度加工数据、分析结果数据等等;第四,数据来源很广,有内部各应用下沉的基础数据,有外部引入的基础数据。因此,很难有一个万能的备份平台来完成对大数据平台内所有数据的备份恢复工作。
笔者认为对于大数据平台的数据备份,需要对数据进行分级分类设计。例如:如果基础数据是可以随时从源头调用,而源头又有完善的备份机制,那么基础数据是否就可以没必要备份了。而经过复杂加工之后的数据单独切分出来进行备份。保障接近应用上层的若干连续分级数据的备份即可。在分级分类的时候,需要考虑到数据量级、数据再生条件、数据重要性、数据加工的复杂度和耗时等等因素,保留中间层可以为分析模型提供直接分析支持的数据即可。
4.虚拟化环境备份
虚拟化环境备份主要是VMware和云平台中虚机的备份,这一块可以依赖虚拟化平台自身的备份功能,也可以借助CDM/CDP等技术手段进行备份。随着云计算技术的不断成熟,依赖云平台自身运维功能进行云主机、云硬盘的备份手段已经很成熟了。
二、信创趋势下的备份考量
(一)重要备份场景
随着国产化进程的推进,在新形势新趋势下有哪些备份场景需要我们用户重点关注呢?笔者认为有以下两个场景最值得研究和关注。
1.分布式数据库备份
近几年伴随着基础软件国产化的快速推进,以DB2、ORACLE为首的外国商用集中式数据库向国产分布式数据库的改造正如火如荼地进行。在这样的形式下,国产分布式数据库的备份场景已经是目前信创趋势下的一大重点。
我们用户需要重点关注和研究国产分布式数据库的备份技术和实现手段,这里面需要注意的是国产备份软件和国产分布式数据库的兼容性和稳定性问题。目前,爱数、鼎甲、云信达、壹进制等国产备份厂商已经纷纷和几大国产分布式数据库进行了适配。但是由于国产分布式数据库自身的功能还在发展阶段,缺陷较多,这对国产备份软件在适配方面提出了非常高的要求。
另外,分布式数据库自身架构和部署方式的不同也会给备份带来不同的特点,比如单中心、多中心的不同部署方式对应的备份方式可能不一样。单分片、多分片架构备份的特点也不一样。对于多分片数据库的备份,在多个数据分片合并恢复的时候需要考虑数据库的全局一致性。
2.容器备份
随着云原生理念的不断普及,越来越多的企业开始和研究和应用容器技术,部分大型银行的核心系统已经使用容器。因此,容器的备份应当是目前以及未来备份场景中需要重点关注的一个方面。
大部分容器使用场景下,为了更便捷地进行容器任意调度、迁移,在设计上把容器尽可能做成无状态服务,状态保存在外部存储池中。在这种设计下,容器应用无需备份,只需要对外部存储中的应用数据进行备份。
但是在如今k8s容器时代,容器是一个动态变化的资源,例如正在运行在哪个node上、配置的参数、版本等等信息都可能是变化的。容器的数据备份已经不能把容器本身以及应用的数据分开来了。备份的时候,应该把应用的资源以及数据打包,一起备份到第二存储上去。
(二)备份策略制定
数据备份的策略,从大的维度要确定哪些数据需要备份、哪些数据需要全量备份、哪些数据可以增量备份,从细的维度要确定备份的频率、窗口等各种必要因素。制定备份策略的过程需要考虑到数据本身的量级、数据的具体类型、极端条件下对数据恢复时间及数据丢失量的容忍程度、数据备份系统以及备份介质本身的性能特性、业务发展的规模及趋势判断等等。
(三)备份系统设计
信创趋势下,对于备份系统的设计主要包括备份介质和备份软件的选择、备份系统整体架构的设计。
1.备份介质的选择
备份介质从是否需要加电的角度分为在线介质和离线介质两类。在线介质主要是各类磁盘设备,包括服务器本地硬盘、集中式块存储、集中式NAS、分布式NAS、对象存储等。离线介质主要是磁带和蓝光存储。
按照《GB/T 20988—2007信息安全技术信息系统灾难恢复规范》中对于数据备份系统的要求--“备份介质场外存放”,个人认为离线备份是有必要的。现在部分用户完全使用在线设备(比如大数据平台、对象存储)用作备份数据的永久保留个人认为和监管要求有偏离。
传统离线介质主要是磁带,单盘容量大,保存周期长,金融行业已经具有多年的成熟使用经验,但目前仍然是依靠外国产品。随着国产化进程的推进,备份介质的国产化是不可避免的主题。使用大容量光盘作为存储介质的蓝光存储目前成为备选方案之一,但其生态,即和各个备份场景的兼容性还有待完善和检验。
2.备份软件的选择
过去我们主要使用TSM、NBU、CV等国外厂商的备份软件,这些备份软件也和DB2、ORACLE等外国商用数据库有着很好的兼容性。近几年伴随着基础软件国产化的推进,DB2、ORACLE等外国商用数据库向国产数据库的改造推进速度极快,同时也涌现出一批有竞争力的国产备份软件。当然由于国产数据库尤其是国产分布式数据库以及国产操作系统版本更新速度很快,对国产备份软件和它们两者之间的兼容性的挑战很大。很多用户也是在采用有代理还是无代理的备份方式之间徘徊。个人认为可以优先考虑无代理备份方式,以减少由于数据库服务器本地操作系统或者数据库版本升级带来的麻烦。
3.备份系统整体架构的设计
对于备份系统整体架构的设计就是将备份介质、备份软件、备份数据传输方式三者整体结合起来的过程。备份介质和备份软件根据在线/离线、外国/国产、有无代理等维度考虑。备份数据传输方式主要是万兆以太网和SAN网络两种。在国产分布式数据库、大数据平台等备份场景下,同时结合国产备份软件,万兆以太网已成为从数据源端到备份介质之间传输的主要网络载体。
对于备份系统整体架构的设计,这里举两种典型的架构设计。第一种是系统集成方案,比如采用分布式NAS对于近期备份数据在线保存,采用蓝光存储作为长期归档保存,同时采用一个国产备份软件用来定时将分布式数据库数据先备份到分布式NAS,再从分布式NAS上将超过一定时间的备份结果转储到离线存储进行永久保存。第二种则是很多国产备份厂商推崇的软硬一体架构,比如华为的OceanProtect一体化备份方案、各个国产备份厂商的备份一体机等等。对于技术基础扎实喜欢DIY的用户可以选择第一种,对于希望快速部署拿来即用的用户则可以选择第二种。
三、总结
数据备份是永恒的话题,做好数据备份是保障业务连续性的基石,是企业的生命线。随着IT基础设施和基础软件国产化进程的快速推进,我们需要及时探索新的更符合长期发展的备份方案,更新企业的整体备份架构,方能跟上时代步伐,与时俱进。