Skip to main content

Enterprise Server 3.20 目前作为发布候选版本提供。

延迟数据库初始化

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

谁可以使用此功能?

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

关于延迟 MySQL 副本节点的数据库初始化

注意

延迟数据库种子设定的功能目前为 公共预览版。

如果主节点的数据超过 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 断开连接后继续运行。