What VM replication or cloning mechanism is most suitable for remote sites each running two ESXi hosts with local storage, with the goal of protecting the site from a single host failure?
- Existing license: vSphere Standard for Retail and Branch Offices (no DR or HA included).
- 15+ remote sites, each with two ESXi hosts. Each ESXi host runs a unique set of VMs.
- Each host has local storage only. No shared storage is used.
- The objective is to protect sites from single host failures by regularly (once a day) replicating all VMs across hosts within each site. If one of the hosts goes down or loses VMs (e.g. if its internal storage get corrupted), the other host would be able to bring those VM clones (replicas) up.
- All sites and ESXis are managed with a single central vCenter instance.
What I imagine (being fairly new to VMware) is something like this:
- Clone all VMs from one host to the other (and the other way around), replacing previous clones, every night at 3am.
- (The "replacing previous clones" part is a fairly important as the hosts have limited storage, and are unlikely to accommodate more than one clone of each VM from the other side.)
- Should one of the hosts fail, powering up the clones can (and should) be done manually, as some reconfiguration will be needed. I.e. there is no requirement for the time being for the cloned VMs to be powered up automatically should the original ones fail.
- The mechanism has the added benefit of snapshot-like short-term data backup: should data loss occur within one of the VMs (e.g. due to human error), that data can be restored from the clone of the VM made the previous night. (Snapshots are generally better for this purpose, of course - I am just describing one of the considerations.)
- If this cloning can be done differentially, i.e. by updating the changed data only in the previously made clone - that would be awesome.
Can this be done exactly like described above using any of the vSphere built-in services like DR or HA? (If not exactly like described above, what's the next best option?)
If not, can something like this be scripted fairly easily, especially the "replace existing clones during cloning" part?
Thanks!