Skip to main content

此版本的 GitHub Enterprise Server 已于以下日期停止服务 2024-07-09. 即使针对重大安全问题,也不会发布补丁。 为了获得更好的性能、更高的安全性和新功能,请升级到最新版本的 GitHub Enterprise。 如需升级帮助,请联系 GitHub Enterprise 支持

发起到副本群集的故障转移

若 GitHub Enterprise Server 群集失败,则可以故障转移到副本。

关于到副本群集的故障转移

如果活动群集的数据中心发生故障,并且配置了高可用性,则可以故障转移到副本群集。

故障转移到副本群集会将该副本群集提升为新的活动群集,并将新的活动群集与旧的活动群集分离。 如果旧活动群集中的节点处于正常状态,可执行此操作,则这些节点处于维护模式。

故障转移后,将有两个独立的群集,且未配置高可用性。 可以从新的活动群集重新配置复制。 有关详细信息,请参阅“为群集配置高可用性复制”。

先决条件

若要故障转移到副本节点,必须为群集配置高可用性复制。 有关详细信息,请参阅“为群集配置高可用性复制”。

注意:GitHub Enterprise Server 版本 3.9.1 及更高版本提供高可用性复制。****

发起到副本群集的故障转移

Note

在群集配置中的实例上,之前的主要节点在故障转移之后能够访问新升级的节点。 此问题已在修补程序版本 3.9.13 中修复。 有关详细信息,请参阅“发行说明

由于此修复,ghe-cluster-failover 会从旧的主群集中识别要阻止的 IP,并将它们写入 /data/user/common/cluster-ip-blocklist。 故障转移完成后,该命令将运行 ghe-cluster-block-ips,以阻止新活动群集上的 IP。

此外,这些修补程序版本中还引入了 ghe-cluster-block-ipsghe-cluster-block-ipghe-cluster-unblock-ipsghe-cluster-unblock-ip 命令。 使用这些命令,可以手动控制哪些 IP 可以访问新升级的群集,并避免与运行整个 ghe-cluster-failover 命令相关联的可能漫长的配置运行。 有关详细信息,请参阅“命令行实用程序”。

  1. 通过 SSH 连接到副本群集中的主 MySQL 节点。 有关详细信息,请参阅“访问管理 shell (SSH)”。

  2. 若要开始故障转移到辅助群集并配置节点以响应请求,请运行以下命令。

    ghe-cluster-failover
    
  3. 配置运行完成后,GitHub Enterprise Server 将显示以下消息。

    Finished cluster configuration
    
  4. 将 DNS 记录更新为指向副本群集的负载均衡器的 IP 地址。 TTL 期限到期后,请求将被定向到副本群集。

GitHub Enterprise Server 将你返回至提示位置且 DNS 更新传播后,故障转移便已完成。 用户可以使用群集的常用主机名访问 GitHub Enterprise Server。