Skip to main content
We publish frequent updates to our documentation, and translation of this page may still be in progress. For the most current information, please visit the English documentation.

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

撤出集群节点

您可以撤出集群节点上的数据服务。

关于撤出群集节点

在 GitHub Enterprise Server的群集配置中,您可以在使节点脱机之前撤出该节点。 撤出可确保服务层中的其余节点包含服务的所有数据。 例如,替换群集中节点的虚拟机时,应先撤出该节点。

有关 GitHub Enterprise Server 的节点和服务层的更多信息,请参阅“关于群集节点”。

警告

  • 为避免数据丢失,GitHub 强烈建议您在使节点脱机之前撤出该节点。

  • 如果数据服务群集中只有三个节点,则无法撤出节点,因为 ghe-spokes 没有其他位置可以进行复制。 如果有四个或更多节点,则 ghe-spokes 会将所有存储库移出已撤出的节点。

撤出集群节点

如果计划使运行 git-serverpages-serverstorage-server 等数据服务角色的节点脱机,请在使该节点脱机之前撤出每个节点。

  1. SSH 到集群中的任何节点。 有关详细信息,请参阅“访问管理 shell (SSH)”。

  2. 若要查找要撤出的节点的 UUID,请运行以下命令。 将 HOSTNAME 替换为节点的主机名。

    $ ghe-config cluster.HOSTNAME.uuid
  3. 在 GitHub Enterprise Server 复制数据时监控节点的状态。 在复制完成之前,不要使节点脱机。 要监控节点的状态,请运行以下任一命令,将 UUID 替换为步骤 2 中的 UUID。

    • Git

      $ ghe-spokes evac-status git-server-UUID
    • GitHub Pages

      $ echo "select count(*) from pages_replicas where host = 'pages-server-UUID'" | ghe-dbconsole -y
    • 存储

      $ ghe-storage evacuation-status storage-server-UUID
  4. 复制完成后,可以通过运行以下任一命令来撤出节点,将 UUID 替换为步骤 2 中的 UUID。

    • Git

      $ ghe-spokes server evacuate git-server-UUID \'REASON FOR EVACUATION\'
    • GitHub Pages

      $ ghe-dpages evacuate pages-server-UUID
    • 对于“存储”,先通过运行以下命令使节点脱机。

      $ ghe-storage offline storage-server-UUID

      存储节点脱机后,可以通过运行以下命令撤出该节点。

      $ ghe-storage evacuate storage-server-UUID