《企业备份系统运维管理的关键问题.docx》由会员分享,可在线阅读,更多相关《企业备份系统运维管理的关键问题.docx(6页珍藏版)》请在第一文库网上搜索。
1、企业备份系统运维管理的关键问题对于每一个企业来讲,数据备份恢复是企业1T运维当中非常重要的一部分。如何保障必要的数据在必耍的时间完成必耍模式的备份,并且能在需要的时刻将正确的数据在正确的位置恢复,这是数据备份恢复运维工作必然的考核指标。本文通过大量的运维实践总结出备份系统运维工作当中遇到的一些关键问题,并且按照实际解决方案提炼解决思路。1 .如何解决平衡数据库归档频度和数据恢复完整性1.1 数据库恢复的基本原理对于数据库的恢复来说有很多种,我们只讨论需要介质恢复的情况。在这种场合下,首先我们需要找到一个最近时刻点的全量备份进行恢复;然后需要从备份介质上找到这个时刻点之后的重做日志进行数据追平,
2、最后我们需要找到本地没有丢失的重做口志进行再次追平直到没有可用口志。如如图所示,在时刻A ,我们开始做在线全库备份,在B时刻全库备份结束。当数据库运行到E时刻之后数据库发生了重大介质故障,只能通过介质恢复。那么在A飞时间段内,大部分REDO 口志文件都已经归档到备份介质池当中,服务器本地存储目录当中只剩下CE (小于一个归档备份时间间隔)的归档日志和没有来得及归档的REDO日志文件。假设发生的故障严重到服务器本地存储目录也无法恢复的时候,那么相当于在C-E这段时间产生的重做日志就丢失掉了。相当在这种极端场合下,数据丢失的最大窗口就是一个归档间隔时间段。当然如果把这个间隔设置的足够小的话,那么另
3、外的问题就产生了,备份作业随着系统增加会呈爆发式并发启动状态,最终会影响到整个备份系统的健康运行导致归档无法及时转储,最终还是可能会导致数据库的宕机。这就是一个矛盾,需要我们去很好的平衡。1.2 平衡数据库归档频率的方法数据库归档备份的频率是指一天24小时内间隔多长时间进行一次归档日志的备份,一方面是要保障增量数据备份的完整性,另外一方面是要避免因为恢复空间不足导致数据库的宕机时间。要平衡这个频率窗口需要采集以下几类数据:1)单位时间内不同数据库系统平均的归档日志量。采集这个数据的目的在于详细分析不同业务系统在不同时间段的写操作频繁程度。对于日志归档速度较快的系统,我们需要提高其恢复区的空间大
4、小,同时加快归档备份的频率,使得数据库既能处于安全运行状态又能保障极端故障场合下数据丢失的量在较小范围之内。2)业务系统类型。所谓业务系统类型即OLTP或者是OLAP ,因为对于OLAP来讲,每次的读写操作都会是批量的执行,它的归档速度是正常OLAP系统的几十倍甚至上百倍。最麻烦的是两者皆有的业务系统,比如说银行业中的交易系统,白天跑联机交易,晚上跑核算批量,白天和晚上的日志归档速度有着巨大的反差。那么我们就需要在批量作业时间段内将备份频率调快,将恢复区空间设置提高。3)备份系统可以容忍的最大并发量。备份系统可以容忍的最大并发Jobs ,不仅仅取决于备份软件系统可以并发调度的作业数目和备份作业
5、服务器的数目,还要取决于备份介质池可以容忍的资源消耗限制。及时我们可以同时调度几百个作业,但是当几十个作业同时写入备份介质池时就会把备份介质池的计算资源或者是TO资源使用殆尽。那么最终整个备份系统的并发数取决于短板因素。4 )不同数据库系统恢复区能够支撑最小时间窗口。这个最小时间窗口是我们用数据库的恢复区可用空间大小/单位时间内的最大归档速度来估算出来的时间窗口。因为我们在安装数据库或者是做变更的时候不可能按照每一个系统的特点详细计算出其日志存储空间的大小,只能按照有限的几个规格来做初始规划。有了以上数据之后,我们需要根据以下几个原则来详细设计我们的归档作业频率。首先,根据4当中采集到的数据,
6、将时间窗口较小的几个系统进行存储空间调整,使其日志存储空间能够满足我们期望的最小时间标准。然后,将一天24小时定义为儿个时间段,批量业务集中的时间段、联机业务集中的时间段、特殊任务集中的时间段等。当然这个定义主要是根据1&2中采集到的详细数据来定义的。接着,我们需要根据1中数据估算出一个归档作业大概持续的时间长度。为保障每一个时刻点的并发执行备份作业数目远小于3中估算出来的数据。最后,需要把备份作业的频度根据不同的时间段特点调整到以上条件都满足的状态,并在此前提条件下可以为了保障极端情况下的数据完整性而适当调快归档作业的备份频率。下图是一个根据以上采集数据进行多维分析的实例,仅仅是一个方法示意
7、,归档频率根据数据重要性分级、归档速度、业务时间段分类等前提进行的粗略分析,最下面的一行数字表示每一个时刻点并发的归档备份数目,其目标在于平衡每一个时间间隔内的平均备份作也数。实际情况会比以下情况复杂很多,我们可以将时间间隔划分的更小,涉及的因素更多,分析的更加细致。图2数据库归档频率规划分析案例2 .如何评估数据库全量备份的策略数据库的全量备份来讲,随着数据量的不断增加,其备份作业耗费的时间也就会越长,耗费的数据库资源也越多,对在线业务的影响也就越大。另外同一个时间段内发起的全量备份越多,那么其占用的备份系统整体资源(备份服务器、备份介质池、链路带宽等)也就会越多,其影响范围也会越广。首先,
8、这个问题是一个需要不断优化的问题。对于每一个应用系统来讲,根据业务服务的特点,其备份的时间窗口也是不同的。可能初期备份作业能够在备份窗口内完成,但是随着数据量的增长,后期的备份作业就会超过备份时间窗口。所以我们需要定期监控数据库的全量备份作业时间,在事件窗口范围内尽量通过调整合适的调度时间来完成全量备份。但是当数据量增长到完全没办法在备份窗口完成的时候,那么我们就需要进行调整全量备份的频度和具体调度时间点了。其次,这个问题是一个跟业务特点密切相关的的问题。有些人喜欢把所有的业务系统都按照一个标准去定义其数据库全量备份的策略比如说TB以下的数据库,每天一次全量备份;比如说业务等级属于重要的系统,
9、每天一次全量备份;比如说只要能备份的系统,全部进行每天一次的全量备份等等策略。这些都是不科学的策略。应该从业务系统的数据重要性去评估数据库全量备分的频率,在现有备份系统有限的处理能力内保障数据重要性高的系统完成相应的全量备份。最后,这个问题是一个需要从各个方面着手去解决的问题。从备份网络的带宽和隔离性考虑,应该用单独的告诉备份网络,备份客户端应该设置区分于业务的单独网络通道及配置。从备份作业服务器的配置层面,我们应该配置相对合理的资源(内存、磁盘)来保障备份片在作业服务器层没有瓶颈。从备份介质池层面,我们需要保障备份介质的10处理能力不能成为备份作业底端的性能瓶颈。3.如何解决备份作业分布合理
10、性问题其实这个问题很简单,n的就是要保障备份时间窗口内调度起来以及运行过程中的备份作业处于一种平衡状态,不能使其作业调用或者是并发运行过于集中。但是当系统数目非常多,系统特点复杂,数据重要性级别有很多种,数据量以及数据增速各不相同时,这个问题就变得比较复杂。我们很难有一种精确的计算方法来实现其做到绝对,但是我们可以根据以下的方法进行定性的分析和调整。假设我们定义一个系统的备份作业在备份体系当中必须具备的属性为:pi -应用系统数据的重要性级别属性,可以通过业务分析划分为有限的几个级别。P2 -应用系统在不同时间段内的数据增量属性,需耍通过梳理历史数据来评估。P3 -应用系统当前的备份作业的时间
11、长度属性,需要通过历史数据结合数据量来评估。P4 -应用系统是否是具备双重业务特性,比如兼备批量和联机业务特性。通过以上几个属性的加权计算或者其他方法的定性分析,计算出每一个系统的不同备份作业的定性矢量,然后我们可以将这些矢量根据其具体备份窗口设置初始的调度时间点,然后分析其具体分布图是否均衡稳定并且进行微调。例如下图是一个粗略的分析实例,可以提供相关的参考思路:ESHLB叁40(C)RPO1一r.一一!S一汇37s37gbAS一*-L-4bZs.丁-二:s二rus一JQ厂:6o3二3一s一一二一6,C7工AS飞rs6E若qsqy二 8cs一9s二1s:3S一9fit7rIMPiR1二IB1313iA.1idig*31|I目ssY595。QiiiinnDDD1I1IJ曰2初3so51丁1h114 009635EinI2000rJ 751 11lIiJOws783hj19 30BV/ldjySB3_1J11JF5i;muyr5,5jj19.00ldiy133.451100wg55 131111T