What I have:

  • 5 Raspberry PI running the same software software stack
  • each one has a priority (lower number is higher priority) index and monitors the other 4 via udp
  • One lan
  • all 5 pis ping the rest every minute
  • each pi has an arduino+ethernet shield connected to it
  • each arduino monitors the gpio ports of each pi and when no response is received for more than 3 checks a udp message is sent over the network
  • after 5 minutes of no gpio response, the arduino force resets the pi

What I want: * If the lowest priority PI fails, the second one should take it's place on the network and act as the server * when the first one is booted back it takes the next largest priority number

I assume there is something that does this already in the linux software stack, but I lack the name for it.

Thank you for your advice


1 Answer 1


If they are all web servers, you'd want to have one in front of the rest which controls which webservers clients hit as they would all have different IP addresses.

What you want is a high availability proxy - http://haproxy.1wt.eu/ In this configuration, you'd have 1 Pi as the HA proxy, and then 4 other Pis doing the web-serving. The HA Proxy will ping each one, and if one of them is down, it won't direct traffic to it.

  • In this case if the HA Proxy fails they will all fail. I will try with 2 HA Proxy and 3 to revolve requests, bu i am still getting lower number points of failure to bring down everything.
    – vlad b.
    Jun 25, 2013 at 6:48
  • Sounds good. HA Proxy configuration was just an example :)
    – Lawrence
    Jun 27, 2013 at 6:36

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.