第五十九章 镜像中断程序 - 灾难恢复程序
灾难恢复程序
如异步镜像成员中所述,灾难恢复 (DR
) 异步成员维护镜像数据库的只读副本,从而可以在需要时将 DR
异步提升为故障转移成员。将 DR
异步成员提升为故障转移成员中描述了提升 DR
异步的过程。本节讨论三种可以使用 DR
异步提升的场景:
- 在灾难期间手动故障转移到提升的
DR
异步 - 计划故障转移到提升的
DR
异步 - 使用提升的
DR
异步临时替换故障转移成员
在本节的过程中, IRIS A
是原始的主要故障转移成员, IRIS B
是原始备份,而 IRIS C
是要提升的 DR
异步。
在灾难期间手动故障转移到提升的 DR
异步
当镜像没有正常运行的故障转移成员时,可以手动故障转移到提升的 DR
异步。以下过程涵盖了可以选择此选项的场景:
- 没有附加日志数据的
DR
提升和手动故障转移 - 使用主
ISCAgent
的日志数据进行DR
提升和手动故障转移 - 使用来自日志文件的日志数据进行
DR
提升和手动故障转移
注意:如果无法确认主要故障转移成员 IRIS
实例确实已关闭,并且该实例有可能变得可用,请不要手动故障转移到另一个镜像成员。如果手动进行故障转移并且原始主节点变为可用,则两个故障转移成员将同时充当主节点。
注意:当主 IRIS 实例由于在仲裁器控制模式下与备份和仲裁器隔离而处于无限期故障状态时,如自动故障转移机制详述中所述,无法将 DR
异步提升为故障转移成员。
没有附加日志数据的 DR
提升和手动故障转移
在真正的灾难恢复场景中,两个故障转移成员的主机系统均已关闭且无法访问其日志文件,可以将 DR
异步成员提升为主要成员,而无需从前一个主要成员获取最新的日志数据。这可能会导致一些数据丢失。如果故障转移成员的主机系统可访问,请改用使用来自主 ISCAgent
的日志数据的 DR
提升和手动故障转移或使用来自日志文件的日志数据的 DR
提升和手动故障转移中的过程之一,因为这些允许提升的 DR
异步到在成为主日志之前获取最新的日志数据,从而最大限度地降低数据丢失的风险。
一旦将不参与镜像 VIP
的 DR
异步提升为主,必须进行任何必要的更改以将用户和应用程序重定向到新的主(请参阅在故障转移或灾难恢复后重定向应用程序连接),然后才能完成中提供的过程本节。
注意:提升的 DR
异步不会尝试成为主数据库,除非所有镜像数据库都标记为启动时需要安装被安装、激活和捕获,因此可以在成为初级时使用。
注意:在没有来自前一个主节点的最新日志数据的情况下将 DR
异步提升到主节点可能会导致丢失一些全局更新操作,并且可能需要重建其他镜像成员(如重建镜像成员中所述) .
要在不获取最新日志数据的情况下将 DR
异步 ( IRIS C
) 提升为主,请执行以下操作。
- 在不选择故障转移合作伙伴的情况下将
IRIS C
提升为故障转移成员。IRIS C
成为主要的,没有任何额外的日志数据。 - 当前故障转移成员(
IRIS A
和IRIS B
)的主机系统开始运行时,尽早并在重新启动IRIS
之前,在IRIS
实例的配置参数文件的[MirrorMember]
部分中设置ValidatedMember=0
在每个成员上(请参阅配置参数文件参考中的[MirrorMember]
)。这指示IRIS
实例从提升的DR
异步获取其在镜像中的新角色,而不是重新连接其先前的角色。促销说明指出,此更改是必需的。
注意:未能设置 ValidatedMember=0
可能会导致两个镜像成员同时充当主要成员。
-
在每个以前的故障转移成员上重新启动
IRIS
。- 如果成员在
IRIS
重新启动时作为异步DR
加入镜像,则不需要进一步的步骤。任何在故障成员上但不在当前主成员上的日志数据都已被丢弃。 - 如果在
IRIS
重新启动时成员无法加入镜像,如重建镜像成员中描述的引用不一致数据的消息日志消息所示,成员上的最新数据库更改晚于IRIS
上存在的最新日志数据C
当它成为主要的。要解决此问题,请按照该部分中的描述重建IRIS A
。
- 如果成员在
-
在
IRIS A
和IRIS B
重新加入镜像后,可以使用使用提升的DR
异步临时替换故障转移成员中描述的过程将所有成员恢复到它们以前的角色。如果IRIS A
或IRIS B
作为备份重新启动,则在备份处于活动状态时从正常关闭IRIS C
开始,以故障转移到备份;如果IRIS A
和IRIS B
都重新启动为DR
异步,将其中一个提升为备份,然后在IRIS C
上执行正常关闭。将另一个以前的故障转移成员提升为备份,然后将IRIS C
作为DR
异步重启。
网友评论