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

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

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

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

  1. 要允许复制在切换设备之前完成,请将主设备置于维护模式:

    • 要使用 Management Console,请参阅“启用和排定维护模式”。
    • 您也可以使用 ghe-maintenance -s 命令。
      $ ghe-maintenance -s
  2. 当活动 Git 操作、MySQL 查询和 Resque 作业数量达到零时,等待 30 秒。

    注意: Nomad 将始终有作业在运行,即使是在维护模式下,因此您可以安全地忽略这些作业。

  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

延伸阅读

此文档对您有帮助吗?

隐私政策

帮助我们创建出色的文档!

所有 GitHub 文档都是开源的。看到错误或不清楚的内容了吗?提交拉取请求。

做出贡献

或者, 了解如何参与。