Step-by-step two node HA setup for Proxmox 5.0

Mateusz B

New Member
Oct 23, 2017
2
0
1
40
Hi

I know that's not officially supported, but I have no budget to spend on additional third server to provide HA

I want to prevent split-brain related problems with using bonded cross-connected (no switch between servers) network interfaces. I think that's well enough to prevent split-brain scenario due network connectivity problems. No ping from remote side will always mean problem with other server.

Does anyone have working setup example, how to get this running using latest Proxmox version?

I found some examples for older versions, but I'm not sure if they are still relevant in 5.0
 
It is not possible to have HA with 2 nodes.
see

That's not true and not applies to all kinds of systems. I've done multiple HA clusters with corosync or keepalived, all two node, all working OK and handling fail-overs gracefully, for many years. With bonded cross-conected NIC's I have never had any split-brain related problem

What's so unique with Proxmox that it absolutely require three nodes?
 
https://en.wikipedia.org/wiki/Byzantine_fault_tolerance
A Byzantine fault is any fault presenting different symptoms to different observers.[3] A Byzantine failure is the loss of a system service due to a Byzantine fault in systems that require consensus.[4]

The objective of Byzantine fault tolerance is to be able to defend against Byzantine failures, in which components of a system fail with symptoms that prevent some components of the system from reaching agreement among themselves, where such agreement is needed for the correct operation of the system. Correctly functioning components of a Byzantine fault tolerant system will be able to provide the system's service, assuming there are not too many faulty components.
In a two node setup, there are different views to the same failure.

For example, if a heartbeat is setup between two nodes and this heartbeat fails, which node is the working one and which isn't?

This usually leads to the "split brain" situation and that is why you need at least three views onto the same issue, so two parties can agree on a working state. That is where the Byzantine generals come into play. ;)

High availability needs even more attention, if resources are shared, for example especially storage, that is very often the case in a HA setup. While a two node cluser is possible, a majority vote needs to be established through different channels then.

https://en.wikipedia.org/wiki/High-availability_cluster
HA clusters usually use a heartbeat private network connection which is used to monitor the health and status of each node in the cluster. One subtle but serious condition all clustering software must be able to handle is split-brain, which occurs when all of the private links go down simultaneously, but the cluster nodes are still running. If that happens, each node in the cluster may mistakenly decide that every other node has gone down and attempt to start services that other nodes are still running. Having duplicate instances of services may cause data corruption on the shared storage.
 

About

The Proxmox community has been around for many years and offers help and support for Proxmox VE, Proxmox Backup Server, and Proxmox Mail Gateway.
We think our community is one of the best thanks to people like you!

Get your subscription!

The Proxmox team works very hard to make sure you are running the best software and getting stable updates and security enhancements, as well as quick enterprise support. Tens of thousands of happy customers have a Proxmox subscription. Get yours easily in our online shop.

Buy now!