一、问题产生的前提(背景)

       复制规则处于镜像或复制状态时,若工作机和灾备机之间的网络发生中断(break),复制规则会进入“异常”状态,但此时工作机仍然会继续捕获数据变化并且缓存,只是数据无法传送到备端。
        默认情况下,此状态最多能持续2小时。超过两小时后,灾备机的TCP连接会重置。超过两个小时以后网络才恢复正常,则复制规则会变成“失效”状态,然后工作机的缓存会自动清空,并开始重镜像。
 
       从软件体验而言,我们是不希望重镜像的行为发生的,因为一旦重镜像,在数据量大的情况下,做差异镜像需要花费大量时间做文件一致性比较,可能需要很长的时间才能重新进入复制状态。

       那么,如何避免网路不稳定的情况下,规则因失效而发生重镜像呢?

       英方软件提供修改节点配置参数的方法,解决在镜像、复制状态下断网超过2小时的情况下,规则失效重镜像问题(默认情况下,规则断网超过2小时就会失效)。


二、解决步骤

1、修改工作机的system.conf文件
      找到工作机节点的system.conf文件,修改如下行:
mir_reconn=-1
mtu=1200


      system.conf文件的默认存放路径如下:
(1)Windows:<Installation Path>\etc\system.conf
(2)Linux:/etc/sdata/system.conf
(3)如果该文件不存在,请在对应路径下手动创建


2、修改灾备机的system.conf文件
      找到灾备机节点的system.conf文件,找到如下行,将keep_brk_peer的值修改为想要设定的值。该参数为断网容忍时间,单位:秒,默认7200s(也即2小时),可根据实际情况进行设置:
keep_brk_peer=7200
mtu=1200


      system.conf文件的默认存放路径如下:
(1)Windows:<Installation Path>\etc\system.conf
(2)Linux:/etc/sdata/system.conf
(3)如果该文件不存在,请在对应路径下手动创建


3、检查配置是否生效 
(1)工作机
debugctl work conf
(2)灾备机
debugctl back conf


例如:
      如果规则容忍时间需要设置12小时,则:
(1)工作机的system.conf内容为,mir_reconn = -1
(2)灾备机的system.conf内容为,keep_brk_peer = 43200