同步镜像不可运行时的角色更改

对于角色转换,一种更复杂的情况是在两个站点之间没有通信,可能是由于网络故障,或者是由于主站点不再可运行。

针对此场景的 CLI 命令是 mirror_change_role。由于两个站点之间没有通信,因此应在两个站点上同时发出该命令,或者至少在通信恢复之前发出该命令。否则,站点将无法建立通信。

根据主卷和辅助卷是否连接,转换过程会有所不同。一般规则如下:
  • 当停用耦合时,可接受仅在一端更改角色,假设另一端在通信恢复之前也将更改。
  • 如果耦合已激活,但是由于链路错误而未同步或不可运行,那么管理员必须等待耦合同步,或者停用耦合。
  • 在辅助卷上,即使耦合处于活动状态,管理员也可以转换角色。前提是主卷上将取消激活耦合,并在同时执行角色转换。否则,原始主卷上会出现配置错误。

将辅助卷更改为主卷

可以使用 Hyper-Scale Manager 或 CLI 将辅助卷的角色更改为主卷。在此转换后,以下情况生效:
  • 辅助卷现在变成主卷。
  • 耦合状态为未同步。
  • 耦合保持处于备用方式,意味着远程镜像已停用。这样可确保另一个站点的角色发生转换时可按顺序激活。

新的主卷开始接受来自本地主机的写命令。由于耦合处于不活动状态,所以它会同任何主卷一样维护一个日志来记录在通信恢复后应发送到辅助卷的写操作。

一般情况下,将辅助卷转换为主卷后,管理员至少会在通信恢复前将主卷转换为辅助卷。如果两个卷保留相同的角色,那么会发生配置错误。

将主卷更改为辅助卷

耦合不活动时,主机器可转换角色。 完成此类转换后,主卷会变成辅助卷。

在转换角色之前,主卷处于不活动状态。因此,它处于未同步状态,并且可能包含尚未复制的数据。此类数据将会丢失。当主卷变为辅助卷时,必须丢弃这些数据以与同级卷(现在是新的主卷)上的数据保持一致。在此情况下,系统会创建事件,概述丢失数据的大小。

在重新建立连接后,恢复卷(当前的辅助卷,原来的主卷)将使用这个未落实数据的列表来更新远程卷(新的主卷),并由新的主卷负责将这些列表同步到本地卷(新的辅助卷)。