Skip to main content

此版本的 GitHub Enterprise Server 已于以下日期停止服务 2024-09-25. 即使针对重大安全问题,也不会发布补丁。 为了获得更好的性能、更高的安全性和新功能,请升级到最新版本的 GitHub Enterprise。 如需升级帮助,请联系 GitHub Enterprise 支持

从 GitHub Enterprise 11.10.x 迁移到 2.1.23

要从 GitHub Enterprise 11.10.x 迁移到 2.1.23,您需要设置新的设备实例并迁移之前实例中的数据。

注意:从 2014 年起不再支持 GitHub Enterprise Server 11.10 版本。 有关支持的版本的列表,请参阅“GitHub Enterprise Server 发行版”。

支持从 GitHub Enterprise 11.10.348 及更高版本进行迁移。 不支持从 GitHub Enterprise 11.10.348 及更低版本进行迁移。 您必须先通过多次升级过程升级到 11.10.348。 有关详细信息,请参阅 11.10.348 升级过程“升级到最新版本”。

要升级到最新版 GitHub Enterprise,您必须先迁移到 GitHub Enterprise Server 2.1,然后才能执行正常升级过程。 有关详细信息,请参阅“升级过程概述”。

准备迁移

  1. 查看配置和安装指南,并检查在您的环境中配置 GitHub Enterprise 2.1.23 的所有基本要求是否已得到满足。 有关详细信息,请参阅“预配和安装”。

  2. 验证当前实例正在运行受支持的升级版本。

  3. 设置最新版本的 GitHub Enterprise Server Backup Utilities。 有关详细信息,请参阅 GitHub Enterprise Server Backup Utilities

    • 如果已使用 GitHub Enterprise Server Backup Utilities 配置排定的备份,请确保您已更新为最新版本。
    • 如果您当前未运行排定的备份,请设置 GitHub Enterprise Server Backup Utilities。
  4. 使用 ghe-backup 命令生成当前实例的初始完整备份快照。 如果您已为当前实例配置排定的备份,则不需要生成实例快照。

    提示: 在快照生成期间,可以使实例保持在线激活状态。 您将在迁移的维护过程中生成另一个快照。 由于备份的递增,此初始快照会减少在最终快照中传输的数据量,从而可能缩短维护窗口。

  5. 确定用于将用户网络流量切换到新实例的方法。 迁移完毕后,所有 HTTP 和 Git 网络流量都将定向到新实例。

    • DNS - 建议为所有环境使用此方法,因为此方法简单易用,即使在从一个数据中心迁移到另一个数据中心的情况下也能正常使用。 开始迁移之前,请将现有 DNS 记录的 TTL 缩减为 5 分钟或更短时间,并允许更改传播。 迁移完成后,将 DNS 记录更新为指向新实例的 IP 地址。
    • IP 地址分配 - 此方法仅适用于 VMware 到 VMware 的迁移,除非 DNS 方法不可用,否则不建议使用此方法。 开始迁移之前,您需要关闭旧实例并将其 IP 地址分配给新实例。
  6. 排定维护窗口。 维护窗口的时间应足够长,以便将数据从备份主机传输到新实例,并根据备份快照的大小和可用网络带宽而变化。 在此期间,如果要迁移到新实例,当前实例将不可用,且处于维护模式。

执行迁移

  1. 配置新的 GitHub Enterprise 2.1 实例。 有关详细信息,请参阅适用于你的目标平台的“预配和安装”指南。

  2. 在浏览器中,导航到新副本设备的 IP 地址并上传您的 GitHub Enterprise 许可。

  3. 设置管理员密码。

  4. 单击“迁移”。

  5. 在“添加新 SSH 密钥”文本字段中,粘贴备份主机访问 SSH 密钥。

  6. 单击“添加密钥”,然后单击“继续” 。

  7. 复制你将在备份主机上运行的 ghe-restore 命令,将数据迁移到新实例。

  8. 在旧实例上启用维护模式,并等待所有活动进程完成。 有关详细信息,请参阅“启用和排定维护模式”。

    注意: 从现在开始,此实例将无法正常使用。

  9. 在备份主机上,运行 ghe-backup 命令以生成最终的备份快照。 这样可以确保捕获来自旧实例的所有数据。

  10. 在备份主机上,运行你在新实例的恢复状态屏幕上复制的 ghe-restore 命令以恢复最新快照。

    $ ghe-restore 169.254.1.1
    The authenticity of host '169.254.1.1:122' can't be established.
    RSA key fingerprint is fe:96:9e:ac:d0:22:7c:cf:22:68:f2:c3:c9:81:53:d1.
    Are you sure you want to continue connecting (yes/no)? yes
    Connect 169.254.1.1:122 OK (v2.0.0)
    Starting restore of 169.254.1.1:122 from snapshot 20141014T141425
    Restoring Git repositories ...
    Restoring GitHub Pages ...
    Restoring asset attachments ...
    Restoring hook deliveries ...
    Restoring MySQL database ...
    Restoring Redis database ...
    Restoring SSH authorized keys ...
    Restoring Elasticsearch indices ...
    Restoring SSH host keys ...
    Completed restore of 169.254.1.1:122 from snapshot 20141014T141425
    Visit https://169.254.1.1/setup/settings to review appliance configuration.
    
  11. 返回到新实例的恢复状态屏幕,查看恢复是否已完成。

  12. 单击“继续设置”,检查并调整从之前的实例中导入的配置信息和设置。

  13. 单击“保存设置”。

    注意: 可以在应用配置设置并重新启动服务器后使用新实例。

  14. 使用 DNS 或 IP 地址分配将用户网络流量从旧实例切换到新实例。

  15. 升级到 GitHub Enterprise Server 的最新补丁版本。 有关详细信息,请参阅“升级过程概述”。