关于高可用性配置的恢复
如果故障转移是在计划内进行的,或者与设备的健康状态无关,则可以将之前的主设备用作新的副本设备。 如果故障转移与主设备的问题相关,则最好创建新的副本设备。 有关详细信息,请参阅“创建高可用性副本”。
警告
在将以前的主设备配置为新副本之前,必须启用维护模式。 如果不启用维护模式,将导致生产中断。
将之前的主设备配置为新副本
-
使用 SSH 连接到之前的主设备的 IP 地址。
ssh -p 122 admin@ FORMER_PRIMARY_IP -
在以前的主设备上启用维护模式。 有关详细信息,请参阅“启用和排定维护模式”。
-
在之前的主设备上,使用之前副本的 IP 地址运行
ghe-repl-setup。 可能需要使用--force选项替换现有配置。ghe-repl-setup --force FORMER_REPLICA_IP -
若要将公钥添加到主设备上的授权密钥列表中,请浏览到
https://PRIMARY-HOSTNAME/setup/settings并将从副本复制的密钥添加到列表中。 -
要验证到新主设备的连接并为新副本启用副本模式,请再次运行
ghe-repl-setup。ghe-repl-setup FORMER_REPLICA_IP -
要开始复制数据存储,请使用
ghe-repl-start命令。ghe-repl-start警告
`ghe-repl-start` 会导致主服务器短暂中断,在此期间用户可能会看到内部服务器错误。 要提供更简便的消息,请先在主节点上运行 `ghe-maintenance -s`,然后再在副本节点上运行 `ghe-repl-start`,以将设备置于维护模式。 复制开始后,使用 `ghe-maintenance -u` 禁用维护模式。 当主节点处于维护模式时,Git 复制将无法进行。
如果运行的是版本 3.14.20、3.15.15、3.16.11、3.17.8、3.18.2 或更高版本,包括将来的版本(如 3.19),则无需在运行 ghe-repl-start之前将主数据库置于维护模式。 此命令不再预期会在主服务器上造成中断。 但是,设置新副本时,只要在两ghe-repl-start``ghe-config-apply者之间运行ghe-repl-setup,ghe-repl-start就不会造成中断。 跳过ghe-config-apply并且直接从ghe-repl-setup进入ghe-repl-start仍会导致服务中断。