Você pode implementar a solução do seu próprio pobre homem, mas o que você está procurando é o gerenciamento de cluster (básico). Confira corosync e pulsação .
Se você decidir implementar sua própria solução, sugiro que não use o mesmo IP (nem mesmo depois de executar o ping do IP). Não é uma boa idéia considerar o cache ARP e a possível colisão de IP. Você pode querer usar o endereço de broadcast e deixar que os nodos decidam quem servirá com base em seu IP, votação ou outros meios.
Basicamente é isso que esses (e alguns outros) sistemas controlados por cluster fazem, então eu os usaria.