Edit

Get started with blob-to-blob migration in Azure Storage Mover

The Azure-to-Azure Migration feature in Azure Storage Mover allows you to securely transfer large datasets between Blob containers across different Azure storage accounts and regions.

This article guides you through the complete process of configuring Storage Mover to migrate your data between two Blob containers. The process consists of configuring endpoints, and creating and running a migration job.

Prerequisites

Before you begin, ensure that you have:

Limits

The Azure Blob container-to-container transfer feature in Azure Storage Mover has the following limits:

  • Each migration job supports the transfer of 500 million objects.
  • A maximum of 10 concurrent jobs is supported per subscription. If you need to run more than 10, create a support request.
  • Azure Storage Mover doesn't support automatic rehydration of archived objects. You must restore data stored in Azure Blob Archive before migration. Initiate migration jobs only after the data is fully restored.
  • Blob container-to-container migration doesn't allow you to select the same Source and Target Endpoint in the same Migration Job Creation.
  • Blobs aren't truly moved but copied. The source Blob container continues to exist in its current location along with the Target location set.

Configure source and target endpoints

In the context of the Azure Storage Mover service, an endpoint is a resource that contains the path to either a source or target location and other relevant information. Storage Mover job definitions use endpoints to define the source and target locations for copy operations.

Follow the steps in this section to configure an Azure Blob container source and target endpoints. To learn more about Storage Mover endpoints, refer to the Manage Azure Storage Mover endpoints article.

Configure an Azure Blob storage source endpoint

  1. Go to your Storage Mover instance in Azure.

  2. From the Resource management group in the left navigation, select Storage endpoints. Select the Source endpoints tab, and then select Add endpoint to open the Create source endpoint pane.

  3. In the Create source endpoint pane:

    • Select Blob container as the Source type.

    • Select your subscription and storage account from the respective Subscription and Storage account drop-down lists.

    • Choose the Blob container you want to migrate from the Blob container drop-down list.

    • Optionally, provide a description for the endpoint in the Description field.

    • Verify that your selections are correct and select Create to create the endpoint as shown in the following image.

      Screenshot of the Endpoints page showing the Create Source Endpoint pane with required fields displayed.

Configure an Azure Blob storage target endpoint

  1. From the Resource management group in the left navigation, select Storage endpoints. Select the Target endpoints tab, and then select Add endpoint to open the Create target endpoint pane.

  2. In the Create target endpoint pane:

    • Select your subscription and storage account from the respective Subscription and Storage account drop-down lists.

    • Select Blob container from the Target type field.

    • Choose the Blob container to which you want to migrate from the Blob container drop-down list.

    • Optionally, provide a description for the endpoint in the Description field.

    • Verify that your selections are correct and select Create to create the endpoint as shown in the following image.

      Screenshot of the Endpoints page showing the Create Target Endpoint pane with required fields displayed.

Assign RBAC role to source and target endpoints

The Storage Account Contributor and Storage Blob Data Owner RBAC roles are automatically assigned during the job start process. No other steps are required.

Create a migration project and job definition

After you define source and target endpoints for your migration, the next steps are to create a Storage Mover migration project and job definition.

By using a migration project, you can organize large migrations into smaller, more manageable units that make sense for your use case. A job definition describes resources and migration options for a specific set of copy operations undertaken by the Storage Mover service. These resources include, for example, the source and target endpoints, and any migration settings you want to apply.

Follow the steps in this section to create a migration project and run a migration job.

Create a project

  1. Go to the Project explorer tab in your Storage Mover instance and select Create project.

  2. Enter values for the following fields:

    • Name: A meaningful name for the migration project.
    • Project description: A useful description for the project.

    Select Create to create the project. It might take a moment for the newly created project to appear in the project explorer.

    Screenshot of the Project Explorer page with the Create a Project pane's fields visible.

Create a job definition

  1. Select the project after it appears, and then select Create job definition. The Create a Migration Job page opens to the Basics tab. Provide values for the following fields:

    • Name: A meaningful name for the migration job.
    • Migration type: Select Azure to Azure.

    Screenshot of basics tab with option to choose migration type.

  2. In the Source tab, select the Existing endpoint option for the Endpoint field. Next, select the Select an existing endpoint as a source link to open the Select an existing endpoint pane.

    Screenshot of source tab with endpoint options.

    Choose the Azure Blob source endpoint created in the previous section and select Select to save your changes.

    Screenshot of the Select an Existing Source Endpoint pane.

  3. In the Target tab, select the Select an existing endpoint reference option for the Target endpoint field. Next, select the Select an existing endpoint as a target link to open the Select an existing endpoint pane.

    Screenshot of the Create a Migration Job page with the Target tab selected and the required fields displayed.

    Next, select the Select an existing endpoint as a target link to open the Select an existing target endpoint pane. Choose the Azure Blob Storage target endpoint created in the previous section and select Select to save your changes. Verify that the correct target endpoint is displayed in the Existing target endpoint field and then select Next to continue to the Settings tab.

    Screenshot of the Create a Migration Job page with the Select an Existing Target Endpoint pane displayed.

  4. In the Settings tab, select Merge or Mirror source to target from the Copy mode drop-down list. Verify that the Migration outcomes results are appropriate for your use case, then select Next and review your settings.

    Screenshot of the Create a Migration Job page with the Settings tab selected and migration outcomes displayed.

  5. After confirming that your settings are correct within the Review tab, select Create to deploy the migration job. You're redirected to the Project explorer after the job's deployment begins. After completion, the job appears within the associated migration project.

    Screenshot of the Create a Migration Job page with the Review tab selected and all settings displayed.

Run a migration job

  1. Go to the Migration Jobs tab. The Migration Jobs tab shows all migration jobs you created in your Storage Mover resource, including the one you just created. It might take a moment for the new migration job to show up in the list. Refresh the page if needed.

    Screenshot of the Migration Jobs page with the Migration Jobs tab selected and all Migration Jobs displayed.

  2. Select the new job definition to view its details in the Properties tab. Select the Start job button to open the Start job pane for the migration job.

    Screenshot of the Migration Job details page with the Properties tab and the Start Job button highlighted.

    Screenshot of the Migration Job page's Start Job pane.

Monitor migration progress

As you use Storage Mover to migrate your data to your Azure destination targets, monitor the copy operations for potential problems. The Migration overview tab displays data about the operations during your migration. This data helps you track the progress of your migration by providing the current status and key information such as progress, speed, and estimated completion time.

When configured, Azure Storage Mover can also provide copy logs and job run logs. These logs are especially useful because they allow you to trace the migration result of job runs and of individual files.

Follow the steps in this section to monitor the progress of a Storage Mover Migration Job. To learn more about Storage Mover copy and job logs, see How to enable Azure Storage Mover copy and job logs.

  1. Go to the Migration Jobs tab.
  2. Select your job to view progress, speed, and estimated completion time. Screenshot of the Storage Mover page with the Migration Overview tab selected and all Migration Jobs displayed.
  3. Select Logs to check for any errors or warnings.
  4. After the migration finishes, verify the data in Azure Blob Storage.

Post-migration validation

Post-migration data validation ensures that your data is accurate and that the transfer from Azure Blob container is complete. This validation process verifies data integrity and consistency by comparing migrated data to the same data from the source. You can also choose to conduct user acceptance tests to further confirm functionality. Validation helps identify and resolve discrepancies, ensuring the migrated data is reliable and meets your business requirements.

Follow the steps in this section to complete manual validation.

  • Compare source and destination storage to ensure all files are transferred.
  • Enable incremental sync if you need to keep Azure Blob containers in sync over time.
  • Delete the source Azure Blob container after migration is fully completed and verified if you don't need it anymore.

Troubleshooting and support

Troubleshooting your migration might involve a range of steps, from basic diagnostics to more advanced error handling. If you're encountering problems, start troubleshooting by taking the following steps.

  • Migration job failed? Check the logs for error messages.
  • Permission problems? Verify that Access Management (IAM) roles have the correct access.

The following articles can help you become more familiar with the Storage Mover service.