ARTIFACTORY:以最小的停机时间迁移大型ARTIFACTORY实例的最佳方法是什么?
最简单的迁移是设置所需版本的工作实例,但还没有配置或数据,只有一个空白实例,没有工件和数据库中的默认数据(新数据库,不指向旧数据库)。
在以您想要的方式工作之后,您可以使用从旧实例的完整系统导出,然后在新实例上导入,从旧实例迁移到新实例。
如果不能正常工作,您可以将DNS切换回旧实例。
以上是最简单的过程,但如果您希望确保两个实例在切换时包含相同的数据,则会涉及一些停机时间。
我们有一些方法可以减少甚至消除停机时间。
重要提示:
- 它是不推荐除非绝对必要,否则不要在不同版本的Artifactory之间迁移。请参阅支持的人工升级路径.
- 目标Artifactory服务器应该具有相同的“主服务器”。key’($JFROG_HOME/artifactory/var/etc/security/master.key)作为源服务器使用导出/导入功能。在目标服务器上执行导入之前(在下面列出的两种方法中),请确保主服务器。密钥与源上使用的密钥相同。了解更多关于大师的信息。键和如何旋转/引导它,见下面:
钥匙管理
如何恢复主密钥
方法1:
- Admin选项卡-> Artifactory -> Maintenance ->在' Garbage Collection '部分下编辑' Cron Expression ',以便安排足够远的下一个GC运行时,以便它不会在两个服务器上的迁移期间发生。
- 旧服务器:将$ARTIFACTORY_HOME/data/filestore文件夹复制到新服务器的filestore文件夹(在Artifactory 7中)。$JFROG_HOME/artifactory/var/data/artifactory/filestore)
- 旧服务器:将服务器从网络中移除以阻止新的请求
- 旧服务器:在选择“排除内容”选项的情况下执行完整的系统导出(未选择其他选项)
- 旧服务器:关闭
- 旧服务器:从$ARTIFACTORY_HOME/data/filestore文件夹rsync到新服务器的filestore文件夹
- 新服务器:执行完整系统导入(不选择排除内容选项)。
- 新服务器:打开网络流量/将DNS切换到新服务器
- 新服务器:Admin选项卡-> Artifactory -> Maintenance ->在“垃圾收集”部分编辑“Cron表达式”到所需的值
方法1非常快,因为它只在最后的rsync和元数据的导出/导入中有停机时间。方法2将提供接近零停机时间,但更复杂。
方法2:
- Admin选项卡-> Artifactory -> Maintenance ->在' Garbage Collection '部分下编辑' Cron Expression ',以便安排足够远的下一个GC运行时,以便它不会在两个服务器上的迁移期间发生。
- 旧服务器:将$ARTIFACTORY_HOME/data/filestore文件夹复制到新服务器的filestore文件夹中。$JFROG_HOME/artifactory/var/data/artifactory/filestore)
- 旧服务器:在选择“排除内容”选项的情况下执行完整的系统导出(未选择其他选项)
- 新服务器:执行完整的系统导入(不要选择排除内容选项)
- 旧服务器:设置所有本地存储库以复制到新服务器上的存储库(如果需要,您可以禁用“同步删除”复选框)
- 新服务器:打开网络流量/将DNS切换到新服务器
- 旧服务器:执行并成功完成所有复制作业
- 旧服务器:关闭
- 新服务器:Admin选项卡-> Artifactory -> Maintenance ->在“垃圾收集”部分编辑“Cron表达式”到所需的值
现在,如果需要回滚,您可以将复制从新服务器反向到旧服务器,然后将DNS切换到旧服务器。如果需要灾难恢复服务器,您也可以设置它。
请记住,我们强烈建议在切换到新设置之前测试环境。在将生产流量切换到新的设置之前,强烈建议验证新环境的配置和功能。
此外,主密钥可能在导出/导入过程中被覆盖,因此,建议在开始之前将其保存在一边,以便在需要时恢复它。
此过程的屏幕截图可在这个视频.
