我们经常发布文档更新,此页面的翻译可能仍在进行中。有关最新信息,请访问英文文档。如果此页面上的翻译有问题,请告诉我们
文章版本: Enterprise Server 2.14

此版本的 GitHub Enterprise 将停止服务 此版本的 GitHub Enterprise 已停止服务 2019-07-12. 即使出现严重安全问题,也不会发布补丁。要获得更好的性能、更高的安全性和全新功能,请升级到 GitHub Enterprise 的最新版本。 要获取有关升级的帮助,请联系 GitHub Enterprise 支持部门

创建高可用性副本

在主动/被动配置中,副本设备是主设备的冗余副本。 如果主设备发生故障,高可用性模式允许副本作为主设备运行,从而最大限度地减少服务中断。

本文内容

创建高可用性副本

  1. 在所需平台上设置新的 GitHub Enterprise Server 设备。 副本设备应镜像主设备的 CPU、RAM 和存储设置。 建议您在独立环境中安装副本设备。 底层硬件、软件和网络组件应与主设备的相应部分隔离。 如果要使用云提供商,请使用单独的区域或分区。 更多信息请参阅“设置 GitHub Enterprise Server 实例”。
  2. 在浏览器中,导航到新副本设备的 IP 地址并上传您的 GitHub Enterprise 许可。
  3. 设置与主设备密码匹配的管理员密码,然后继续。
  4. 单击 Configure as Replica
    包含用于将新实例配置为副本的链接的安装选项
  5. 在“Add new SSH key”下,输入 SSH 密钥。
    添加 SSH 密钥
  6. 单击 Add key,然后单击 Continue
  7. 使用 SSH 连接到副本设备的 IP 地址。
$ ssh -p 122 admin@REPLICA IP
  1. 要为副本生成密钥对,请使用包含主设备 IP 地址的“ghe-repl-setup”命令,并复制该命令返回的公钥。

    $ ghe-repl-setup PRIMARY IP
  2. 要将公钥添加到主设备上的授权密钥列表,请浏览到 https://PRIMARY-HOSTNAME/setup/settings,然后将您从副本复制的密钥添加到列表中。

  3. 要验证到主设备的连接并为新副本启用副本模式,请再次运行“ghe-repl-setup”。

    $ ghe-repl-setup PRIMARY IP
  4. 要开始复制数据存储,请使用 ghe-repl-start 命令。

    $ ghe-repl-start

警告:ghe-repl-start 会导致主服务器发生短暂中断,在此期间用户可能会看到内部服务器错误的消息。要提供更友好的消息,请在副本节点上运行 ghe-repl-start 之前,在主节点上运行 ghe-maintenance -s 以将设备置于维护模式。复制开始后,使用 ghe-maintenance -u 命令禁用维护模式。

  1. 要验证各个数据存储复制通道的状态,请使用“ghe-repl-status”命令。

    $ ghe-repl-status

创建 Geo-replication 副本

本示例配置使用一个主设备和两个副本,它们位于三个不同的地理位置。 由于三个节点可以位于不同网络中,要求所有节点均可从其他所有节点到达。 必需的管理端口至少应向其他所有节点开放。 有关端口要求的更多信息,请参阅“网络端口”。

  1. 在第一个副本上运行“ghe-repl-setup”,采用与创建标准双节点配置相同的方式创建第一个副本。

    (replica1)$ ghe-repl-setup PRIMARY IP
    (replica1)$ ghe-repl-start
  2. 创建第二个副本并使用“ghe-repl-setup --add”命令。 “--add”标志可防止其覆盖现有的复制配置,并将新副本添加到配置中。

    (replica2)$ ghe-repl-setup --add PRIMARY IP
    (replica2)$ ghe-repl-start
  3. 默认情况下,副本会配置到同一个数据中心。 为数据中心选项设置不同的值,通过这种方式为不同的数据中心配置副本。 可以随意设定特定值,只要数值彼此不同即可。 在每个节点上运行“ghe-repl-node”命令并指定数据中心。

    在主设备上:

    (primary)$ ghe-repl-node --datacenter [PRIMARY DC NAME]

    在第一个副本上:

    (replica1)$ ghe-repl-node --datacenter [FIRST REPLICA DC NAME]

    在第二个副本上:

    (replica2)$ ghe-repl-node --datacenter [SECOND REPLICA DC NAME]

    提示:您可以同时设置“--datacenter”和“--active”选项。

  4. 活动副本节点将存储设备数据的副本并为最终用户请求提供服务。 非活动节点将存储设备数据的副本,但无法为最终用户请求提供服务。 使用“--active”标志启用活动模式,或使用“--inactive”标志启用非活动模式。

    在第一个副本上:

    (replica1)$ ghe-repl-node --active

    在第二个副本上:

    (replica2)$ ghe-repl-node --active
  5. 要应用配置,请在主设备上使用“ghe-config-apply”命令。

    (primary)$ ghe-config-apply

为 Geo-replication 配置 DNS

使用主节点和副本节点的 IP 地址配置 Geo DNS 您还可以为主节点(例如“primary.github.example.com”)创建 DNS CNAME,以通过 SSH 访问主节点或通过“backup-utils”备份主节点。

要进行测试,您可以将条目添加到本地工作站的“hosts”文件(如“/etc/hosts”)。 这些示例条目会将“HOSTNAME”的请求解析到“replica2”。 您可以注释不同的行,以特定主机为目标。

# <primary ip> *HOSTNAME*

# <replica1 ip> *HOSTNAME*

<replica2 ip> *HOSTNAME* ```

### 延伸阅读

- "[关于高可用性配置](/enterprise/2.14/admin/guides/installation/about-high-availability-configuration)"
- "[用于复制管理的实用程序](/enterprise/2.14/admin/guides/installation/about-high-availability-configuration/#utilities-for-replication-management)"
- “[关于 Geo-replication](/enterprise/2.14/admin/guides/installation/about-geo-replication/)”

问问别人

找不到要找的内容?

联系我们