5

I'm reading about HA techniques in virtualization but all solutions I see work more or less just like more specialized VRRP - when host gets down, VM is booted up on another virtualization host. If storage is shared (eg. iSCSI) then "the same" VM can be booted so to guest OS it looks like kind of power failure. But if there is some important data residing in RAM (for example in-memory database) then it's still lost.

It would be possible though to create snapshot of running VM with some interval (unfortunately it takes plenty of time to create such snapshot so it can't really be done every lets say 10 seconds). Then another virtualization host could load such snapshot and continue running VM "without interruption" (plus minus interval time).

So my question is - are there any solutions automatically "mirroring" VMs in such way that after virtualization host failure VM can be "resumed" on another host without noticeable interruption? Literally like RAID1 of VMs. Mirror that is fully synced on RAM level.

Lapsio
  • 363
  • 1
  • 5
  • 15

5 Answers5

6

1) Deploy a VMware vSphere cluster and use Fault Tolerance https://www.vmware.com/files/pdf/techpaper/VMware-vSphere6-FT-arch-perf.pdf feature on your virtual machines (as already mentioned above).

2) Deploy a XenServer cluster and use Remus https://wiki.xenproject.org/wiki/Remus.

Net Runner
  • 6,169
  • 12
  • 34
4

Servers shouldn't "just fail" in the manner you're describing. Most people do not worry about this.

However, this is a use case for VMware Fault Tolerance (FT).

This will do what you're asking for.

If asynchronous replication is desired with a small delay (like 10 seconds), then a solution like Zerto would be apt.

ewwhite
  • 197,159
  • 92
  • 443
  • 809
  • Does Zerto actually save the memory state as well? Last I checked, they were only sending the changed disk bits over to the DR site – dyasny May 23 '17 at 00:58
  • Oh, Zerto is just crash-consistent or application-consistent, depending on the VM. This is what most organizations use for DR with low RPT/RTO. VMware FT isn't widely used. – ewwhite May 23 '17 at 03:39
4

There are some solutions that can failover VMs without any downtime. At least I know about HPE VSA and Starwinds. They have free versions as well, so you can look at those.

However, I don't know exactly about the first one, ain't tested it by myself yet. About second one - there's an option where you can assign an amount of RAM on the HA device, and this RAM also is replicated on another node. And The VMs failover without reboot. Tested that with Hyper-V cluster.

Strepsils
  • 5,000
  • 10
  • 14
  • HPE VSA and Starwind VSAN seem related to software-define storage - while the OP specifically ask about active memory (RAM) state synchronization – shodanshok Jun 06 '17 at 18:17
0

Unfortunately no, there is no way how to do it and you really don't need it at all. Even in-memory databases can make mirroring and HA on application level, there is no need for memory mirroring in this way. Just start multiple instances of your in-memory database and let mirroring begin! It is fault tolerant and you can even make any upgrades and maintenance without outage.

Ondra Sniper Flidr
  • 2,653
  • 12
  • 18
-1

Unfortunately, the answer is no, at least for commercial/enterprise-grade hypervisors.

Ok, I stand corrected: I never used/read about Xen+Remus, and it seems quite interesting.

I know about VMWare FT, but it has such great limitations that I automatically discarded it. Fortunately, some of these restrictions were lifted with the last VMWare release. However, in network or I/O bond scenario the raw performance impact would be simply too great to tolerate.

Anyway, from what I can read, both are based on the concept of checkpoint: basically, the underlying VM is continuously live-migrated. True RAM lockstep/mirroring is way more expensive: some years ago, a project based around Qemu/KVM tried this very same thing - and it was abandoned due to the enormous performance degradation it commanded.

shodanshok
  • 47,711
  • 7
  • 111
  • 180
  • 2
    And the people who invented KVM pretty much did a RAM lockstep over WAN for Xen before creating KVM. Wasn't very useful due to network latencies and overheads, but a cool little demo to show folks 10 years ago – dyasny May 23 '17 at 00:59
  • Xen is a commercial & enterprise-grade hypervisor, biggest pubic cloud AWS is run on a custom version of Xen. – BaronSamedi1958 Jun 06 '17 at 13:57