Skip to main content

Michael Schmidt Michael Schmidt

VMware Site Recovery Manager Replacement: Who Orchestrates Failover Without vCenter

Sep 14, 2026  |  18 min read

Last edited: Oct 14, 2026

VMware Site Recovery Manager Replacement: Who Orchestrates Failover Without vCenter

The question arrives late in most exit projects, usually from somebody who was not in the room for the platform decision. We have the migration plan, we have the storage plan, and we have a recovery plan that runs twice a year and has an auditor attached to it. What replaces Site Recovery Manager?

It is a harder question than it sounds, and the reason is a detail that gets lost because the product was so well integrated. Site Recovery Manager, renamed VMware® Live Site Recovery under Broadcom, never replicated anything. It moved no bytes of its own. It was an orchestrator with a console, and everything it orchestrated it did by calling somebody else: vSphere Replication for host-based per-VM copies, or the array, through a storage replication adapter, for array-based replication of whole consistency groups.

So the thing that disappears when vCenter leaves is not a console. It is a contract, between an orchestrator and a storage system, that had a certification programme behind it and a well-understood set of verbs. And a contract with two parties needs two owners once the party that defined it is gone.

We have written the suite-level answers already. What replaces vSphere HA, DRS and Fault Tolerance covers availability translation, and Day 2 storage operations after the VMware exit covers snapshots, replication and observability as a group. Both touch this subject in passing and neither takes it apart. This article is the narrower one: the storage side of the orchestration contract, what it was actually promising, and which parts of it you get back for free.

What Site Recovery Manager actually owned

Strip the interface away and the product held four things, none of which were data.

The first was the protection group: the set of things that fail over together. In an array-based configuration this was not a list of VMs, it was a list of replicated devices, because the array was replicating at the LUN or consistency-group level and the group was the smallest unit it could promote atomically. The second was the recovery plan: dependency order, boot sequencing, IP re-addressing at the recovery site, callouts and pauses, and the scripts that ran between steps. The third was the test recovery, which brought the protected workloads up at the recovery site on an isolated network, let you prove the plan, and then discarded the result without ever interrupting replication. The fourth was reprotect, the operation that reversed the direction of the relationship after a failover so that the recovery site became the protected one.

Underneath all four sat the storage replication adapter. The adapter was a per-array plug-in that implemented a fixed vocabulary: discover the arrays that are paired, discover which devices are replicated and in which direction, prepare a failover, execute it, create a writable test copy without breaking the ongoing replication, and reverse the relationship. That vocabulary is worth reading twice, because it is a complete specification of what a storage system has to do to participate in orchestrated disaster recovery, written by somebody who had to make it work across dozens of arrays.

The important structural point is that the orchestrator and the storage system were separate products with a defined interface between them, and the interface was the valuable part. Most estates never saw the seam, because one vendor sold the orchestration, the array vendor certified against it, and the whole thing arrived as a single operational surface. Take the orchestrator out and the seam is all that is left.

After vCenter, the contract has two halves

Both halves still exist after the exit. They just no longer live in the same place, and neither of them ships under a product category called disaster recovery.

The storage half answers four questions: which volumes travel together, how often a recovery point is taken, which site currently serves each volume, and who is allowed to say go. That half belongs to the storage layer, and it is the half that a storage product can genuinely own end to end.

The platform half answers the rest: what starts before what, what network identity a workload has at the recovery site, what validates that the thing came up correctly, and what a human is expected to do while it happens. In a Kubernetes estate that half is manifests, an operator, or a runbook. It is not storage, and a storage vendor that implies otherwise is selling you the easy half and calling it the whole thing.

Here is where each construct lands.

Site Recovery Manager constructWhere it lands after vCenterWho owns itExposure if nobody does
Protection group, the set that fails over togetherA replication policy that volumes are enrolled into, plus group-scoped snapshots where one instant mattersStorage layerVolumes fail over individually and the recovery point differs per volume
Recovery plan, dependency order and boot sequencingDeclarative manifests applied at the recovery site, with an operator or pipeline enforcing orderPlatform team, in GitEverything starts at once and the dependent tier restarts until the tier below it is ready
IP customisation and re-addressingService discovery and cluster networking at the recovery sitePlatform teamWorkloads come up healthy and unreachable
Test recovery into an isolated networkAssembled from a clone of a replicated snapshot in an isolated namespaceShared, and nobody by defaultThe plan is never rehearsed, which is the same as not having one
Reprotect, reversing direction after failoverAn explicit failback operation that reverses replication and commitsStorage layerThe estate runs indefinitely from the recovery site with no protection

Table 1: The four things Site Recovery Manager owned, where each one goes after the hypervisor leaves, and what it costs you to leave the row unassigned.

Diagram showing Site Recovery Manager as one console owning protection groups, recovery plans, test failover and array promotion on the left, the contract splitting into a storage half and a platform half in the centre, and where each half is owned after the exit on the right
Figure 1: The orchestrator and the array were two parties to one contract. After vCenter, both halves still exist and each one needs a named owner.

In simplyblock the storage half is a small set of declared objects rather than a console, and it is worth being concrete because the shape maps closely onto the adapter vocabulary. A replication pair names the source cluster and the target cluster and provisions the relationship between them. A replication policy hangs off that pair and carries the cadence, the retention, and whether the target is a read-only standby for failover or the destination of a planned cutover. A volume is enrolled by naming the policy in an annotation, either on a single PersistentVolumeClaim or on the StorageClass so that everything provisioned from it is protected. Each enrolled volume then has its own slot holding the live state, the direction, and the timestamp of its last replicated snapshot, which is the closest thing to the adapter’s device discovery call.

Failover is a one-shot request, scoped to a single volume, to every volume on a policy, or to every volume replicating to a target cluster, and failback is the same mechanism in reverse. The scopes matter here more than they look: policy scope is the protection group, and it is what lets you move a service rather than a disk.

One design decision in that list deserves calling out, because teams arriving from a product with a big red button sometimes read it as a missing feature. Failover is never triggered automatically. That is deliberate, and the reasoning is the same reasoning that makes split-brain hard: cluster state on its own cannot distinguish a lost site from a transient network problem, and a storage layer that guesses wrong promotes a stale copy while the original is still taking writes. The decision to fail over a site is a human decision with a business consequence attached, and the honest engineering answer is to make it explicit rather than clever. Automatically restarting a workload on another node is a different problem with a different answer.

Rebuilding a recovery plan that used to live in a Site Recovery Manager console? If you have an audited failover procedure and an exit deadline in the same year, the storage half of it is worth designing before the migration rather than after the first failed drill. Talk to a storage architect

Consistency groups do not translate for free

This is the part that catches people, and it catches them late, which is the worst time.

In the array-based model the consistency group was not an organisational convenience. It was a guarantee about write ordering. A database with data on one device, write-ahead log on a second and index on a third is only recoverable if the three are captured at one instant relative to each other. Put them in one consistency group and the array promised exactly that. Put them in three groups and the promise is gone, even though every individual device replicated perfectly.

Kubernetes does not give you this by default. A VolumeSnapshot captures one persistent volume, and a replication schedule takes its recovery points per volume on its own interval. Group everything under one policy and the failover request covers the whole group, which is genuinely useful, but group scope and group consistency are two different properties. Scope answers “what moves together.” Consistency answers “do the copies represent the same moment.” You can have the first without the second, and a recovery plan built on the first alone will restore a database whose log is a few seconds ahead of its data files.

There are three levels here and they are worth naming separately, because the cost and the mechanism differ at each one.

LevelWhat it guaranteesHow you get itWhen you actually need it
Per-volume crash consistencyEach volume is individually recoverable, like a clean power lossAny volume snapshot, taken per volumeSingle-volume workloads, and anything that reconstructs its own state on start
Group crash consistencyOne write-order-consistent instant across several volumesA group snapshot taken across the set, not several snapshots taken quicklyMulti-volume databases, and any VM whose disks reference each other
Application consistencyThe application has flushed and quiesced before the captureApplication hooks or a freeze, layered on top of a group snapshotAnything with an in-memory write buffer you cannot afford to replay

Table 2: Three levels of consistency, the mechanism that delivers each one, and the workloads that make the next level up worth its cost.

The middle row is the one that used to arrive with the array and now has to be asked for. In Kubernetes the mechanism is VolumeGroupSnapshot, which exists precisely to capture one coherent moment across a set of claims, and we have written about how to define protection boundaries with it by business service rather than by convenience. The practical instruction for a recovery plan is short: work out which of your services live on more than one volume, and check that each of those sets is one group rather than several volumes that happen to share a schedule. On the top row, application consistency is not a storage feature at all and never was, which is why application-consistent backups are a separate discipline with database-specific hooks.

Do not extend this into a replication-factor argument while you are here. How many local copies a volume keeps is a different decision, made for a different reason, and the double replication tax on database storage works through it properly.

The rehearsal is the feature you have to assemble

Ask a team that has run Site Recovery Manager for five years which part of it they valued and the answer is rarely the failover. It is the test. A non-disruptive recovery test, into a bubble network, on the real replicated data, discarded afterwards, with replication never interrupted, is what turned a documented procedure into an audited capability. It is also the single hardest part to replace, and it is worth saying plainly that there is no equivalent one-button operation waiting for you on the other side.

In simplyblock the two operations are failover and failback. There is no test-failover verb, and pretending otherwise would be the kind of claim that fails at the worst moment. What does exist are the primitives it is built from. The target cluster holds an incremental chain of replicated snapshots rather than a single opaque mirror, and a clone is a writable, independent copy created from a snapshot without copying the data. That is the shape of a rehearsal: clone the most recent replicated snapshot at the recovery site, bring the workload up from the clone in a namespace whose networking cannot reach production, run the validation you would run for real, then delete the clone. The replication relationship is untouched throughout because nothing was promoted.

That gets you the storage half of the rehearsal. The other half, the part the recovery plan used to hold, is the order things start in and the identity they have when they do, and nobody inherits that automatically. If your dependency order exists only as institutional memory held by two people, the migration is the moment it has to become a manifest, a pipeline, or at minimum a written runbook with a date on it. This is the same conclusion that storage disaster recovery on Red Hat® OpenShift® reaches from the platform side, and DR volume workflows reaches from the volume side. For the rehearsal itself, step by step, with the verification gate and rollback for each stage, see disaster recovery testing after the vSphere exit.

Two more honest notes before you plan around any of this.

Failback is not free of disruption. It runs in two phases for a good reason: the bulk of the delta accumulated at the recovery site is transferred while that site is still serving traffic, and only the remainder is transferred during a short freeze at the commit. That keeps the freeze small, but it is still a freeze, and production failbacks want a maintenance window rather than optimism. And if the original site is genuinely gone rather than temporarily down, what you are doing is not a failback at all. It is a new replication relationship to a new cluster, seeded from scratch, and it should be planned with the timeline of a full copy rather than the timeline of a delta.

What simplyblock brings to the storage half beyond the mechanics is mostly about not narrowing your options while a multi-year exit is still running. The same product runs hyperconverged, with storage and compute on the same nodes, or with the two separated so each scales on its own axis, and that is a deployment choice rather than a purchase you have to get right on day one. It does not pick your platform: the same storage layer serves KubeVirt, OpenShift Virtualization, and bare-metal Kubernetes, which matters more than usual in a DR design because the recovery site is frequently the place where an estate is standardising on the new platform first. And enrolment being an annotation on a StorageClass means protection tiers are expressed the same way every other storage property is expressed, so a workload’s recovery posture is a property of the class it asks for rather than a ticket somebody files.

The takeaway is smaller than a product recommendation. Open your existing recovery plan, find the steps that the orchestrator was performing on your behalf, and put a name next to each one. Most of them have a good answer. The two that usually do not are the group boundary and the rehearsal, and both are much cheaper to fix now, on a whiteboard, than during the first drill after the console is gone.

Questions and Answers

What replaces VMware Site Recovery Manager after a migration to Kubernetes?

Two things, because Site Recovery Manager was two things. The replication and promotion half belongs in the storage layer: a replication relationship between two clusters, a policy that sets the cadence and the retention, volumes enrolled into that policy, and an explicit failover request that promotes every volume in scope at the recovery site. With simplyblock that is a small set of declared resources rather than a console, and failback reverses the same relationship. The orchestration half, meaning dependency order, boot sequencing, network identity and validation, becomes declarative configuration held in Git and applied at the recovery site, enforced by an operator or a pipeline. Do not look for a single product that replaces both halves. Look for a clear owner for each, and write both into the same recovery document.

Does simplyblock support consistency groups like an array-based SRM configuration did?

Partly, and the distinction matters enough to be precise about. A replication policy is the group for the purposes of failover: every volume enrolled in a policy can be failed over or failed back in one request, which is the protection-group behaviour you want. What a policy does not on its own guarantee is that the recovery points across those volumes represent a single write-ordered instant, because replication takes its snapshots per volume on the policy interval. Where a service spans several volumes and the ordering between them matters, use a group snapshot across that set so the capture is one coherent moment, and layer application quiescing on top if the workload buffers writes in memory. Identify the multi-volume services in your estate first, then check each one is a group rather than a coincidence of schedule.

How do we run a non-disruptive DR test without Site Recovery Manager’s test failover?

Build it from a clone rather than from a promotion. The recovery site holds an incremental chain of replicated snapshots, and a clone is a writable independent copy created from a snapshot without copying data, so cloning the latest replicated snapshot gives you real production data to test against while the replication relationship continues untouched. Bring the workload up from that clone in an isolated namespace whose networking cannot reach production, run your validation, then delete the clone. There is no single test-failover operation in simplyblock, so this is assembled rather than bought, and it should be scripted and scheduled like any other drill. Rehearse the order and the network identity at the same time, since that is the half the old recovery plan was holding for you.

Is failover automatic, and should it be?

It is not automatic in simplyblock, and that is a design decision rather than a gap. Cluster state alone cannot tell a lost site from a transient network partition, and a layer that guesses wrong promotes a stale copy at the recovery site while the original is still accepting writes, which is a worse outcome than a few minutes of downtime. Site failover is requested explicitly, scoped to one volume, one policy, or every volume replicating to a target cluster. Automatic recovery is the right answer one level down, where a workload restarting on a healthy node after a node failure needs no human at all, and that is a separate mechanism from site failover. Keep the two apart in your design and in your runbook.

What RPO should we expect after replacing vSphere Replication?

Minutes, set by the replication interval you choose, plus any lag when the interval cannot keep up with the write rate. Asynchronous replication between clusters transfers snapshots on a schedule, so the data written since the last successful transfer is not present at the recovery site after a failover, and the gap is at least one interval. Shortening the interval shrinks the gap and raises the transfer load, which is the same trade vSphere Replication asked you to make. If a workload genuinely cannot lose minutes, asynchronous replication is the wrong tool for that tier and you want synchronous writes across two sites instead, which is a different architecture with a latency cost on every write. Two-site synchronous storage after the VMware exit covers when that cost is worth paying.

You may also like:

KVM vs VMware: Architecture, Cost Model, and the Exit Question
KVM vs VMware: Architecture, Cost Model, and the Exit Question

KVM and VMware ESXi solve the same problem with opposite models: an open hypervisor inside the Linux kernel versus a proprietary integrated suite. How they differ in architecture, operations, and cost, and what a migration involves.

KubeVirt vs VMware – When to Use Each Tool
KubeVirt vs VMware – When to Use Each Tool

KubeVirt vs VMware helps you see how each handles VMs, workloads, and hybrid environments in modern infrastructure setups.

KubeCon + CloudNativeCon NA 2024: Your Salt Lake City Guide
KubeCon + CloudNativeCon NA 2024: Your Salt Lake City Guide

In preparation for KubeCon + CloudNativeCon, we at simplyblock figured it was essential to create a guide beyond the conference halls, highlighting the best spots to truly experience Salt Lake City.…