著名的墨菲定律:事情如果有变坏的可能,不管这种可能性有多小,它总会发生;学ORACLE的人都知道,作为一个DBA可以什么都不会,但是数据库的备份恢复必须会,说明数据库的备份恢复的重要性;
作为一个传统制造行业的DBA(虽然现在负责的事情已经不仅仅是数据库了),也面临着企业内部数据备份的问题。公司也用了一个集中备份的软件,对公司所有的重要系统实施了备份;随着领导对机房安全问题的重视,单个机房的备份已经不能满足当前对于安全需求的要求了。所以又出现了备份升级的要求;
以下是最近对备份的一些思考:
一、是否需要统一备份的软件?
- 如果公司有钱,又肯花钱,那么请买一个专业的集中备份软件来管理你的备份吧。这样的话会让你的工作轻松很多。
非土豪公司理性分析,需要考虑的点如下:
- 需要备份的重要系统有多少?
- 需要备份的数据量有多少?
- 允许系统的宕机时间?
- 需要备份的数据类型?
统一备份软件可以带给你的好处有如下:
- 当备份的对象很多的情况下,统一备份能够方便你的管理,快速的知道每个系统每天的备份情况;
- 减少备份占用的空间,现在很多的备份软件具有数据消重的功能。当一个1TB的ORACLE数据库保留备份一个月的情况下,一般需要制定每周末进行数据库的全备,然后每周进行增量的备份,这样下来预计要5TB的空间来存放备份;一般数据库的消重都可以达到95%(20倍的消重),这种情况下可以进行每天都备份,这样一个月下来总共备份占用的空间约1.5TB(30TB/20)。备份软件的好处显而易见;
- 提高备份的可靠性:遇到很多神奇的公司,备份文件是存放在本地的,当出现硬盘故障的情况下,这种备份等于无效;备份软件存放文件的地方至少和备份的对象是存放在不同服务器上面的;
- 可以实现异地多重备份。数据量小的情况下,有没有备份软件都是没有区别的,但是当数据量达到TB级别的情况下,在没有消重的情况下要完成把备份文件同步到异地,那么需要消耗相当大的带宽,这显然是不实际;所以只有消重的情况下才可以实现;
所以当把内部情况都理清楚了,就可以很清楚的知道,要不要上集中备份软件了;
二、是否需要进行异地备份
- 如果公司很有钱,又肯花钱,那么就请一家公司来帮忙实现异地备份的方案吧;
其他情况请理性分析,需要考虑的点如下:
- 公司的规模怎样?
- 信息系统的重要性怎样?
单个机房的备份,可以满足如:服务器硬盘损坏、数据坏道、数据的误删除等单机的小范围的数据灾难。但是当发生火灾、水灾、地震、战争(和平年代可能性比较小)还有其他莫名其妙的故障时候,有可能备份服务器都完蛋的情况下,就需要异地备份了;
在一般情况下本地的备份是可以满足95%以上的数据恢复的需求的,还有5%的情况下是不能满足的;这个时候最主要考虑的因素就是钱的问题了,因为异地备份说明你至少还需要一个机房(或者托管在第三方的机房),需要一条光纤(根据数据量进行选择),还需要一套备份软件; 这些都是钱,所以企业的规模到一定的程度且信息系统
三、关于还原
备份的目的是用于还原,5月29日携程网的事件才刚过去。某公司的技术人员在做产品演示的时候就宣称携程网的数据是他们恢复的,但整个恢复的过程才用了30分钟。但是由于应用很复杂需要太多的叠加,导致携程网恢复运营要8个小时。
备份的数据能够用于恢复是备份最基本要求,但是怎么让备份的数据能够快速的用于恢复,这是我们可以优化的问题点;
以下是最近总结:
2.1 文件类别的备份,特别是小文件的备份,可以直接做文件服务器的冗余,不需要备份在备份服务器上面;
2.2 数据库的备份,如果硬件条件可以支撑的话,建议都使用全备,现在很多备份产品都是可以消重的,所以全备之后进行消重占用的空间也不会太大;
2.3 对于数据库的产品建议用专业的备份软件,诸如oracle就用rman备份,mysql用xtrbackup等企业版备份工具;
2.4 关于应用的备份,应用的备份很多时候都是被忽略的项目之一,其实应用的备份也是很关键的一点。数据库还原好了之后不仅仅是安装一个应用就可以了,有很多系统需要在应用的服务器配置一些参数文件、或者应用本身还承接着跟其他系统交互的任务。
现在已经有备份软件针对vmare虚拟机的备份,很多时候数据库是安装在实体机上面的,但是应用确是安装在虚拟机上面,所以如果这个时候能够对虚拟机做一个备份,那么应用的还原就是很简单的事情了,不用临时再找软件和安装文档了;
2.5 定期做还原,需要定期对备份的数据做一些还原的操作,这样的好处多多。
- 可以知道备份是不是有效的;
- 知道恢复的步骤,养兵千日用兵一时,备份也是为了以防万一要用,经常恢复后可以更快的进行恢复;
- 对整个还原的所需要耗费的时间做到心里有数,问题出现时就可以跟领导做一个准确的汇报;
以上是最近的一些总结,望各位看官补充。