关于撤出群集节点
在 GitHub Enterprise Server的群集配置中,您可以在使节点脱机之前撤出该节点。 撤出可确保服务层中的其余节点包含服务的所有数据。 例如,替换群集中节点的虚拟机时,应先撤出该节点。
有关 GitHub Enterprise Server 的节点和服务层的详细信息,请参阅“关于群集节点”。
警告:
-
为避免数据丢失,GitHub 强烈建议您在使节点脱机之前撤出该节点。
-
如果数据服务集群中只有三个节点,则� 法撤出节点,� 为
ghe-spoke
没有其他位置可以进行复制。 如果您有四个或更多节点,则ghe-spoke
会将所有仓库移出已撤出的节点。
撤出集群节点
如果计划使某个节点脱机,并且该节点运行数据服务角色(如 git-server
、pages-server
或 storage-server
),请在使节点脱机之前撤出每个节点。
-
SSH 到集群中的任何节点。 更多信息请参阅“访问管理 shell (SSH)。”
-
若要查找要撤出的节点的 UUID,请运行以下命令。 将
HOSTNAME
替换为节点的主机名。$ ghe-config cluster.HOSTNAME.uuid
-
在 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
-
-
复制完成后,可以通过运行以下任一命令来撤出节点,将
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
-