文章
· 六月 17, 2023 阅读大约需 4 分钟

第六十章 镜像中断程序 - 使用主 ISCAgent 的日志数据进行 DR 提升和手动故障转移

第六十章 镜像中断程序 - 使用主 ISCAgent 的日志数据进行 DR 提升和手动故障转移

使用主 ISCAgent 的日志数据进行 DR 提升和手动故障转移

如果 IRIS A 的主机系统正在运行,但 IRIS 实例没有且无法重新启动,您可以使用以下过程在通过升级后使用来自 IRIS A 的最新日志数据更新升级的 IRIS C IRIS AISCAgent

  1. 推广 IRIS C,选择 IRIS A 作为故障转移伙伴。 IRIS C 被提升为故障转移成员,从 IRIS A 的代理获取最新的日志数据,并成为主要成员。
  2. 重新启动 IRIS A 上的 IRIS 实例,它作为备份重新加入镜像。
  3. IRIS A 重新加入镜像并变为活动状态后,可以使用使用升级的 DR 异步临时替换故障转移成员中描述的过程,将所有成员返回到它们以前的角色,首先是正常关闭 IRIS C ,然后在 IRIS B 的配置参数文件的 [MirrorMember] 部分中设置 ValidatedMember=0(请参阅配置参数文件参考中的 [MirrorMember]),将 IRIS B 重新启动为 DR 异步,将 IRIS B 提升为备份,并以 DR 异步方式重新启动 IRIS C

注意:如果 IRIS A 的主机系统已关闭,但 IRIS B 的主机系统已启动,尽管其 IRIS 实例未运行,请按照手动故障转移到活动备份中所述在 IRIS B 上运行 ^MIRROR 例程以确定 是否IRIS B 在发生故障时是一个活动备份。如果是这样,使用前面的过程,但在升级期间选择 IRIS B 作为故障转移伙伴,允许 IRIS CIRIS BISCAgent 获取最新的日志数据。

使用来自日志文件的日志数据进行 DR 提升和手动故障转移

如果 IRIS AIRIS B 的主机系统都已关闭,但可以访问 IRIS A 的日志文件,或者 IRIS B 的日志文件和消息日志可用,您可以使用最新的日志数据更新 IRIS C从升级前的初级开始,使用以下过程。

  1. 使用 IRIS AIRIS B 的最新日志文件更新 IRIS C,如下所示:
  • 如果 IRIS A 的日志文件可用,则将最新的镜像日志文件从 IRIS A 复制到 IRIS C,从 IRIS C 上的最新日志文件开始,并包括来自 IRIS A 的任何后续文件。例如,如果 MIRROR -MIRRORA-20180220.001IRIS C 上的最新文件,复制 MIRROR-MIRRORA-20180220.001IRIS A 上的任何更新文件。
  • 如果 IRIS A 的日志文件不可用但 IRIS B 的日志文件和消息日志可用:

    1. 确认IRIS B很可能已被捕获,如下所示:

      a. 确认当A及其代理不可用时,B同时断开与 A的连接。可以通过在Messages.log文件中搜索类似于以下内容的消息来检查 IRIS B断开连接的时间:

      MirrorClient: Primary AckDaemon failed to answer status request
      

      b. 通过在其 messages.log 文件中搜索类似于以下内容的消息,确认 IRIS B 在断开连接时是活动备份:

      Failed to contact agent on former primary, can't take over
      

注意:messages.log 文件中的如下消息表明 IRIS B 在断开连接时未处于活动状态:

nonactive Backup is down

当无法确认它是否已被追上时强制提升的 DR 异步成为主数据库可能会导致它成为主数据库而没有镜像生成的所有日志数据。因此,一些全局更新操作可能会丢失,而其他镜像成员可能需要从备份中重建。

2. 如果可以确认  `IRIS B` 处于活动状态,请将最新的镜像日志文件从  `IRIS B` 复制到  `IRIS C`,从  `IRIS C` 上的最新日志文件开始,然后包括来自  `IRIS B` 的所有后续文件。例如,如果 `MIRROR-MIRRORA-20180220.001` 是 `InterSystems IRIS C` 上的最新文件,请从  `IRIS C` 复制 `MIRROR-MIRRORA-20180220.001` 和任何更新的文件。检查文件的权限和所有权,并在必要时更改它们以匹配现有日志文件。
  1. 在不选择故障转移合作伙伴的情况下将 IRIS C 提升为故障转移成员。 IRIS C 成为主要的。
  2. IRIS AIRIS B 的问题得到修复时,尽早并在重新启动 IRIS 之前,在每个成员上的 IRIS 实例的配置参数文件的 [MirrorMember] 部分中设置 ValidatedMember = 0(参见 [ MirrorMember] 在配置参数文件参考)。说明指出,此更改是必需的。完成此操作后,在每个成员上重新启动 IRIS,从 IRIS A(最近成为主成员的成员)开始。

    1. 如果成员在 IRIS 重新启动时作为备份或 DR 异步加入镜像,则不需要进一步的步骤。任何在故障成员上但不在当前主成员上的日志数据都已被丢弃。

    2. 如果在 IRIS 实例重新启动时成员无法加入镜像,如重建镜像成员中描述的引用不一致数据的消息日志消息所示,则成员上的最新数据库更改晚于存在于上的最新日志数据 IRIS C 成为主要时。要解决此问题,请按照该部分中的描述重建成员。

  3. 在大多数情况下,DR 异步系统不是主要故障转移成员的合适永久主机。在 IRIS AIRIS B 重新加入镜像后,使用使用升级的 DR 异步临时替换故障转移成员中描述的过程将所有成员返回到它们以前的角色。如果 IRIS AIRIS B 作为备份重新启动,则在备份处于活动状态时从正常关闭 IRIS C 开始,以故障转移到备份;如果 IRIS AIRIS B 都重新启动为 DR 异步,将其中一个提升为备份,然后在 IRIS C 上执行正常关闭。将另一个以前的故障转移成员提升为备份,然后将 IRIS C 作为 DR 异步重启。

讨论 (0)1
登录或注册以继续