美文网首页
第五十七章 镜像中断程序 - 在手动故障转移之前确定备份是否处于

第五十七章 镜像中断程序 - 在手动故障转移之前确定备份是否处于

作者: Cache技术分享 | 来源:发表于2023-06-14 07:53 被阅读0次

第五十七章 镜像中断程序 - 在手动故障转移之前确定备份是否处于活动状态

在手动故障转移之前确定备份是否处于活动状态

假设有两个名为 IRIS AIRIS B 的故障转移成员。如果 ^MIRROR 例程确认备份 (IRIS B) 在与主 (IRIS A) 丢失联系时处于活动状态,因此具有最新的来自 IRIS A 的日志数据,可以使用单个过程手动进行故障转移。当连接因主要故障而丢失时,不会造成数据丢失的风险。但是,当发生多个故障时,活动备份可能没有来自主服务器的所有最新日志数据,因为主服务器在连接丢失后继续运行了一段时间。

使用以下过程确定备份是否处于活动状态:

  1. 确认 IRIS 实例 IRIS A 上的 ISCAgent 实际上已关闭(并确保它们在整个手动故障转移过程中保持关闭状态)。
  2. IRIS B 上,在终端的 %SYS 命名空间中运行 ^MIRROR 例程(请参阅使用 ^MIRROR 例程)。
  3. 在主菜单中选择镜像管理,显示如下子菜单:
 1) Add mirrored database(s)
 2) Remove mirrored database(s)
 3) Activate or Catchup mirrored database(s)
 4) Change No Failover State
 5) Try to make this the primary
 6) Connect to Mirror
 7) Stop mirroring on this member
 8) Modify Database Size Field(s)
 9) Force this node to become the primary
10) Promote Async DR member to Failover member
11) Demote Backup member to Async DR member
12) Mark an inactive database as caught up
13) Manage mirror dejournaling on async member (disabled)
14) Pause dejournaling for database(s)
  1. 选择 Force this node to become the primary 选项。如果在联系丢失时备份处于活动状态,则会显示如下消息:
This instance was an active backup member the last time it was
connected so if the primary has not done any work since that time,
this instance can take over without having to rebuild the mirror
when the primary reconnects. If the primary has done any work
beyond this point (file #98),
     C:\InterSystems\MyIRIS\mgr\journal\MIRROR-GFS-20180815.009
then the consequence of forcing this instance to become the primary is
that some operations may be lost and the other mirror member may need
to be rebuilt from a backup of this node before it can join as
a backup node again.
Do you want to continue? <No>

如果有权访问主要文件的日志文件,则可以在继续之前确认引用的文件是最新的。

如果在与主服务器失去联系时备份未处于活动状态,则会显示如下消息:

Warning, this action can result in forcing this node to become
the primary when it does not have all of the journal data which
has been generated in the mirror. The consequence of this is that
some operations may be lost and the other mirror member may need
to be rebuilt from a backup of this node before it can join as
a backup node again.
Do you want to continue? <No>

手动故障转移到活动备份

如果 ^MIRROR 例程的 Force this node to become the primary 选项确认备份在失去与主节点的连接时处于活动状态,请完成手动故障转移过程,如下所示:

  1. 在要继续吗?提示继续该过程。 Force this node to become the primary 选项等待 60 秒以使镜像成员成为主要节点。如果操作未在 60 秒内成功完成,^MIRROR 报告操作可能未成功并指示您检查消息日志以确定操作是失败还是仍在进行中。
  2. 一旦 ^MIRROR 例程确认备份已成为主要备份,请在可以这样做时重新启动 IRIS A。当 IRIS 实例重新启动时, IRIS A 作为备份加入镜像。

备份不活动时手动故障转移

即使 ^MIRROR 例程未确认备份 ( IRIS B) 在与主 ( IRIS A) 失去连接时处于活动状态,仍然可以使用以下过程继续手动故障转移过程,但是如果这样做,会有数据丢失的风险。如本程序所述,可以在手动故障转移之前将最新的镜像日志文件从 IRIS A(如果有权访问)复制到 IRIS B,从而最大限度地降低这种风险。

  1. 如果有权访问主服务器的镜像日志文件,请将最新的文件复制到 IRIS B,从 IRIS B 上的最新日志文件开始,然后包括来自 IRIS A 的任何后续文件。例如,如果 MIRROR-MIRRORA-20180220.001IRIS B 上的最新文件,复制 MIRROR-MIRRORA-20180220.001IRIS A 上的任何更新文件。检查文件的权限和所有权,并在必要时更改它们以匹配现有日志文件。
  2. 如果接受数据丢失的风险,请在提示时输入 y 以确认要继续;备份成为主要的。 Force this node to become the primary 选项等待 60 秒以使镜像成员成为主要节点。如果操作未在 60 秒内成功完成,^MIRROR 报告操作可能未成功并指示您检查消息日志以确定操作是失败还是仍在进行中。
  3. 一旦 ^MIRROR 例程确认备份已成为主要备份,请在可以这样做时重新启动 IRIS A
  • 如果 IRIS AIRIS 实例重新启动时加入镜像作为备份,则不需要进一步的步骤。任何在故障成员上但不在当前主成员上的日志数据都已被丢弃。
  • 如果在 IRIS 实例重新启动时 IRIS A 无法加入镜像,如重建镜像成员中描述的引用不一致数据的消息日志消息所示 IRIS A 上的最新数据库更改晚于最新的日志数据当 IRIS B 被迫成为主服务器时,它会出现在 IRIS B 上。要解决此问题,请按照该部分中的描述重建 IRIS A

相关文章

  • 翻译:MongDB在故障转移期间回滚

    原文当成员在故障转移后重新加入副本集的时候,回滚将在故障转移之前的主服务器上恢复写操作。:只有在主服务器退为备份服...

  • Day 73 Nacos注册中心实战

    redis 集群: 手动和自动故障转移s->m 自动切换. 手动故障转移用来做集群的升级. 是带有目的性的。 远程...

  • MongoDB 复制集(Replica Set)搭建

    通常,为了防止单点故障应用程序需要做集群。然而在数据库中除了防止单点故障,还需要做到数据库备份,读写分离,故障转移...

  • 时间机器 Mac 加快备份的速度

    正在准备备份正在准备备份。apple官网介绍说之前中断备份可能导致本次一直卡在这里,如果确定自己的移动硬盘没问题,...

  • Redis——Sentinel

    Sentinel——主从复制高可用方案 在使用主从复制时,我们面临以下问题: 手动故障转移master宕机在发生上...

  • redis Sentinel

    redis Sentinel 主从复制高可用的问题image.png手动故障转移的处理image.pngimage...

  • 百人百日百炼【58】备份定律

    备份定律 程序员编程的时候,一定会有一个备份。 万一硬盘故障、代码丢失,没有备份,损失就会相当惨重。 备份,就是另...

  • 处理器调度

    想要资源吗?求我啊~ 调用处理器调度程序的前提是进入操作系统,处于系统态。而之前在中断中提到,中断是进程切换的前提...

  • Redis-Sentinel 为什么不推荐使用两台Sentine

    在 sentinel 启动故障转移(failover)时需要满足两个条件: 确定 master 不可用的 sent...

  • 备份定律

    备份定律 程序员编程的时候,一定会有一个备份。万一硬盘故障、代码丢失,没有备份,损失就会相当惨重。 备份,就是另一...

网友评论

      本文标题:第五十七章 镜像中断程序 - 在手动故障转移之前确定备份是否处于

      本文链接:https://www.haomeiwen.com/subject/dpmhydtx.html