从部分连接的缓存集群中恢复而无需任何停机时间

部分连接的集群

部分连接是指两个或多个缓存服务器相互连接但未完全连接。 一个缓存服务器上的活动分区可能不再连接到另一缓存服务器上的副本,即使另一台服务器上的活动分区连接到原始服务器上的副本。 或者,可能是其中一台缓存服务器与集群中的其他服务器完全断开连接。

此外,在分区副本缓存中,每个缓存服务器包含一个活动分区和一个副本分区。 副本是被动的,只能由其活动分区访问。 但是,在缓存集群层,活动分区和副本都被视为独立的“节点”。 因此,Partition-Replica Cache 中的 3 服务器缓存集群将具有“6 节点”集群。

如何检测部分连通性

使用 查看集群连接 选项​​卡 NCache 经理

  • 右键单击您的缓存名称 NCache 经理然后选择 查看集群连接 选项
  • 这将打开另一个显示集群连接状态的窗口。 您可以使用此选项卡来验证您的缓存集群是完全连接还是部分连接。

全连接缓存集群:

在下面的示例中,它显示了一个完全连接(健康)的缓存集群。 集群中有 3 台服务器和 6 个“节点”。 因此,每个“节点”应该连接到 5 个其他“节点”,如“连接到节点”列所示。


节点地址 连接到节点 Status
20.200.20.100 20.200.20.100,20.200.20.101,20.200.20.101,
20.200.20.102,20.200.20.102
完全连接
20.200.20.101 20.200.20.101,20.200.20.100,20.200.20.100,
20.200.20.102,20.200.20.102
完全连接
20.200.20.102 20.200.20.102,20.200.20.100,20.200.20.100,
20.200.20.101,20.200.20.101
完全连接

图 1:全连接缓存集群

部分连接的缓存集群

在下面的示例中,它是一个部分连接的缓存集群,其中 20.200.20.101 已失去与其在 20.200.20.102 上的副本的连接,并且缺少与 20.200.20.102 节点的连接。 因此,它前面的“连接到列”中显示的节点数量较少。


节点地址 连接到节点 Status
20.200.20.100 20.200.20.100,20.200.20.101,20.200.20.101,
20.200.20.102,20.200.20.102
部分连接
20.200.20.101 20.200.20.101,20.200.20.100,20.200.20.100,
20.200.20.102
部分连接
20.200.20.102 20.200.20.102,20.200.20.100,20.200.20.100,
20.200.20.101,20.200.20.101
部分连接

图 2:部分连接的缓存集群

具有裂脑的部分连接集群

在下面的示例中,这是另一个具有裂脑的部分连接缓存,其中 20.200.20.102 已完全失去与其他两个节点的连接,因此显示单节点缓存集群状态。 此外,20.200.20.100 和 20.200.20.101 显示部分连接状态,并且在“连接到节点”列中缺少 20.200.20.102。


节点地址 连接到节点 Status
20.200.20.100 20.200.20.100,20.200.20.101,20.200.20.101 部分连接
20.200.20.101 20.200.20.101,20.200.20.100,20.200.20.100 部分连接
20.200.20.102 --- 单节点缓存集群

图 3:部分连接的缓存集群中的裂脑

如何修复部分连接

您必须启动一个或多个缓存服务器来修复部分连接。 在 2 台服务器集群中,您只需启动其中一台缓存服务器。 如果是 3 台服务器集群,您可能需要重新启动 2 台缓存服务器。


识别问题节点

  • 如果您注意到缓存集群节点处于部分连接状态,则选择将单节点集群作为问题节点的缓存服务器。 这是一个裂脑场景,如上图 3 所示。
  • OR

  • 如果没有服务器具有单节点集群状态,则选择其前面集群连接窗口的已连接到节点列中显示的 IP 地址数量最少的服务器节点。 这是一个部分连接的缓存场景,如上图 2 所示。
  • 与/或

  • 打开集群运行状况窗口 NCache 监控工具,然后在客户端列中选择客户端数量最少的节点。
  • 与/或

  • 选择请求/秒计数器值比其他节点最少的节点。

仅在该节点上停止缓存

一旦缓存集群处于部分连接状态,则需要手动干预才能恢复。 以下是解决此问题的步骤,

  • 识别出问题节点后,右键单击该节点的 IP 地址 NCache 缓存名称下的管理器,然后选择 Stop 停止,这将仅在此节点上停止此缓存。
  • 您也可以使用我们的命令行工具 停止缓存 使用节点的 IP 地址执行以下相同操作:

  •    C:\ Program Files文件\NCache\bin\tools>stopcache CacheName /s 20.200.20.102

  • 再次启动缓存。 你可以这样做 NCache 通过右键单击缓存名称下的节点 IP 并选择开始选项来管理管理器。 您还可以通过使用节点的 IP 地址运行以下命令来使用我们的命令行工具 startcache。

  •    C:\ Program Files文件\NCache\bin\tools>startcache CacheName /s 20.200.20.102

  • 再次验证集群连接并查看集群是否处于健康状态。
  • 如果发现多个缓存服务器处于部分连接状态,请对您环境中的所有缓存服务器一一执行上述步骤。

停止 NCache 服务

  • 再次将问题节点上的所有缓存一一停止。
  • 重新启动 NCache 问题节点上的服务。
  • 如果未设置为使用自动启动,则在问题节点上再次启动所有缓存 NCache 自动启动缓存功能。
  • 再次验证集群连接并查看集群是否处于健康状态。

接下来做什么?

联系我们

联系电话
©版权所有 Alachisoft 2002 - 版权所有。 NCache 是 Diyatech Corp. 的注册商标。