13 12
发新话题
打印

企业重生-信息系统的灾难恢复

八、数据库的灾难防护
1、数据库
数据库管理系统提供一些基本的功能
        数据安全(提供有效的备份和恢复功能)
        数据保安(设定访问权限)
        数据共享(多个用户和应用程序同时访问数据,不影响数据完整性)
        数据组织(文件的数据结构化)
数据库数据模式
        分级模式:数据项存在父项和子项的关系.
        网络模式:在网络数据库中,数据项之间有更多的关系,这些关系可用图形或网络形式来表示.
        关系模式:数据项保存成行,象表格一样.

关系模式
SQL(结构化查询语言)

2、数据库灾难
从数据库角度来看,灾难就是导致数据丢失的事件。
其原因可能式人为错误和应用程序错误,或者硬件,软件和环境故障
        人为和应用程序错误
        系统和环境故障

3、数据库恢复
定期的数据库备份防护数据库灾难的最基本和最有效的方式

        数据库事务处理
一个事务处理就是一个交易活动引起的一系列数据库操作
        数据库崩溃处理
通过永久性日志的方式来记录打算执行和已完成的操作。在崩溃恢复的时候,数据库管理系统应可以重新回放日志来恢复数据。
        文件系统缓存和数据库恢复
系统崩溃时候,文件系统的缓存还没有写到缓存。这种情况,数据库管理系统的恢复流程必须将其日志中的更新重新用到数据库。就是说,系统崩溃时,已确认事务处理的流程不会丢失.
        存档日志:长时间数据库恢复
如崩溃前某次全备时间点的所有存档日志都可以使用,那么就可以通过下面步骤恢复:
恢复备份拷贝
利用已恢复拷贝,按顺序重新回放系统拷贝
利用已恢复拷贝,重放故障发生时间点的数据库日志状态
数据库重放记录在归档日志中的事务处理和现时日志,能够将数据库镜像恢复到故障发生的状态,这种方式回放叫数据库前滚。
4、数据库备份技术
        离线数据备份
冷备:在一些老式的数据库管理系统中,冷备不能前滚
        在线数据库备份
热备,如Oracle的rman和Sybase的“dump database”

逻辑数据库备份的主要缺点:通常不能使用快照技术来减少备份对应用的影响。

通过拷贝数据库所包含的容器文件,数据库容器文件并不是随时都可以进行拷贝,因为数据库管理系统在不断更新容器文件,使用的文件拷贝可能包括未完成的事务处理,不能将数据库恢复到一致性状态。

        数据库管理器的静态状态
ORACLE将表空间存放在备份模式中进行备份,但数据库在不断更新,这样备份和数据就可能不一致。然而恢复却可以一致,是因为在线备份进行时,额外信息也会被数据库管理器记录下来。重新回放数据库在备份模式下所记录的日志,可以将数据库恢复到一致性状态。
其他数据库通过暂停事务处理并将其缓存,利用快照进行的数据库容器文件的备份便是数据库唯一的镜像。

数据库增量备份:可以是逻辑的或者是物理的

逻辑增量备份:存档数据库日志是数据库逻辑增量备份的一种方式。
通过恢复数据库的全备,再利用归档日志将数据库恢复到最新的存档日志,将数据库恢复到最新存档时刻。

物理增量备份:包含数据库容器文件的文件系统的增量备份可以有效的创建数据库的物理增量备份。

基于文件(文件系统)的增量备份通常等同与数据库的全备份

5、从备份中恢复数据库
灾难恢复的一开始就合并使用备份和日志,恢复数据库的基准镜像。对与不可预知的物理灾难,在基准镜像上执行数据库的完全恢复(日志重新回放)。

6、检验数据库备份
数据备份无效的原因:
        元数据(例如oracle控制文件和sql服务器主数据库)缺失
        物理备份过程数据库处于非静止状态
        一个或多个必须的数据库文件从备份中丢失
        数据库毁坏后才开始备份
无效的备份比不备份更糟糕,无效的备份造成一种安全假相

        管理数据库日志(这个非常重要)
数据库的存档日志通常保存在备份保存的位置。在确定了数据库日志的存档频率后,数据库管理员必须平衡恢复点现时性和资源消耗的关系。
7、存储冗余和灾难防护
冗余在线存储可以通过消除造成数据库停机的单点故障,并且消除许多停机实例
RAID0和RAID5就是应用的一个实例

8、系统冗余和灾难防护
        共享数据集群:是指两台或多台计算机与一个带有数据库的公用存储设备直接相连

        主动-被动数据库集群配置:有一个控制数据库的主服务器,其他的都是被动的,当服务器发生故障的时候,有一台备用服务器变成主服务器来控制数据库。通过集群软件和数据库代理之间的相互作用来完称。集群代理可以在数据库管理器和集群软件之间建立连接,以提供启动,停止,监控服务。

        主动-被动数据库冗余其主要的步骤:
1、集群代理检测到故障
2、次服务器检测到主服务器的故障
3、主服务器上的数据库代理会检测到数据库故障(代理会尝试重启数据库),重启失败,代理会强行关闭数据库,集群软件卸载文件系统,以释放磁盘空间。
4、次服务器取得数据库ip地址的控制权,充当主服务器。
5、新的服务器导入(export)磁盘,恢复卷,设置文件系统,并恢复数据库。
6、新的主服务器代理重新启动数据库,使之可用。

        主动-被动数据库集群配置建议
使用主动-被动式数据库集群可以有效的防御灾难,但需要遵守下列简单规则
1、当服务断掉时,客户机软件应当不断重试是不是失败,这样在故障冗余之后可以重新连接
2、共享磁盘应该镜像
3、专用网络应该冗余
4、客户机访问网络组件应当冗余
5、文件系统应当做好日志,以便更快恢复
6、数据库恢复程序(包括故障日志),应定期测试
7、在支持多个被动服务器的集群中,集群管理器的配置应当选择最空闲的被动服务器作为冗余目标

        自动和自动式数据库复制:
ORACLE的并行服务器(OPS)和实时应用集群(RAC)
这些主机可以同时访问共享磁盘,这就需要一个分布式的锁管理器来协调数据库管理器实例的访问共享数据。以便每一个实例都是数据库独立部分的首要访问者。这种方式一般都需要使用裸设备,一般只限与硬件存储冗余。

9、数据库复制
        用日志传输进行复制
数据库恢复的最基本的问题是如何保证恢复站点的数据是最新数据。或许最简单的办法就是定期的将存档日志物理传送到恢复站点。
        数据库管理器复制
大多数的数据库管理器支持实时复制,一对多或者双向复制。
        数据库的存储复制
按照卷级或者文件系统进行复制
卷复制在数据中心和站点采用同样顺序的写操作。这一点保证了副本可以作为数据库恢复的基础,因为副本的内容不能代表实际数据库以前的某一状态。
存储卷的复制可以同步或者异步
1、在同步的复制中,写操作的结果并不是反映在数据库管理器中,直到所有恢复站点已经受到并确认到它们。
2、使用异步复制中,在次卷的写操作运行有一定数量的延迟,而不会影响数据库管理器或应用的性能。
3、尽管如此,有一种技术可以在数据库活动的静止时刻,已复制镜像可以被定期分离。
SRDF的分离
        复制延时
数据库管理器和存储复制,都会将人为的误操作和应用错误扩展到恢复站点。但如果主站点和恢复站点之间存在一个可配置延时,那么数据库副本就可以用来恢复某些逻辑错误。
        全域集群管理
两个或多个集群,可以通过广域网连接到全域集群。



10、数据库可恢复性分级
        数据库灾难恢复技术:
定期数据库备份和日志存档
磁盘镜像
局域集群
数据库复制
全域集群

        数据库灾难恢复技术都必须和前面所列的技术合并使用,例如磁盘镜像必须和定期数据库备份和日志存档合并使用。

        根据不同的RTO(恢复时间目标),决定使用不同的技术。

        各种技术的优势和需要
1、数据库备份和已存档日志必须保存在离数据中心有一定距离的地方。高级备份软件应当具有自动安排块级增量备份等功能,可以降低管理成本,缩小备份窗口,最小化恢复时间。
2、通过镜像硬件和网络设备,磁盘镜像可以大大减少硬件故障引起的灾难。
3、通过集群可以提高数据库的信息服务的可用性,降低单点故障。
4、要从导致站点宕机的灾难恢复过来,数据库必须复制到远程站点。
5、当使用全域集群来调整多个互连站点的数据库和应用的可用性,便可以实现数据库的最高可用性。

TOP

九、应用程序的灾难防护
1、可用应用程序与可用数据
SLA是用户和信息服务提供商之间的一个协议,它规定了服务可供使用的时间和条件,例如,SLA会规定:
     特定时间的可用性(例如工作日的早上8点到下午5点)
     特定时间的可用性的级别
     ………..
SLA是双向协议,为了获得特定水平的服务,用户必须以预付或后付费的适当方式,为服务付费用。
宕机的影响取决于受影响系统对企业的价值,以及从宕机恢复所需的时间。这两个因素决定了停机成本。

2、提高应用可用性
提高应用可用性的最佳途径是加快宕机恢复
        如果发生应用程序宕机,而计算机系统基本可用,最快速的恢复方式九是在改该系统上重启动应用程序。
        如果某应用程序的系统不再可用,最快的恢复方式就是将该应用切换到附近的另一套系统。

基本的可恢复性
        当宕机可以预知时,信息服务的可用性就提高了。预见大多数宕机的方法就是让重要的组件具有冗余性质。故障切换可以大大减少故障恢复时间

3、威胁评估
寻找单点故障
        弹性电源
        弹性人工气候控制:空调设施
        弹性客户机连接:双网卡冗余
        弹性服务器:双机集群
        弹性客户机:使得用户能够使用任何客户计算机进行访问
        弹性存储网络:通信链路的冗余(光纤链路和网络链路)
        弹性存储设备:保证双路或三路镜像,远程复制数据,RAID和快照
        弹性应用服务器:一对多的冗余性
        弹性数据中心设施

4、远程故障切换的考虑因素
本地故障的理想状态:
应用程序切换到远程服务器与本地故障切换到同一机房内的服务器有很大的不同。理想情况下,所有的故障切换都是本地的,故障服务器和备份服务器都可以立即访问所有的数据。在这种情况下,备份服务器都可以看到服务器发生故障那一刻正在写入的实际数据镜像。

远程故障切换无法以这种方式进行的原因有两个:
        距离限制:
要让两台服务器从同一磁盘进行读写,他们必须是同一存储区域网的组成部分。尽管SAN支持的数据传输距离比并行SCSI远,但服务器和存储设备距离不能超过80-100公里,如距离超出该限制,必须对数据进行复制。
        IP切换  
要让应用程序从一台服务器切换到另一台服务器,导出客户机的ip地址也必须同它一起切换。

本地和远程故障切换比较
本地和远程故障的切换的机制应该不通,故障在于第二此故障切换。

Failback(系统回切):第二次故障回切
        一旦应用切换到辅助服务器,并运行一段时间,主服务器的数据将变的“陈旧”。对备份服务器的数据拷贝所做的更新不能反映在主服务器的拷贝上。在应用程序回切的时候,必须将服务器的数据拷贝更新到最新状态。
        但是使用数据复制,远程拷贝几乎始终与本地拷贝有一点不同步。因此副本所得的状态比本地恢复状态略微陈旧一些。

        且广域网的可靠性比局域网的可靠性差的多。假定本地故障恢复和远程故障恢复的计划相同是不可行的。

        远程故障切换需要将服务器名称重新映射到备用的IP地址上。这是相当困难的。
重新映射技术:DNS BIND Daemon

5.管理远程故障切换
最可靠的切换是将整个本地集群切换到恢复站点的一个独立的远程集群。

自动化远程故障切换软件的使用很复杂。它必须实现从一个控制台,在多个站点同时管理集群。应当使管理员能够启动本地或远程故障切换,更改集群配置,监控集群配置,监控集群状态的图形表示,并得到它所管理的任何集群状态变化通知。

TOP

异地多重备份,让您的数据更安全!

数据备份新机制,了解更多到备份中国官方网站:www.beifen.com

TOP

 13 12
发新话题