数据备份恢复效率优化策略研究与实践
2016-05-14廖雯张俊冯徐佳男鲍淼任俊强
廖雯 张俊冯 徐佳男 鲍淼 任俊强
1 引言
随着信息化建设的推进,信息数据对于企业的发展非常重要。但是在实际的数据使用中,信息数据随时面临着因为各种因素所导致的破坏,这就对数据存储恢复提出了相当高的要求。为此,需要做好对数据备份恢复效率进行不断地优化,以改善数据备份恢复效率。
2 数据备份是企业生存的基础保障
企业最为宝贵的财富就是数据,从美国9.11恐怖袭击,到近年来我国发生的严重自然灾害等,充分说明企业当前生存环境的复杂多变,这些灾难事件给那些依赖信息系统开展业务的企业带来巨大的损失和严重影响。人为的错误,硬盘的损毁、电脑病毒、自然灾难等都有可能造成数据的丢失,给企业造成无可估量的损失。
备份作为保护这些重要资源的基本手段,占有的重要地位,它已经成为计算机领域里相对独立的分支机构。一般来说,各种操作系统所附带的备份程序都有着这样或那样的缺陷,所以若想对数据进行可靠的备份,必须选择专门的备份软、硬件,并制定相应的备份及恢复方案。如果每一台服务器或每一个局域网络都配置了数据备份设备以及相应的备份软件,那么无论网络硬件还是软件出了问题,都能够很轻松地恢复,数据备份已经成为现代企业生存的基础保障。
3 数据恢复效率是企业生存能力的表现形式
在系统的建设和保障稳定运行过程中,备份体系的建设不仅仅是将数据进行备份,而是一个系统的工程,而随着对各个应用系统的全面覆盖,备份的数据量的不断增加,恢复速度难以达到设计预期,而且在实践过程中发现恢复效率受诸多因素影响,导致恢复速度根本无法预测,这给我们的数据保护管理工作带来非常大的挑战。
以某商业银行为例,在某次生产系统维护过程中,操作不当导致磁盘I/O错误,由此造成生产和灾备中心同时故障无法对外服务,不得不采取数据恢复方式恢复业务。由于缺乏数据恢复的演练,不仅恢复流程不熟悉耽误时间,而且由于系统缺乏优化,使得原本2小时的恢复作业,花费了整整6个小时,严重影响了第二天全行网点的正常营业,造成业务损失。
因此,对备份数据恢复效率进行研究,了解并优化现有环境下备份数据恢复效率,分析并掌握影响数据恢复效率的策略因素,为进一步提高恢复效率提供决策依据。
4 数据备份恢复效率研究方法
通过对数据备份系统的分析,我们发现有多方面的因素会影响数据备份恢复效率,而且这些因素与恢复效率不是简单的线性关系,因此我们在设计研究方法时考虑两个主要的方面:一是定性的影响性分析,所谓定性的影响性分析是通过对可能影响备份恢复效率的诸多因素的罗列,以及可能造成的影响进行分析说明;二是定量的演练测试,所谓定量的演练测试是选择影响性比较大的因素进行对比测试,根据测试结果来验证这些因素对备份恢复效率的影响。通过两方面结果的汇总比对,确定对备份恢复效率产生影响的因素以及这些因素的影响性,从而为我们确定行之有效的优化策略提供决策依据。
具体的研究步骤和方法如图1所示。
基准演练:选取典型环境作为研究对象,进行备份数据恢复演练,记录数据恢复流程、恢复速度,作为研究的基准数据。
影响因素分析:汇总影响恢复效率的策略因素、并对齐影响性进行分析。
因素影响性测试:组织环境资源对这些因素进行逐一优化,逐一对优化后的环境进行影响因素的对比测试,对确定各影响因素的影响因子。
优化演练及总结:基于最终的优化环境进行数据恢复演练,记录恢复流程、恢复速度,作为演练分析的对比数据并进行总结。
5 选择具有普遍参考意义的研究对象
我们选取了银联技术部办公网备份系统典型环境作为研究对象,环境包括虚拟环境的应用系统和物理机的Oracle数据库,拓扑如图2所示。
5.1 虚拟机应用环境
虚拟机名称:NBU_SELS11_TST。
系统配置。CPU:4 vCPU;内存:8GB物理内存 + 4GB swap 空间;存储:80GB本地硬盘+ 300GB LUN;操作系统:SUSE Linux Enterprise Server 11 SP3;应用:主数据应用服务/文件系统。
5.2 物理机数据库环境
设备型号:IBM x3650 M3。
硬件配置。CPU:E5640,2.67GHz,2个物理CPU,每个CPU 4个内核;内存:16GB物理内存 + 8GB swap 空间;存储:500GB本地硬盘(RAID1)+ 300GB LUN + 50GB LUN;操作系统:SUSE Linux Enterprise Server 11 SP3;数据库:Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 64bit。
6 数据恢复基准演练效率
在现有环境下对数据恢复效率进行演练测试,记录数据恢复的流程、速度、耗时,形成文档,作为研究的基准数据,具体演练过程如图3所示。
环境准备:为不影响基准环境的生产应用,全部采取异机恢复的方式进行演练。
数据库恢复及验证:首先进行数据库的恢复,恢复后的数据库连接生产应用,验证数据一致性和业务的可用性,记录恢复数据的时间。
应用服务器恢复及验证:恢复应用服务器的数据,连接恢复的数据库,验证数据的一致性和业务的可用性,记录恢复数据的时间。
最后进行生产环境的完全还原,保证演练不对原环境造成影响。
基准演练结论:数据恢复后,数据量一致,业务应用经验证后完全可用,说明备份数据已完整地恢复,整个恢复过程总耗时为4小时25分钟,基准演练数据恢复效率结果如表1和表2所示。
7 数据备份恢复效率影响因素分析及测试
通过基准演练,我们发现在数据库恢复操作耗时最长,因此我们对影响数据库恢复速度的因素进行了分析,主要包括几类。
硬件及网络环境:备份的目标系统的硬件环境决定备份恢复效率,主要包括系统CPU/内存大小、存储I/O、网络带宽等。
备份参数:NBU是备份作业调度的管理平台,所以备份参数的设置也是影响恢复效率的因素,主要包括备份通道调整、Buffer参数、重删和虚机镜像恢复功能等。
数据库参数:NBU是通过调度Oracle数据库的备份接口进行的,Oracle一些参数的设置同样会影响备份速度,主要包括同步/异步IO机制、数据库Large-pool、以及数据库的压缩机制。
其他恢复机制:存储快照、虚拟机镜像快速恢复功能。
根据对影响因素的分析,我们设计了这些因素影响性的测试,主要是通过调整因素的设置来测试这些因素对备份恢复效率的影响,从而验证影响因素的分析,并找到优化的方案。
针对我们所选取的典型环境,这些因素对备份速度会产生不同的影响。
首先,硬件环境因素对备份速度的影响是线性的,硬件条件越好则备份恢复速度越快,考虑到硬件环境基本固定,所以选择了SAN和LAN两种方式的对比测试。
其次,NBU参数设置会提高备份恢复速度,但同时会占用硬件资源,所以对于备恢复速度的影响性比较综合,在硬件资源足够的情况下表现为线性,在后续的影响性测试中我们重点关注的不同通道数的对比测试以及重删、虚机镜像快速恢复功能对备份性能影响测试。
然后,Oracle的这些参数对速度的影响则比较复杂,尤其是开启压缩机制,因此是我们测试的重点,分别对开启和关闭压缩机制进行了测试。
最后,对可能影响备份恢复速度的其他因素进行测试,如存储快照回滚技术。
7.1 硬件及网络环境测试
备份的目标系统的硬件环境决定备份恢复效率,包括系统CPU/内存大小、存储I/O、网络带宽。
7.1.1 系统CPU/内存及存储I/O
系统CPU/内存大小决定计算能力,影响数据恢复速度,系统计算能力越强,数据备份恢复速度越快;前端存储I/O存储的吞吐量大小影响数据读取和写入的速度,I/O吞吐量越大,数据备份恢复速度越快。如表3所示。
7.1.2 LAN/SAN备份方式对比数据
测试数据:测试中使用一台物理机作为NBU模拟测试备份恢复客户端。操作系统:SUSE Linux Enterprise Server 11 SP3;CPU:16 (2.67GHz);内存:16G;LUN:300G;IP网络带宽:1Gb;SAN网络带宽:4Gb。
分别测试三种类型数据: Oracle、应用及文件、MySQL数据,测试数据表4所示。
测试结论:在同时满足SAN、LAN 通道的环境优先使用SAN通道进行数据的备份与恢复,当前千兆网络环境下,数据备份恢复速率峰值为110MB/s左右,生产环境中NBU5230同一时刻可能需要与其他业务系统交互,导致传输速率无法持久保持满带宽状态,仅数据传输方面物理主机与虚拟主机无太大差别。
7.2 备份参数测试
NBU是备份作业调度的管理平台,所以备份参数的设置也是为了提高备份恢复速度而设置的。
7.2.1 Oracle备份多通道测试
测试数据:根据对基准环境LAN方式开启数据库压缩的情况下反复备份恢复测试,测试数据如表5所示。
测试结论:选择2~6通道可以一定程度提升备份恢复速度:为尽可能利用整个通道带宽,在Netbackup中可选择并发数据量越多,数据备份恢复速度越快;每增加两个通道,速率提升约为30%。
7.2.2 NBU Buffer参数调整测试
NBU 的Buffer参数是各个组件之间通讯时的数据缓冲区,通过调整这些参数的大小可以影响备份恢复速度,其中NET_BUFFER_SZ:NBU介质服务器与客户端通信的缓冲区;Size_DATA_BUFFERS:NBU介质管理程序bptm和策略库进程bpdm间的缓存大小;Number of Data Buffers:NBU bptp进程可以使用的 Data_buffer的数量。
测试数据:Buffer更改前后的备份I/O对比测试(2通道),如表6所示。
测试结论:NBU Buffer的数量和大小影响备份数据的写入速度,Buffer数值越大,备份恢复速度越快,但提升效果非常小。
7.2.3 备份重删机制测试
NetBackup 可以选择在客户端或介质服务器上进行重复数据删除。在靠近数据源位置删除冗余数据,可以最大程度发挥重复数据删除功能的优势。NetBackup 客户端重复数据删除功能可以删除源数据位置的冗余数据。与传统备份技术相比,它所占用的 CPU、I/O 和内存会更低。客户端重复数据删除功能还可以实现增幅高达10倍的备份速度。如果客户端计算机没有足够的CPU资源执行重复数据删除操作,那么可以将该操作放到Media服务器上,或存储目标端进行处理。如图5所示。
测试数据:使用办公流程平台Oracle数据库作为数据来源(缩减后),在SAN网络备份的条件下,测试启用重删功能对数据库类备份效率的影响以及客户端资源的消耗情况,如表7所示。
测试结论:删重率与数据类型有关系,文档文件、虚机以及数据库的删重率比较高,而这些删重率高的数据类型,备份恢复时需要消耗更多的CPU和内存,虽然一定程度影响备份速率,但因实际写入数据量少,备份恢复速度还是相对高,删重率与备份速率有关,但不是绝对线性关系;数据重删是在备份策略中默认开启的功能,无重删会占用更多备份存储资源、消耗更多备份时间。
7.2.4 启动虚机镜像恢复功能(即时恢复)
NetBackup 的即时恢复虚拟机功能,不需要等待从备份中传输该虚拟机的数据,可直接从备份映像中启动虚拟机,并且目标 ESX 主机上的用户可立即访问该虚拟机。恢复虚拟机后使用vMotion将虚拟机数据文件从备份映像迁移到其他ESX主机,恢复过程如图6所示。
测试数据如表8所示。
测试结论:利用NBU的快速开启任何以已备份到磁盘的虚拟系统,通过NFS快速将虚机镜像启动,可以实现系统快速恢复的目的,提高备份恢复效率。相比常规的虚拟机恢复方式,节约了系统从备份集恢复到存储资源池的时间,快速启动系统,如果需要系统长期运行则需要将其迁移到相邻存储中去。
7.3 Oracle数据库参数测试
NBU是通过调度Oracle数据库的备份接口进行的,Oracle一些参数的设置同样会影响备份速度。
7.3.1 改变ORACLE异步I/O参数
测试数据如表9所示。
测试结论:改变oracle数据库异步IO参数后,使用不同的通道对数据库进行备份,对恢复速度有一定提升。
7.3.2 调整Large-Pool测试
RMAN备份过程是将数据读到buffer,然后通过MML接口写到备份设备。依数据库不同的设置,这块buffer会使用SGA区不同的部份,推荐设置合理的Large pool,让RMAN的Buffer出自Large Pool。
测试数据如表10所示。
测试结论:将数据库的SGA参数large_pool_size由200MB改为1GB,修改完成之后并没有对备份速度有所优化。
7.3.3 启用数据库压缩机制测试
测试数据:使用基准环境数据库280G数据在2通道的基础上进行对比测试,如表11所示。
测试结论:Oracle压缩机制是决定性的影响因素,开启关闭压缩机制,备份数据恢复速率提升7-8倍。
7.4 启用存储快照功能测试
Huawei S5800T的快照功能,实现在不中断正常业务的前提下,生成源数据在某一时间点的一致性数据副本,并且可在几秒内完成。快照生成后可以被主机读取,也可以作为某个时间点的数据备份。
测试方法及数据:划分了一个300GB的LUN存储空间挂载到物理机测试环境,并将Oracle测试数据库数据部署到该挂载点, 步骤包括对LUN 建立快照;在数据库中模拟了数据误删的操作(删除表空间),然后使用快照回滚功能验证快照回滚完成后数据一致性,如表12所示。
将LUN快照映射到另外一个Oracle系统,调整参数后启动数据库,验证通过快照重新定义数据用途的特性。
测试结论:修改机制可大幅提高系统恢复效率,但数据不能长期保存,可作为恢复效率的辅助手段。
8 数据备份恢复效率因素影响性分析及测试总结
8.1 影响性分析
通过对系统硬件环境到应用软件参数的逐级分析和对比测试,优选硬件资源配置能够有效提升数据备份恢复性能,同时根据场景调整参数配置可进一步充分发挥性能。
在目前收集的数据中,物理服务器与虚拟服务器的磁盘IO有一定差异,但在整体的备份恢复周期中IO 性能未发现形成瓶颈,同样的现象也存在于物理服务器与虚拟服务器的CPU计算能力。相较于系统IO性能及CPU计算能力,网络传输速率为重点考虑对象。
网络方面,目前服务器接入层网络速率为1Gb/s、光纤存储速率为 4Gb/s,故测试结果中光纤网络数据传输速率明显高于LAN网络,但未经优化的数据传输速率并未达到SAN与LAN之间的既有速率之比,同样LAN网络的平均传输速率也未达到 1Gb/s 网络所具备的速率,可见参数优化是资源使用率高低的重要因素。
数据库参数调整的案例中,在Oracle 数据库的恢复测试案例中开启了压缩模式的优势是能减小网络传输量、缩小备份集大小;而在数据量较大的情况下压缩模式将失去优势,导致备份恢复周期较长,无法实现数据的快速恢复,故不同应用场景调整优化参数是不完全相同的。
备份数据重删功能是NBU的核心价值之一,无论是虚拟机备份还是文件备份,通过重删扩展了备份二级存储的逻辑存储能力,同时也可通过客户端删重功能减小网络传输量,缩短备份、还原周期。
除参数配置优化外,使用某些可选的功能也可以优化数据恢复策略,如NBU即时恢复和存储快照。NBU即时恢复可通过配置好的NFS环境将虚拟机备份文件直接挂载在虚拟资源池中,省略了虚拟机恢复的耗时而实时启动故障虚拟机;存储快照功能并不能归类为备份方式,但可实现数据快速回滚适用于数据状态保护及测试环境(功能仅用于测试,目前存储资源池空间暂无法支撑生产业务的数据快照功能)。
概括备份恢复效率影响的的因素包括:SAN/LAN备份方式、重删功能、虚机快速恢复、数据库压缩机制以及存储快照功能,其影响性表示如图7所示。
8.2 测试总结
通过对备份和恢复性能影响因素的分析和测试,我们发现这些因素对备份和恢复的影响是综合而且复杂的,实际优化过程中可自下而上,系统而全面的分析、优化备份架构。
首先,考虑备份系统基础设施,包括服务器、存储、网络等,如备份存储设备,选择的次序依次为磁盘、虚拟带库、物理带库,这些设备合理搭配,不仅可提高备份速度,还能更好的满足法规、制度的要求;再比如备份网络,是否规划备份专网,是否能提供SAN或万兆网等。
其次,优化备份架构,合理的调整配置参数,充分利用现有资源,达到备份和恢复性能的提升。 如数据库备份参数的调整,大数据平台的直连备份等。
最后,充分利用备份系统中新的优化功能选项,可大大提升备份和恢复性能。如重删功能、虚机即时恢复、备份加速和虚拟合成技术、数据库压缩机制以及存储快照功能等。
9 实施优化策略后的演练效果
根据影响性测试结果,我们采用了最优的备份和数据库参数组合,并选择能提高恢复效率的功能和机制,对当前备份恢复环境进行了优化,具体措施涉及几个方面。
事前准备:(1)异机恢复准备一个相同系统版本、数据库程序版本、相同环境变量的虚拟机的环境作为冷备;(2)恢复之前,暂停备份作业。
修改参数:(1)关闭oracle数据库压缩机制;(2)调整备份通道至6通道;(3)多个虚拟机恢复由并行改为串行操作,减轻NBU资源占用;(4)改变Oracle异步IO参数、SGA内存参数、修改 Net Buffer值。
优化演练效果:在完成优化后,再次对数据恢复进行了演练,在保证恢复数据及应用可用的情况下,恢复效率大幅度提高,如表13所示。
10 行业借鉴意义
根据数据统计,2015年,90%以上的金融行业使用Symantec NBU 进行数据备份,其中60%都是Oracle数据库备份,80%以上存在虚机备份环境,通过我们对数据备份恢复效率策略的研究对同行业的数据灾备具有两方面的意义。
一是一般同行业单位多关注备份,而忽略数据恢复的重要性,通过研究结果输出可帮助同行业单位重视数据恢复的有效性验。
二是在重视数据恢复有效性的情况下,研究结果有助于同行业同类型数据备份及恢复研究,分析并掌握影响数据恢复效率的策略因素以及这些因素的影响性,不断摸索优化方案从而提高恢复效率。
备份恢复效率的优化是一个持续不断的过程,在研究过程中我们了解到Symantec NBU在最新版本提供了文件和虚机的加速备份功能,可以提高备份恢复速度,而且我们也发现建立一套恢复演练的机制并定期演练也是提高备份恢复效率的重要手段,我们将继续深化研究以期进一步提高IT系统的应急保障能力。