关于延迟 MySQL 副本节点的数据库初始化
注意
延迟数据库种子设定的功能目前为 公共预览版。
如果主节点的数据超过 7 天,则向群集添加新的 MySQL 副本节点通常会触发数据库种子设定,这可能需要几个小时,具体取决于数据量。 您可以选择推迟数据库初始化,从而加快配置应用的运行速度,这将使设备能够更早对外开放流量。
如果已配置了至少一个 MySQL 副本,并且要添加额外的 MySQL 副本,则仅应延迟数据库种子设定。 否则,在种子设定完成之前,不会有 MySQL 冗余。
当您延迟数据库播种时,新的 MySQL 副本将不会被配置为进行复制,并且在稍后手动完成播种之前,不会在您的 MySQL 主节点上拥有数据的副本。
在添加新 MySQL 节点时配置 MySQL 初始化推迟
-
在替换节点上使用唯一主机名预配和安装 GitHub Enterprise Server。
-
使用管理 shell 或 DHCP,仅配置替换节点的 IP 地址。 不要配置任何其他设置。
-
为新的 MySQL 节点创建
cluster.conf条目,并包括skip-data-setup = true字段。 以下示例添加了具有主机名ghe-data-node-3和mysql-server角色的新节点。... [cluster "ghe-data-node-3"] hostname = ghe-data-node-3 ipv4 = 192.168.0.9 # ipv6 = fd12:3456:789a:1::7 mysql-server = true skip-data-setup = true ...
-
若要初始化群集中的新节点,请从含有经修改
cluster.conf的节点的管理 shell 中,运行ghe-cluster-config-init。 -
若要验证配置文件,并根据修改后的
cluster.conf文件复制和配置每个节点,请运行ghe-cluster-config-apply。
手动设定数据种子
运行 ghe-cluster-config-apply 后,MySQL 服务将在新节点上运行,但不会配置为副本,也不会使用 MySQL 主节点中的数据进行种子设定。 要从 MySQL 主节点初始化数据,需要手动配置复制。
-
从新节点,若要开始 MySQL 主节点数据的手动复制,请运行以下命令,将
PRIMARY_IP替换为运行 MySQL 主节点的节点的 IP 地址。/usr/local/share/enterprise/ghe-mysql-repl-start PRIMARY_IP
数据库种子设定所需的时间取决于数据的大小。 对于大型数据集,建议在 screen 会话中运行上述命令,以确保它能够在 SSH 断开连接后继续运行。