替换集群节点
要替换 GitHub Enterprise Server 节点,必须在集群配置文件 (cluster.conf) 中将受影响的节点标记为离线,然后添加替换节点。 如果节点发生故障,或者添加具有更多资源的节点以提高性能,则可能需要执行此操作。
警告:替换节点必须使用先前未在集群中使用的主机名以避免冲突。
本文内容:
在紧急情况下替换节点
-
在替换节点上使用唯一主机名供应和安装 GitHub Enterprise Server。
-
使用管理 shell 或 DHCP,仅配置替换节点的 IP 地址。不要配置任何其他设置。
-
要将故障节点标记为离线,请在任意节点上修改相关节点部分的集群配置文件 (
cluster.conf
) 以包含文本offline = true
。
例如,以下修改的 cluster.conf
可将 ghe-data-node-3
节点标记为离线:
[cluster "ghe-data-node-3"] hostname = ghe-data-node-3 offline = true ipv4 = 192.168.0.6 # ipv6 = fd12:3456:789a:1::6
-
从经修改
cluster.conf
所在节点的管理 shell 中,运行ghe-cluster-config-apply
。这将验证配置文件、将其复制到集群中的每个节点以及将该节点标记为离线。 -
要添加新供应的替换节点,请在任意节点上修改
cluster.conf
文件以删除故障节点并添加替换节点。例如,以下修改的cluster.conf
文件用新供应的节点ghe-replacement-data-node-3
替换ghe-data-node-3
:
[cluster "ghe-replacement-data-node-3"] hostname = ghe-replacement-data-node-3 ipv4 = 192.168.0.7 # ipv6 = fd12:3456:789a:1::7 git-server = true pages-server = true mysql-server = true elasticsearch-server = true redis-server = true memcache-server = true metrics-server = true storage-server = true
- 如果要替换 MySQL 主节点或 Redis 主节点,请在
cluster.conf
中使用替换节点名称修改mysql-master
或redis-master
值。
例如,以下修改的 cluster.conf
文件指定新供应的集群节点 ghe-replacement-data-node-1
为 MySQL 和 Redis 主节点:
mysql-master = ghe-replacement-data-node-1 redis-master = ghe-replacement-data-node-1
-
从含有经修改
cluster.conf
的节点的管理 shell 中,运行ghe-cluster-config-init
。这将初始化集群中新增的节点。 -
从相同的节点,运行
ghe-cluster-config-apply
。这将验证配置文件、将其复制到集群中的每个节点以及根据修改的cluster.conf
文件配置每个节点。