此版本的 GitHub Enterprise 已停止服务 2021-09-23. 即使针对重大安全问题,也不会发布补丁。 要获得更好的性能、改进的安全性和新功能,请升级到 GitHub Enterprise 的最新版本。 如需升级方面的帮助,请联系 GitHub Enterprise 支持

发起到副本设备的故障转移

您可以使用命令行故障转移到 GitHub Enterprise Server 副本设备以进行维护和测试,也可以在主设备发生故障时进行故障转移。

故障转移所需的时间取决于手动升级副本和重定向流量所需的时长。 平均时间范围为 2-10 分钟。

推广副本不会自动为现有设备创建副本。 在推广副本后,如有需要,可以设置从新的主设备复制到现有设备及之前的主设备。

  1. 要允许复制在切换设备之前完成,请将主设备置于维护模式:
    • 要使用 Management Console,请参阅“启用和排定维护模式”。
    • 您也可以使用 ghe-maintenance -s 命令。
      $ ghe-maintenance -s
  2. 当活动 Git 操作的数量达到零时,请等待 30 秒。
  3. 要验证所有复制通道均报告 OK,请使用 ghe-repl-status -vv 命令。
    $ ghe-repl-status -vv
  4. 要停止复制并将副本设备升级为主设备,请使用 ghe-repl-promote 命令。 此操作还会自动将主节点(若可到达)置于维护模式。
    $ ghe-repl-promote
  5. 将 DNS 记录更新为指向副本的 IP 地址。 流量会在经过 TTL 周期后定向到副本。 如果您要使用负载均衡器,请务必将其配置为向副本发送流量。
  6. 通知用户他们可以恢复正常操作。
  7. 如有需要,请设置从新的主设备复制到现有设备和之前的主设备。 更多信息请参阅“关于高可用性配置”。
  8. 您不打算在故障转移之前将复制设置为高可用性配置一部分的设备需由 UUID 从高可用性配置中删除。
    • 在以前的设备上,通过 cat /data/user/common/uuid 获取其 UUID。
      $ cat /data/user/common/uuid
    • 在新的主设备上,使用 ghe-repl-teardown 删除 UUID。 请将 UUID 替换为您在上一步中检索到的 UUID。
      $ ghe-repl-teardown -u UUID

延伸阅读