Skip to main content

延迟数据库种子设定

可以通过选择延迟数据库种子设定来加快将新的 MySQL 副本节点添加到群集的过程。

谁可以使用此功能?

GitHub 确定聚类分析的资格,并且必须为实例的许可证启用配置。 聚类分析需要仔细规划和额外的管理开销。 有关详细信息,请参阅“关于集群”。

关于延迟 MySQL 副本节点的数据库种子设定

Note

在修补程序版本 中添加了延迟数据库种子设定可用作 beta 版本。

如果主节点的数据超过 7 天,则向群集添加新的 MySQL 副本节点通常会触发数据库种子设定,这可能需要几个小时,具体取决于数据量。 可以选择延迟数据库种子设定,允许配置应用运行更快完成,从而能够更快地向流量开放设备。

如果已配置了至少一个 MySQL 副本,并且要添加额外的 MySQL 副本,则仅应延迟数据库种子设定。 否则,在种子设定完成之前,不会有 MySQL 冗余。

延迟数据库种子设定时,在稍后手动完成种子设定之前,新的 MySQL 副本将不会配置为进行复制,也不会在 MySQL 主节点上拥有数据的副本。

在添加新的 MySQL 节点时配置 MySQL 种子设定延迟

  1. 在替换节点上使用唯一主机名预配和安装 GitHub Enterprise Server

  2. 使用管理 shell 或 DHCP,仅配置替换节点的 IP 地址。 不要配置任何其他设置。

  3. 为新的 MySQL 节点创建 cluster.conf 条目,并包括 skip-data-setup = true 字段。 以下示例添加了具有主机名 ghe-data-node-3mysql-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
     ...
     
  4. 若要初始化群集中的新节点,请从含有经修改 cluster.conf 的节点的管理 shell 中,运行 ghe-cluster-config-init

  5. 若要验证配置文件,并根据修改后的 cluster.conf 文件复制和配置每个节点,请运行 ghe-cluster-config-apply

手动设定数据种子

运行 ghe-cluster-config-apply 后,MySQL 服务将在新节点上运行,但不会配置为副本,也不会使用 MySQL 主节点中的数据进行种子设定。 若要从 MySQL 主节点对数据进行种子设定,需要手动配置复制。

  1. 从新节点,若要开始 MySQL 主节点数据的手动复制,请运行以下命令,将 PRIMARY_IP 替换为运行 MySQL 主节点的节点的 IP 地址。

    /usr/local/share/enterprise/ghe-mysql-repl-start PRIMARY_IP
    

数据库种子设定所需的时间取决于数据的大小。 对于大型数据集,建议在 screen 会话中运行上述命令,以确保它能够在 SSH 断开连接后继续运行。