If you would like to move some data between Azure regions/datacenter, what would you do? which products/features will you choose? How to move it efficiently? I would like to provide some ideas in this article.
This topic could be a simple question or a very complex solution desgin based on your requirement. Please make things clear by answering the following questions.
1. What kind of data do you want to move?
2. What is the total volume of the data?
3. Is this a migration or a copy?
4. Is this a one time copy or contious copy/ repeatable copy?
5. is there any relationship between source and target after the first copy?
6. Besides of the data, is there any metedata, configuration also need to copy to the target?
7. Is DataBase involved in the data movement?
8. Is there a time window for the data movement?
9. Is there any profermance requirement for the data movement?
I have seen a lot of scenarios, for example:
a. Move VMs between regions.
- Move VHDs only (include managed disks and unmanaged disks)
- Move files in VHD between regions.
- Migrate the whole VM.
- Only need to copy VM image to a different region, then create new VMs based on these images when it’s needed
- Keep a replication from source to target VM as a DR solution.
- Keep replicating VHD snapshots from source to target in a regular bases.
- Migrates hundreds of VMs from source to target to rebuild a same big environment.
b. Move data in storage account between regions.
c. Move/Migrate Azure resources/configuration betwene regions
d. DB in a VM or Azure DBS replicated to a different region.
———————————————————————
Ok, I will not try to answer all the questions. Instead, let’s see what options do we have?
1. Export managed disks to storage accounts (Same region or cross regions)
https://heranonazure.wordpress.com/2017/07/19/how-to-export-managed-disk/
2. Create an image for a VM in a different region
https://heranonazure.wordpress.com/2017/03/22/create-an-image-in-different-location/
3. GRS & RA-GRS ( Read-access geo-redundant storage)
Designing Highly Available Applications using RA-GRS
https://docs.microsoft.com/en-us/azure/storage/common/storage-designing-ha-apps-with-ragrs
4. Azure import/export service
https://docs.microsoft.com/en-us/azure/storage/common/storage-import-export-service
5. Azure Data Box
https://azure.microsoft.com/en-us/services/storage/databox/
6. Azure Data Factory Copy Data
https://docs.microsoft.com/en-us/azure/data-factory/copy-activity-overview
7. Azure Backup (Recovery Vault)
You can’t backup from or restore to a different region so far. However, the recovery vault itself has a backup pair in the pair region.
8. Azure Site Recovery
https://docs.microsoft.com/en-us/azure/site-recovery/azure-to-azure-tutorial-migrate
9. Azure File Sync
https://docs.microsoft.com/en-us/azure/storage/files/storage-sync-files-deployment-guide?tabs=portal
10. RoboCopy/DFS/OS level copy tools
The OS level tools can be used when you are copy from VM to VM in different region.
11. Blob level Snapshot
https://docs.microsoft.com/en-us/rest/api/storageservices/incremental-copy-blob
This feature needs your programing skills, once you’ve done the inital copy, you just need to copy difference part in a snapshot to keep update the changes in the different region, which requires less network bandwidth.
12. DB level replication
Depends on what kind of DB you are using, usually, there is a replication solution help you do the syncronation.
Azure Storage Accont Tools
The most common tools.
AzCopy
Cmdlet:
Azure Storage Explorer
How to Speed Up Data Copy
1
Articles:
Migrate Azure VMs to another region
https://docs.microsoft.com/en-us/azure/site-recovery/azure-to-azure-tutorial-migrate
Moving data to and from Azure Storage
https://docs.microsoft.com/en-us/azure/storage/common/storage-moving-data