Disaster Recovery Migration -- SRM to Azure Site Recovery¶
Complete guide to migrating VMware disaster recovery from SRM, Zerto, and Veeam to Azure-native DR services including Azure Site Recovery, AVS DR, and JetStream DR.
DR mapping overview¶
| VMware DR solution | Azure equivalent | Use case |
|---|---|---|
| VMware SRM | Azure Site Recovery (ASR) | Orchestrated DR failover with recovery plans |
| vSphere Replication | ASR continuous replication | VM-level replication to Azure |
| SRM recovery plans | ASR recovery plans | Automated failover sequence with scripts |
| SRM DR testing | ASR test failover | Non-disruptive DR validation |
| Zerto | Zerto for Azure / Zerto for AVS | Near-synchronous replication, journal-based recovery |
| Veeam Backup & Replication | Veeam for Azure / Azure Backup | Backup-based DR and instant recovery |
| vSAN stretched cluster | AVS stretched cluster / Azure Availability Zones | Synchronous replication for zero RPO |
| NSX DR (network failover) | ASR network mapping + Azure Firewall | Network configuration failover |
1. Azure Site Recovery (ASR) -- replacing SRM¶
Azure Site Recovery is the primary DR solution for both AVS and Azure IaaS workloads. It provides continuous replication, automated failover, and recovery plans comparable to VMware SRM.
ASR capabilities¶
| Capability | SRM equivalent | ASR implementation |
|---|---|---|
| Continuous replication | vSphere Replication | ASR replication (RPO 30 sec -- 15 min) |
| Recovery plans | SRM recovery plans | ASR recovery plans with sequencing |
| Automated failover | SRM planned/unplanned failover | ASR planned/unplanned failover |
| DR testing | SRM non-disruptive test | ASR test failover (isolated network) |
| Network re-IP | SRM network mapping | ASR network mapping + static IP config |
| Custom scripts | SRM callouts | ASR Automation runbooks + scripts |
| Monitoring | SRM monitoring dashboard | Azure Monitor + ASR dashboard |
| RTO | Depends on VM count | Typically < 2 hours for most workloads |
| RPO | 15 min (vSphere Replication) | 30 sec -- 15 min (ASR) |
ASR for VMware VMs (on-prem to Azure)¶
Protect on-premises VMware VMs by replicating them to Azure:
# Create Recovery Services vault
az backup vault create \
--name rsv-dr-eastus2 \
--resource-group rg-dr \
--location eastus2
# Configure ASR for VMware (requires configuration server on-prem)
# Deploy the configuration server OVA in VMware environment
# Register with the Recovery Services vault
# Enable replication per VM via Azure Portal
ASR for AVS (AVS to AVS or AVS to Azure)¶
For AVS workloads, ASR supports:
- AVS to AVS: replicate between two AVS private clouds in different regions
- AVS to Azure IaaS: replicate AVS VMs to Azure Managed Disks for DR
- Azure IaaS to Azure IaaS: replicate Azure VMs between regions
# Enable ASR for an Azure VM (region to region)
az vm replication enable \
--name migrated-vm-01 \
--resource-group rg-migrated-vms \
--target-resource-group rg-dr-westus2 \
--target-region westus2 \
--target-availability-zone 1
Recovery plans¶
Recovery plans define the order in which VMs are failed over, along with pre/post scripts:
# Create recovery plan
az site-recovery recovery-plan create \
--name rp-app-tier \
--resource-group rg-dr \
--vault-name rsv-dr-eastus2 \
--groups '[
{
"groupType": "Boot",
"replicationProtectedItems": [
{"id": "/subscriptions/{sub}/.../protectedItems/vm-db-01"},
{"id": "/subscriptions/{sub}/.../protectedItems/vm-db-02"}
]
},
{
"groupType": "Boot",
"replicationProtectedItems": [
{"id": "/subscriptions/{sub}/.../protectedItems/vm-app-01"},
{"id": "/subscriptions/{sub}/.../protectedItems/vm-app-02"}
]
},
{
"groupType": "Boot",
"replicationProtectedItems": [
{"id": "/subscriptions/{sub}/.../protectedItems/vm-web-01"},
{"id": "/subscriptions/{sub}/.../protectedItems/vm-web-02"}
]
}
]'
The recovery plan above boots VMs in sequence: databases first, then application servers, then web servers.
Test failover¶
# Run test failover (non-disruptive)
az site-recovery recovery-plan test-failover \
--name rp-app-tier \
--resource-group rg-dr \
--vault-name rsv-dr-eastus2 \
--failover-direction PrimaryToRecovery \
--network-id /subscriptions/{sub}/resourceGroups/rg-dr/providers/Microsoft.Network/virtualNetworks/vnet-dr-test
Test failover uses isolated network
Always use an isolated test VNet for test failover to avoid IP conflicts with production. ASR creates test VMs in the isolated network, and you can validate application health without affecting production.
2. Zerto for AVS and Azure¶
Zerto provides near-synchronous replication with journal-based recovery, enabling any-point-in-time recovery (granularity measured in seconds).
Zerto for AVS¶
| Feature | Capability |
|---|---|
| RPO | Near-zero (5--15 seconds typical) |
| RTO | Minutes (automated failover) |
| Recovery granularity | Any point in time (journal-based) |
| Network re-IP | Automated during failover |
| Consistency groups | Multi-VM crash-consistent groups |
| Testing | Non-disruptive, isolated DR testing |
Zerto deployment on AVS¶
- Deploy Zerto Virtual Manager (ZVM) on AVS
- Deploy Zerto Virtual Replication Appliances (VRAs) on each ESXi host
- Configure Virtual Protection Groups (VPGs) for VM grouping
- Set journal history (hours/days of recovery points)
- Configure failover networking
When to choose Zerto over ASR¶
| Criteria | ASR | Zerto |
|---|---|---|
| RPO requirement | 30 sec -- 15 min | 5--15 seconds |
| Any-point-in-time recovery | No (recovery points at intervals) | Yes (continuous journal) |
| Multi-VM consistency | Application-consistent snapshots | Continuous consistency groups |
| Licensing model | Per-VM Azure pricing ($25/VM/month) | Per-VM Zerto licensing |
| Automation | ASR recovery plans | Zerto orchestration with APIs |
3. JetStream DR for AVS¶
JetStream DR is optimized specifically for AVS disaster recovery scenarios.
JetStream capabilities¶
| Feature | Capability |
|---|---|
| RPO | Near-zero (continuous replication) |
| RTO | < 5 minutes for most workloads |
| Storage efficiency | Deduplicated, compressed replication |
| AVS integration | Native AVS marketplace deployment |
| Recovery target | AVS private cloud (another region) |
| Runbook automation | Built-in DR runbook engine |
JetStream deployment¶
- Deploy JetStream DR from AVS Azure Marketplace add-on
- Configure protected site (source AVS) and recovery site (target AVS)
- Define protection domains (groups of VMs)
- Set replication policies (RPO, retention)
- Create and test recovery plans
4. AVS stretched cluster (zero RPO)¶
For workloads requiring zero data loss (RPO = 0), AVS stretched clusters provide synchronous replication across Azure Availability Zones.
Stretched cluster architecture¶
flowchart LR
subgraph AZ1["Availability Zone 1"]
H1[AVS Host 1]
H2[AVS Host 2]
H3[AVS Host 3]
end
subgraph AZ2["Availability Zone 2"]
H4[AVS Host 4]
H5[AVS Host 5]
H6[AVS Host 6]
end
subgraph Witness["Witness Zone"]
W[vSAN Witness]
end
H1 <-->|Synchronous Replication| H4
H2 <-->|Synchronous Replication| H5
H3 <-->|Synchronous Replication| H6
AZ1 <-->|Heartbeat| W
AZ2 <-->|Heartbeat| W Stretched cluster characteristics¶
| Parameter | Value |
|---|---|
| RPO | 0 (synchronous replication) |
| RTO | < 1 minute (automatic vSphere HA restart) |
| Minimum hosts | 6 (3 per AZ) |
| Maximum hosts | 16 (8 per AZ) |
| Inter-AZ latency | < 5 ms (Azure AZ guarantee) |
| Supported regions | Limited (check Azure documentation for current list) |
5. Cross-region DR patterns¶
Pattern 1: AVS to AVS (same VMware tools)¶
Pattern 2: AVS to Azure IaaS (cost-optimized DR)¶
Primary: AVS Private Cloud (East US 2)
↓ ASR replication
DR: Azure IaaS VMs (West US 2) -- only running during failover
This pattern reduces DR costs because Azure IaaS VMs are only provisioned during failover. You pay only for the replicated storage and ASR licensing, not for running VMs.
Pattern 3: Azure IaaS to Azure IaaS¶
Primary: Azure VMs (East US 2)
↓ ASR replication
DR: Azure VMs (West US 2) -- auto-provisioned on failover
DR cost comparison¶
| DR pattern | Monthly cost (150 protected VMs) | RPO | RTO |
|---|---|---|---|
| On-prem SRM + vSphere Replication | $12,500 (licenses + DR site) | 15 min | 1--4 hours |
| ASR (AVS to Azure IaaS) | \(3,750 (\)25/VM) + storage | 30 sec -- 15 min | 30 min -- 2 hours |
| ASR (Azure to Azure) | $3,750 + storage | 30 sec -- 15 min | 30 min -- 2 hours |
| Zerto for AVS | \(6,000--\)9,000 (Zerto licensing) | 5--15 sec | 5--15 min |
| AVS stretched cluster | Included (hosts already paid) | 0 | < 1 min |
6. DR migration strategy¶
Phase 1: Assess current DR¶
Document your current VMware DR configuration:
- SRM recovery plans (count, VMs per plan, sequence)
- vSphere Replication policies (RPO settings per VM)
- Network mapping rules
- Custom scripts and callouts
- DR testing frequency and results
- RTO/RPO requirements per application tier
Phase 2: Design Azure DR¶
Map each VMware DR component to its Azure equivalent:
- SRM recovery plans become ASR recovery plans
- vSphere Replication becomes ASR continuous replication
- SRM network mapping becomes ASR network mapping
- SRM scripts become Azure Automation runbooks
- DR testing cadence maintained or improved
Phase 3: Implement and test¶
- Enable ASR replication for migrated VMs
- Create ASR recovery plans mirroring SRM plans
- Configure network mapping (source VNet to target VNet)
- Add Automation runbooks for pre/post failover tasks
- Run test failover for each recovery plan
- Validate RTO/RPO meets requirements
- Decommission SRM after successful DR test
Phase 4: Ongoing DR operations¶
- Monthly: run test failover for all critical recovery plans
- Quarterly: full DR drill with documented results
- On change: update recovery plans when VMs are added/removed
- Continuously: monitor ASR replication health via Azure Monitor
Related¶
- AVS Migration Guide
- Azure IaaS Migration Guide
- Security Migration
- Feature Mapping
- Migration Playbook
- CSA-in-a-Box Disaster Recovery
Last updated: 2026-04-30 Maintainers: CSA-in-a-Box core team