文章
· 五月 1, 2023 阅读大约需 5 分钟

第四十五章 管理镜像 - 使用 ^MIRROR 状态监视器

第四十五章 管理镜像 - 使用 ^MIRROR 状态监视器

使用 ^MIRROR 状态监视器

^MIRROR 例程提供基于字符的镜像状态监视器。 ^MIRROR Status Monitor 选项显示镜像成员的状态,包括类型、状态、日志传输延迟和 dejournal 延迟(请参阅镜像成员日志传输和 Dejournaling 状态)。监视器可以在任何镜像成员上运行,但在故障转移成员上运行它会提供有关仲裁器配置和所有连接的异步成员的信息,而在异步成员上运行它则不会。

要启动状态监视器,请打开终端窗口,在 %SYS 命名空间中运行 ^MIRROR 例程(请参阅使用 ^MIRROR 例程),然后从镜像状态菜单中选择状态监视器。以下是在故障转移成员上运行时监视器的输出示例:

Status of Mirror MIR25FEB at 17:17:53 on 02/27/2018

Member Name+Type            Status     Journal Transfer  Dejournaling
--------------------------  ---------  ----------------  --------------
MIR25FEB_A
     Failover               Primary    N/A               N/A
MIR25FEB_B
     Failover               Backup     Active            Caught up
MIR25FEB_C
     Disaster Recovery      Connected  Caught up         Caught up
MIR25FEB_D
     Read-Only Reporting    Connected  Caught up         Caught up

Arbiter Connection Status:
     Arbiter Address: 127.0.0.1|2188
     Failover Mode: Arbiter Controlled
     Connection Status: Both failover members are connected to the arbiter

Press RETURN to refresh, D to toggle database display, Q to quit,
 or specify new refresh interval <60>

当在异步成员上运行状态监视器时,仅列出故障转移成员和该异步成员,并且还会显示异步(正在运行或已停止)上的 dejournaling 状态,例如:

Status of Mirror MIR25FEB at 17:17:53 on 02/27/2018

Member Name+Type            Status     Journal Transfer  Dejournaling
--------------------------  ---------  ----------------  --------------
MIR25FEB_A
     Failover               Primary    N/A               N/A
MIR25FEB_B
     Failover               Backup     Active            Caught up
MIR25FEB_C
     Disaster Recovery      Connected  Caught up         Caught up
 Dejournal Status: running (process id: 12256)

Press RETURN to refresh, D to toggle database display, Q to quit,
 or specify new refresh interval <60>

默认情况下,不显示有关镜像数据库的信息。在提示符处输入 d 以列出有关镜像中每个数据库的信息,包括名称、目录、状态和要取消的下一条记录,如使用镜像监视器中所述,例如:

Mirror Databases:
                                                                   Last Record
Name           Directory path                          Status      Dejournaled
-------------  -----------------------------------     ----------- -----------
MIR25FEB_DB1   C:\InterSystems\20182209FEB25A\Mgr\MIR25FEB_DB1\
                                                       Active
   Current,c:\intersystems\20182209feb25a\mgr\journal\MIRROR-MIR25FEB-20180227.001,40233316
MIR25FEB_DB2   C:\InterSystems\20182209FEB25A\Mgr\MIR25FEB_DB2\
                                                       Active
   Current,c:\intersystems\20182209feb25a\mgr\journal\MIRROR-MIR25FEB-20180227.001,40233316

监控镜像通信进程

每个系统(主要和备份故障转移成员,以及每个连接的异步成员)上运行的进程负责镜像通信和同步。

主要故障转移成员上的镜像进程

在主要故障转移成员上运行系统状态例程 (^%SS) 会显示下表中列出的进程。

注意:本节的 ^%SS 输出中有意省略了 CPUGlobPr 列。

主要故障转移成员上的镜像进程

Device Namespace Routine User/Location
/dev/null %SYS MIRRORMGR Mirror Master
MDB2 %SYS MIRRORCOMM Mirror Primary*
192.168.1.1 %SYS MIRRORCOMM Mirror Svr:Rd*

这些过程定义如下:

  • Mirror Master:该进程在系统启动时启动,负责各种镜像控制和管理任务。
  • Mirror Primary:这是出站数据通道;这是一个单向通道。每个连接的系统有一个作业(备份故障转移或异步成员)。
  • Mirror Svr:Rd*:这个是入站确认通道;这是一个单向通道。每个连接的系统有一个作业(备份故障转移或异步成员)。

每个连接的异步成员都会在主故障转移成员上产生一组新的 Mirror MasterMirror Primaryirror Svr:Rd* 进程。

备份故障转移/异步成员上的镜像进程

在备份故障转移/异步成员上运行系统状态例程 (^%SS) 会显示下表中列出的进程。

备份故障转移/异步成员上的镜像进程

Device Namespace Routine User/Location
/dev/null %SYS MIRRORMGR Mirror Master
/dev/null %SYS MIRRORMGR Mirror Dejour
/dev/null %SYS MIRRORMGR Mirror Prefet*
/dev/null %SYS MIRRORMGR Mirror Prefet*
MDB1 %SYS MIRRORMGR Mirror Backup
/dev/null %SYS MIRRORMGR Mirror JrnRead

此表中标识的进程也出现在每个连接的异步成员上:

  • Mirror Master:该进程在系统启动时启动,负责各种镜像控制和管理任务。
  • Mirror JrnRead (Mirror Journal Read):该过程将备份生成的日志数据读入内存,并将这些更改排队等待 dejournal 作业取消。
  • 镜像延迟(Mirror Dejournal):这是备份故障转移成员上的延迟作业;它将接收到的日志数据中的 setskills 发送到镜像数据库。
  • Mirror Prefet*(镜像预取):这些进程负责在dejournal 作业实际尝试使用它们之前将 dejournal 作业所需的磁盘块预取到内存中。这样做是为了加快 dejournaling 过程。系统上通常配置了多个镜像预取作业。镜像备份:这个过程是一个双向通道,将从主服务器接收到的日志记录写入备份的镜像日志文件,并向主服务器返回确认。
讨论 (0)1
登录或注册以继续