How do I migrate data from a stand-alone Artifactory instance to Artifactory High Availability?

If you first install Artifactory as a single standalone server and later want to move the storage to an Artifactory High Availability (HA) instance, this is possible.  You will need to make sure that you are using an external database and not Artifactory’s default (Derby), and you will need to have your NFS mount available.

 

There are two approaches you can take:

  1. Set up a High-Availability (HA) environment, and sync/rsync the file-store to the NFS.  Once that has finished, stop the initial Artifactory instance, perform the final sync and start up in the the HA server(s). This is an option if the current instance will be part of an HA cluster. This option will involve a bit of downtime.
  2. Set up a completely new HA environment and import the latest backup into it. Once the backup is done you can start working against the HA environment with no downtime. The tricky part is getting all of the data that was added to the original instance after the backup you used. To address this, do the following:
    • Export/import the local repositories (remote can always be lazily cached).  The import repository process is additive, and will only add the data that has been changed.
    • Setup push replication (with sync deletes off) for the local repositories from the current instance to the HA environment.  Run this once to obtain the missing data.
    • Setup the original instance as a remote repository for the HA cluster so that all missing data will be available if needed, until the import from the repository finishes.

 

For all options, we have a buildinfo replication user plugin that you can use to add all the build info objects. This is relevant if you are using one of our integration plugins.