I’m currently running HA on a Pi3… it works fine, but it’s now a single point of failure.
I have some new hardware arriving to run VMs in and was intending to move HA to it, but now I’m wondering if I can have HA in 2 places for fault tolerance.
I’m aware that there’s no built-in failover options, but has anyone done something similar?
You may wanna look at Kubernetes. It’s basically docker with failover.
Correct, OPs needs is describing what kubernetes was made for. Fault tolerant container orchestration. Or any other orchestration framework.
However it’s a best to learn and get set up. Migrating all of my containers over took a couple of months of learning and trial and error. Each person has to decide is that level of effort worth it in a home application
Ok, but that’s assuming >1 host can be managed that way… can I manage HA on the Pi3 as a backup to my new host with Kubernetes?
Edit: can Proxmox do this too?
You’ll need to learn a lot more about kubernetes to decide fully if you want to do it. I’m more or less telling you that yes there are ways to keep it highly available, but they’re going to be literally 10x if not more the amount of effort to spin up and probably maintain.
Proxmox has their own flavor of HA that is a lower level of virtualization. They’ll be able to failover a specific VM/CT to another node if one fails, but again pros and cons. The major annoyance for both is where do you put your data so 2 separate nodes can access it? Both k8s and proxmox have different approaches.
K8s and Proxmox operate at different levels. You can run k8s on Proxmox, and that’s what I’ve been (very slowly) building up to at home.
With Proxmox you can failover VMs between nodes as long as storage (including VM boot disk) is external to the nodes. This can be NFS on a NAS, iSCSI, Ceph or many other options.
It’s even possible to failover a USB device (e.g. a Zigbee controller or similar) by attaching one on each node and mapping them using Resource Mappings (search on the announcement post: https://www.proxmox.com/en/about/press-releases/proxmox-virtual-environment-8-0).
This can also be used if you’re deploying k8s on top of Proxmox just as well.