Skip to main content

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

撤出集群节点

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

关于撤出群集节点

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

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

警告

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

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

撤出集群节点

如果计划使某个节点脱机,并且该节点运行数据服务角色(如 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