# Migrating to an HA Deployment from a Legacy HA-C or a Resilient Deployment

**Warning**

Due to its complexity, HA is not appropriate for many deployments.

- Containerized and cloud HA deployments require using several advanced technologies (e.g., Kubernetes, cloud technologies) outside the Sonatype Suite's scope. You should ensure that you have **in-house expertise** in these technologies before attempting an HA deployment.

- HA requires additional infrastructure and maintenance overhead. Deploying HA without a **strong need** or use case may not yield your desired return on investment.

- Sonatype Nexus Repository High Availability deployments should be fully deployed and tested in a **development environment** before attempting to deploy in production. Improper deployment in a production environment can result in critical data loss.

- Note that there are [differences in how content selectors work in HA deployments](https://help.sonatype.com/en/content-selectors.html#content-selectors-in-high-availability "Content Selectors in High Availability").

## Migrating from Legacy High Availability Clustering (HA-C)

The HA deployment options described in this section are meant to replace our legacy HA-C option.

HA-C required OrientDB while our current HA options require PostgreSQL. Therefore, if you are looking to migrate to our current HA option, you must first follow the instructions for [migrating to a PostgreSQL database](https://help.sonatype.com/en/migrating-to-a-new-database.html "Migrating to a New Database").

After moving to PostgreSQL and migrating your data, you must set the HA-C property `nexus.clustered` to `false` in the `$data-dir/sonatype-work/nexus3/etc/nexus.properties`. (You will enable a different HA property when deploying HA.)

You can now proceed to the [Prerequisite Step: Adjust max_connections](https://help.sonatype.com/en/postgresql-max-connections.html "Adjust the PostgreSQL Max Connections") and then set up an HA deployment using your preferred deployment option:

- [Option 1 - Manual High Availability Deployment](https://help.sonatype.com/en/option-1---manual-high-availability-deployment.html "Manual High Availability Deployment")
- [Option 2 - On-Premises High Availability Deployment Using Kubernetes](https://help.sonatype.com/en/option-2---on-premises-high-availability-deployment-using-kubernetes.html "On-Premises High Availability Using Kubernetes")
- [Option 3 - High Availability Deployment in Amazon Web Services (AWS)](https://help.sonatype.com/en/option-3---high-availability-deployment-in-amazon-web-services--aws-.html "High Availability in Amazon Web Services")
- [Option 4 - High Availability Deployment in Azure](https://help.sonatype.com/en/option-4---high-availability-deployment-in-azure.html "High Availability Deployment in Azure")
- [Option 5 - High Availability Deployment in Google Cloud](https://help.sonatype.com/en/deploy-nexus-repository-to-google-cloud.html "Deployment in Google Cloud")

## Migrating from a Resilient Deployment Architecture

If you are already using one of our resilient deployment options in [AWS](https://help.sonatype.com/en/single-node-cloud-resilient-deployment-example-using-aws.html "Single-Node Cloud Resilient Deployment Using AWS"), [Azure](https://help.sonatype.com/en/single-node-cloud-resilient-deployment-example-using-azure.html "Single-Node Cloud Resilient Deployment Using Azure"), or [on-premises](https://help.sonatype.com/en/single-data-center-on-premises-deployment-example-using-kubernetes.html "Single Data Center On-Premises Resilient Deployment Example Using Kubernetes") and wish to move to an HA deployment, you will need to do the following:

1. Provision your desired number of Nexus Repository instances.
2. Shut down your existing resilient Nexus Repository instance.
3. Uninstall the resiliency helm chart if you used this to set up your resilient deployment in AWS.
4. Complete the [Prerequisite Step: Adjust max_connections](https://help.sonatype.com/en/postgresql-max-connections.html "Adjust the PostgreSQL Max Connections").
5. Follow the instructions for setting up an HA deployment using your preferred deployment option:
   - [Option 1 - Manual High Availability Deployment](https://help.sonatype.com/en/option-1---manual-high-availability-deployment.html "Manual High Availability Deployment")
   - [Option 2 - On-Premises High Availability Deployment Using Kubernetes](https://help.sonatype.com/en/option-2---on-premises-high-availability-deployment-using-kubernetes.html "On-Premises High Availability Using Kubernetes")
   - [Option 3 - High Availability Deployment in Amazon Web Services (AWS)](https://help.sonatype.com/en/option-3---high-availability-deployment-in-amazon-web-services--aws-.html "High Availability in Amazon Web Services")
   - [Option 4 - High Availability Deployment in Azure](https://help.sonatype.com/en/option-4---high-availability-deployment-in-azure.html "High Availability Deployment in Azure")
   - [Option 5 - High Availability Deployment in Google Cloud](https://help.sonatype.com/en/deploy-nexus-repository-to-google-cloud.html "Deployment in Google Cloud")
