
Azure Managed Disks are durable block storage volumes designed for Azure Virtual Machines, offering various performance tiers from Standard HDD to Ultra Disk. Organizations migrating away from Azure often need to transfer data from these disks to alternative providers. Vultr Block Storage provides high-performance SSD and NVMe storage options with straightforward pricing, making it an attractive destination for workloads requiring persistent storage.
This guide explains how to migrate data from an Azure Managed Disk to Vultr Block Storage using Rsync over SSH, including verification steps to ensure data integrity.
Before you begin, you need to:
sudo privileges.Prepare both the source Azure VM and destination Vultr instance for the data transfer. This involves mounting the disks and ensuring both are ready to send and receive data.
Identify and mount your Azure Managed Disk that contains the data to migrate. Azure VMs typically have a temporary disk that should not be confused with your data disk.
Connect to your Azure VM via SSH. Replace USERNAME and AZURE-VM-IP with your credentials.
List attached block devices to identify your data disk.
Output:
sda is the OS disksdb is the Azure temporary disk (mounted at /mnt by default. Do not use this for persistent data)sdc is the attached Managed Disk containing your data to migrateAzure temporary disks (/dev/sdb) are ephemeral and lose data on VM deallocation. Always verify you're working with the correct data disk.
If your data disk is not already mounted, create a mount point and mount it.
Verify the filesystem and mount.
Output:
Note the filesystem type (ext4) to use when formatting the destination volume.
Check disk usage.
Output:
If your Managed Disk has multiple partitions, verify each partition's size and filesystem type. You'll need to repeat the mount and transfer steps for each partition, ensuring the destination Vultr Block Storage volume has sufficient capacity.
Format and mount the destination Vultr Block Storage volume to receive the migrated data.
Connect to your Vultr instance via SSH. Replace VULTR-IP with your credentials.
List attached block devices.
Output:
vdb is the attached Vultr Block Storage volume. Additional volumes appear as vdc, vdd, etc.
Create a GPT partition table on the volume.
Create a primary partition that uses the entire disk.
Format the partition with the same filesystem as the source disk.
Create a mount point and mount the partition.
Set ownership so your user can write to the volume.
Verify the mount.
Output:
(Optional) Add the volume to /etc/fstab for persistent mounting across reboots.
If your source Azure Managed Disk has multiple partitions, configure matching partitions on the Vultr Block Storage volume with the same filesystem format and equal or greater capacity.
Use Rsync to copy files from the Azure Managed Disk to the Vultr Block Storage volume. Rsync transfers data over SSH, compresses during transit, and can resume interrupted transfers.
Verify Rsync is installed on both instances.
If not installed on either system:
From the Azure VM, start the transfer. Replace VULTR-IP with your Vultr instance credentials.
-a: Archive mode (preserves permissions, timestamps, symbolic links)-v: Verbose output-z: Compress data during transfer--progress: Show transfer progress--exclude="lost+found": Skip the system recovery directoryOutput:
Transfer time depends on data size and network speed. For large volumes, consider running the command in a screen or tmux session to prevent interruption if your SSH connection drops.
If the transfer is interrupted, re-run the same command. Rsync automatically resumes by transferring only the remaining files.
After migrating the data, verify integrity by comparing checksums between the source and destination volumes to ensure no files were corrupted during transfer.
On the Azure VM, generate checksums for all files.
Transfer the checksum file to the Vultr instance.
On the Vultr instance, generate checksums for the migrated files.
Normalize paths in the Azure checksum file to match Vultr paths.
Compare the checksum files.
No output indicates all files match. If differences appear, re-run Rsync to transfer any missing or corrupted files.
Verify directory sizes match.
On Azure VM:
On Vultr instance:
The sizes should be nearly identical (minor differences may occur due to filesystem overhead).
After you verify data integrity, complete the transition by performing a final sync and updating your application configurations.
Final sync: Capture any changes made since the initial transfer.
Update application configurations to reference the new storage path on the Vultr instance.
Update DNS records to point to the Vultr instance's public IP address if your applications are publicly accessible.
Test thoroughly to ensure applications function correctly with the migrated data.
You have successfully migrated data from an Azure Managed Disk to Vultr Block Storage using Rsync. This guide walked through preparing both storage volumes, transferring data securely over SSH, and validating integrity with checksum comparison. Your data now resides on Vultr's high-performance block storage infrastructure. For more information on managing Vultr Block Storage, including resizing and snapshots, visit the Vultr Block Storage documentation.
0 Comments
Be the first to comment and share your perspective with the community.