Migrating an Existing Nexus Repository Instance to a Resiliency Architecture

Migrating an existing Nexus Repository instance to a resilient architecture requires migrating to a PostgreSQL database (preferably cloud-based) and then migrating your blobs before setting up the architecture outlined in one of our resilient deployment examples.

The sections below describe the necessary steps for migrating.

Prerequisite: Migrating to a PostgreSQL Database

Regardless of whether you are migrating from on-premises to on-premises or migrating to the cloud, you will need to be using a PostgreSQL database to use any of our resilient deployment options. If you are migrating to the cloud, you will need to migrate to Aurora PostgreSQL or Azure Database for PostgreSQL.

The Database Migrator utility available in our Download section and described in our help documentation for migrating to PostgreSQL does not directly support migrating from an on-premises OrientDB to a cloud PostgreSQL database. Before using the Database Migrator, you need to ensure that it can see both locations (e.g., the on-premises file system and new database). It is your DevOps Engineer's responsibility to set up the underlying architecture to ensure migrator has this access before proceeding.

If your existing instance is using OrientDB or H2, you will first need to follow these instructions for migrating to PostgreSQL.

Migrating an On-Premises Single Nexus Repository Instance to an On-Premises Resilient Deployment

To migrate from an on-premises single Nexus Repository instance to an on-premises resilient deployment, complete the following steps:

1. First, migrate to a PostgreSQL database.

2. After migration, ensure that you have database scheduled backups configured; if not, you should kick this off manually and consider scheduling backups.

PostgreSQL backups take place outside of Nexus Repository and are not covered in our documentation. See PostgreSQL documentation for more information.

3. After migrating your database, follow the instructions for setting up the architecture in our Single Data Center On-Premises Deployment Example Using Kubernetes.

Migrating a Single Cloud Nexus Repository Instance to a Resilient Cloud Deployment (AWS/Azure)

If you need to migrate multiple Terabytes of blob data, you should consult directly with AWS or Azure for guidance to avoid prolonged downtime.

To migrate from a single cloud Nexus Repository instance to a resilient cloud deployment using AWS or Azure, complete the following steps:

1. First, migrate your database to Aurora PostgreSQL or Azure Database for PostgreSQL if you are not already using one of these options.

2. After migration, ensure that you have database scheduled backups configured; if not, you should kick this off manually and consider scheduling backups.

PostgreSQL backups take place outside of Nexus Repository and are not covered in our documentation. See PostgreSQL documentation for more information.

3. Move blobs to either Amazon Simple Storage Service (S3) or Azure Blob:

Before proceeding, you should ensure you have backed up your blob store.

a. Moving to Amazon S3 - Migrating from file blob storage to Amazon S3 requires copying blobs to S3 using a tool such as AWS DataSync. Amazon provides documentation for using DataSync to move data between other storage systems and AWS storage services.

b. Moving to Azure Blob - In order to migrate to Azure Blob, you must copy blobs to Azure Blob using a tool such as AzCopy. Microsoft provides documentation for using AzCopy to move data to and from Azure Blob.

4. After migrating your database and blob store, refer to to Single-Node Cloud Resilient Deployment Example Using AWS or Single-Node Cloud Resilient Deployment Example Using Azure for instructions on setting up the resilient architecture.

Migrating an On-Premises Single Nexus Repository Instance to a Resilient Cloud Deployment (AWS/Azure)

If you need to migrate multiple Terabytes of blob data, you should consult directly with AWS or Azure for guidance to avoid prolonged downtime.

To migrate from a single on-premises Nexus Repository instance to a resilient cloud deployment using AWS or Azure, complete the following steps:

1. First, migrate your database to Aurora PostgreSQL or Azure Database for PostgreSQL.

The Database Migrator does not directly support on-premises OrientDB to cloud PostgreSQL migration. Before using the Database Migrator, you need to ensure that it can see both locations (e.g., the on-premises file system and new database). It is your DevOps Engineer's responsibility to set up the underlying architecture to ensure that the Database Migrator has this access before proceeding.

2. After migration, ensure that you have database scheduled backups configured; if not, you should kick this off manually and consider scheduling backups.

PostgreSQL backups take place outside of Nexus Repository and are not covered in our documentation. See PostgreSQL documentation for more information.

3. Move blobs to either Amazon Simple Storage Service (S3) or Azure Blob:

Before proceeding, you should ensure you have backed up your blob store.

a. Moving to Amazon S3 - Migrating from file blob storage to Amazon S3 requires copying blobs to S3 using a tool such as AWS DataSync. Amazon provides documentation for using DataSync to move data between other storage systems and AWS storage services.

b. Moving to Azure Blob - In order to migrate to Azure Blob, you must copy blobs to Azure Blob using a tool such as AzCopy. Microsoft provides documentation for using AzCopy to move data to and from Azure Blob.

4. After migrating your database and blob store, refer to Single-Node Cloud Resilient Deployment Example Using AWS or Single-Node Cloud Resilient Deployment Example Using Azure for instructions on setting up the resilient architecture.