A menos que eu esteja entendendo mal algo, este é um cenário muito comum e bem suportado no linux.
Atualmente, a melhor ferramenta para o trabalho é o Marcapasso . O Pacemaker fica no topo do Corosync e é executado em todos os nós do cluster. Ele envia mensagens de heartbeat e quando detecta que um nó falhou, ele migra todos os recursos desse nó e pode, opcionalmente, matar o nó (chamado de esgrima ).
Recursos são coisas como VIP ou banco de dados MySQL. Alguns recursos suportam modos mestre / escravo, nos quais, se o nó que estiver executando o mestre falhar, o marcapasso promoverá o escravo a dominar.
Os recursos são orientados por meio de scripts, portanto, se puder ser roteirizado, o marcapasso poderá suportá-lo. Há um grande número de recursos já criados, então você provavelmente não precisa fazer isso.
Ele também suporta o ordenamento para que, quando os recursos forem movidos, ele possa fazer coisas como garantir que o MySQL foi promovido a master antes de mover o VIP para que nenhum cliente se conecte a ele antes de estar pronto.