Does high-availability VM for Mac OS X exist?

I seek rock-stable, production-worthy virtual machines capability with macOS.

I'm relatively a noob when it comes to VMs. High availability clusters are all the rage, and I can see why. I took over as the sysadmin for an SMB and we have 7 Mac Mini's in the machine room; each one running one thing, each obviously underutilized, and each without redundancy.

If I ran Win services, a good strategy would be to deploy up to 7 instances on a pair of servers in a high availability configuration, active/passive failover, etc., correct? And until Apple changes their mind, that's an impossibility in OS X Land?


Solution 1:

Yes, high-availability for macOS definitely exists.

As on Windows, you cannot just push some magical button and have any computer with whatever generic software suddenly run in a HA system, being it active/passive or active/active.

The way to setup a HA system depends on the services you want the system to offer. Is it a highly available network storage system you require? - is it a highly available build server? is it a highly available rendering system?

In some cases it is not optimal to use virtual machines at all, but rather use software running bare-metal to implement the highly available services.

In other cases, you can use VMs to have an easier way to implement for example an active/passive fail-over style high availability. This usually comes with some draw backs, but they are the same here as in an Windows environment.

One of the simplest setups here is to have the virtual machine disk itself be stored on a storage system shared by a pair of Mac Minis (or more). The storage system itself needs to be highly available as well. You would then replicate the configuration of the virtual machine between the two Mac Minis, implement a heart beat system and have the passive computer automatically take over when the heart beat stops. Typically this is a type of STONITH, which can be implemented in multiple ways.

A well known industry implementation of such a simple system is the VMware vSphere HA system, where you basically run ESXi on the Mac Minis and use vSphere with vSphere HA to do monitoring and automatic failover. The shared storage system can be implemented in many different ways (although most have drawbacks).

Solution 2:

We run esxi Bare Metal Hypervisor on Intel Macs, ARM, Dell and other consumer and server grade hardware. All are exceptionally stable, documented and supported.

If you are not into owning the hardware or wish to co-locate it, MacStadium is the long time vendor of choice for virtualization.

These are all a decade old (except Kubernetes and ARM esxi), so you should check it out... also, don’t waste any time on HA software or features initially. Sprinkle that on last of and only if you really, really need it.