Skip to content

Veeam Migration Path — Architecture

Detailed component diagram and data flow for the Veeam two-hop migration.


Component Diagram

Veeam detailed architecture

Draw.io source: 01-veeam-architecture-detailed.drawio


Data Flow — Hop 1 (Veeam)

  1. Veeam connects to Prism Element API (HTTPS 443)
  2. Veeam deploys and communicates with the AHV Backup Proxy VM on the Nutanix cluster
  3. The proxy triggers a Nutanix snapshot via the AHV API (Changed Block Tracking)
  4. Snapshot data is streamed from the AHV proxy → Veeam server → Hyper-V staging host
  5. Veeam writes the data as a VHDX file on the Hyper-V host at the configured replica path
  6. For incrementals, only changed blocks (CBT) are transferred
  1. Veeam connects to vCenter/ESXi (HTTPS 443) via vSphere API
  2. Veeam triggers a VM snapshot and uses VMware Changed Block Tracking (CBT)
  3. Data is read directly from the VMware datastore via NBD or SAN transport
  4. Data is written as VHDX on the Hyper-V staging host
  5. Incrementals use CBT — only changed blocks transferred

Data Flow — Hop 2 (Azure Migrate)

  1. Azure Migrate appliance connects to the Hyper-V host via WMI and discovers VMs
  2. For each VM, Azure Migrate reads the VHDX file and replicates it to Azure Local CSV storage over SMB/HTTPS
  3. Once initial replication is complete (Protected state), delta syncs run on a schedule
    1. At cutover, a final delta sync runs, then Azure Migrate creates the Azure Local VM on Azure Local
    2. VM is visible in the Azure portal through Azure Local integration

Batching Model

Timeline ──────────────────────────────────────────────────────────────────────►

Week 1-2:   [Batch 01: AHV → Veeam Replication → HV] [Validate] [Azure Migrate → AzL] [Validate] [Cleanup]
Week 3-4:   [Batch 02: ──────────────────────────────────────────────────────────────────────────────────]
Week 5-6:   [Batch 03: ──────────────────────────────────────────────────────────────────────────────────]
...

Only 1–2 batches are in-flight at any time. The Hyper-V staging host holds a maximum of 10–20 VMs at once.


Replica Naming

Setting Value
Replica suffix _replica (default) or none if source VMs are powered off
Azure Migrate target name Set to original VM name (no suffix)
Guest hostname Unchanged throughout migration

Diagrams

See the Diagrams Gallery for architecture diagrams including: