Technical

What Replaces SRM and vSphere Replication on Proxmox? ZFS replication and a little scripting

What Replaces SRM and vSphere Replication on Proxmox? ZFS replication and a little scripting

What replaces SRM and vSphere Replication on Proxmox? ZFS replication with pvesr, plus a few lines of scripting for the recovery part. It’s not a one-click button, but it’s solid once you see how it fits together.

An IT professional operates a computer in a server room, managing network systems and connected devices.

SRM and vSphere Replication — what they actually do

vSphere Replication copies VMs at the hypervisor level to a second site. SRM handles the disaster recovery plan: it keeps an inventory of protected VMs, lets you test failover without breaking replication, and orchestrates the actual cutover when things go south. Together they give you a button you can press when the primary site is dead.

Proxmox doesn’t have a single product for that

There’s no “Proxmox SRM.” Instead you get a few built‑in tools that cover the same ground if you combine them. ZFS replication is the core — it ships VM disks to another node on a schedule. The pvesr command manages it. For the orchestration part you write your own scripts or use the API. It’s more work to set up, but you’re not locked into a licensing model.

ZFS replication is the engine

You need ZFS storage on both sides. Create a replication job in the UI (Datacenter → Replication) or with pvesr. It sends incremental snapshots over SSH. The target VM stays in a stopped state until you manually fail over. That’s the part people get stuck on — there’s no automatic “power on at DR site” button.

Detailed shot of Ethernet cables connected to server ports highlighting technology infrastructure.

Failover: the part you have to script

When the primary site is toast, you log into the DR node and run something like:

qm start 100  # where 100 is the VMID of the replica

If you want a single command that mirrors SRM’s recovery plan, wrap it in a script that stops replication, promotes the ZFS clone, and starts the VM. The API gives you endpoints for all of that. It’s not pretty, but it works.

Testing without breaking replication

SRM lets you spin up a test bubble with isolated networking. Proxmox doesn’t have that built in. The cleanest way is to clone the replicated disk to a sandbox VM on the DR side:

zfs clone rpool/data/vm-100-disk-0@latest rpool/sandbox/vm-100-disk-0
qm create 200 --name test-failover --scsi0 rpool/sandbox/vm-100-disk-0 ...

Just make sure the sandbox VM has no network interface or is on an isolated bridge. Delete the clone when you’re done. It’s manual, but you can automate it with a script that tears down the sandbox afterward.

My take

If you’re coming from VMware and expect a polished DR suite, you’ll be disappointed. But ZFS replication is reliable as hell, and the scripting part isn’t hard once you map out the steps. I’d rather spend an afternoon writing a failover script than pay for SRM licensing on a homelab. Keep it simple: replicate to a second Proxmox node, test with a clone, and script the cutover. That covers 90% of what SRM does.

If your hypervisor keeps rebooting during all this, check the watchdog — Proxmox Hypervisor Restarts itself — check logs and watchdog first.

Nguyen

I write two things here: notes from a homelab that mostly runs Proxmox, and essays in Vietnamese about a country I left. The technical posts are whatever broke that week, written down so it costs you less time than it cost me.

All posts →

Leave a comment

Comments are reviewed before they appear. Your email is never published.