ARTIFACTORY:用最少的停机时间迁移大型ARTIFACTORY实例的最佳方法是什么?

近红外光谱Shervi
2023-01-22 11:09

最简单的迁移是为您需要的版本设置一个工作实例,但上面还没有配置或数据,只有一个空白实例,没有工件,数据库中有默认数据(新数据库,不指向旧DB)。

在按照您想要的方式工作之后,您可以使用完整的系统导出从旧实例迁移到新实例,然后在新实例上导入。

如果事情没有解决,你可以把你的DNS切换回旧实例。

上面的过程是最简单的,但是如果您希望确保两个实例在切换时包含相同的数据,则会涉及一些停机时间。

我们有一些方法可以减少甚至消除停机时间。

重要提示:

  1. 它是不推荐在不同版本的Artifactory之间迁移,除非绝对必要。详情请参阅支持Artifactory升级路径
  2. 目标Artifactory服务器应该具有相同的“master”。key ' ($JFROG_HOME/artifactory/var/etc/security/master.key)作为使用导出/导入特性时的源服务器。在目标服务器上执行导入之前(使用下面列出的两种方法),请确保主。密钥与源上使用的密钥相同。有关主机的更多信息。键以及如何旋转/引导它,见以下:
    钥匙管理
    如何恢复主密钥

方法1:

  1. 在“垃圾收集”部分下编辑“Cron表达式”,以便安排下一次GC运行时足够远,这样它就不会在迁移两台服务器时发生。
  2. 旧服务器:将$ARTIFACTORY_HOME/data/filestore文件夹复制到新服务器的文件存储文件夹(在Artifactory 7中)。x,路径为$JFROG_HOME/artifactory/var/data/artifactory/filestore)
  3. 旧服务器:将服务器从网络中移除以阻止新请求
  4. 旧服务器:选择“排除内容”选项执行完整的系统导出(没有选择其他选项)
  5. 旧服务器:关闭
  6. 旧服务器:rsync从$ARTIFACTORY_HOME/data/filestore文件夹到新服务器的文件存储文件夹
  7. 新服务器:执行完全系统导入(不选择排除内容选项)。
  8. 新服务器:打开网络流量/将DNS切换到新服务器
  9. 新建服务器:管理选项卡-> Artifactory -> Maintenance ->在“垃圾收集”部分下编辑“Cron表达式”到所需的值

方法1非常快,因为它只有从最终的rsync和元数据的导出/导入开始的停机时间。方法2将提供接近于零的停机时间,但更复杂。

方法2:

  1. 在“垃圾收集”部分下编辑“Cron表达式”,以便安排下一次GC运行时足够远,这样它就不会在迁移两台服务器时发生。
  2. 旧服务器:将$ARTIFACTORY_HOME/data/filestore文件夹复制到新服务器的文件存储文件夹7。x,路径为$JFROG_HOME/artifactory/var/data/artifactory/filestore)
  3. 旧服务器:选择“排除内容”选项执行完整的系统导出(没有选择其他选项)
  4. 新服务器:执行完整的系统导入(不选择排除内容选项)
  5. 旧服务器:设置所有本地存储库以复制到新服务器上的存储库(如果需要,您可以禁用“同步删除”复选框)
  6. 新服务器:打开网络流量/将DNS切换到新服务器
  7. 旧服务器:执行并成功完成所有复制任务
  8. 旧服务器:关闭
  9. 新建服务器:管理选项卡-> Artifactory -> Maintenance ->在“垃圾收集”部分下编辑“Cron表达式”到所需的值

现在,如果需要回滚,可以将复制从新服务器反向复制到旧服务器,然后将DNS切换到旧服务器。如果您需要一个灾难恢复服务器,您也可以设置它。

请记住,我们强烈建议在切换到新的设置之前测试环境。在将生产流量切换到新的设置之前,强烈建议验证新环境的配置和功能。

此外,主密钥可能会在导出/导入过程中被覆盖,因此,建议在开始之前将其保存在一边,以便在需要时恢复它。
此过程的截屏可以在这个视频

额外的资源:2022世界杯阿根廷预选赛赛程

如何导入访问数据?
ARTIFACTORY:迁移基础