4 ms·
Here's my experience in building HA in Linux. There are two key pieces: storage replication and failure detection. Replication is so that there's a standby sy
by ww520 13y ago
Here's my experience in building HA in Linux. There are two key pieces: storage replication and failure detection. Replication is so that there's a standby system with the same persistent state ready to go, and failure detection, well, the whole point of HA is to ensure ongoing operation to continue in case of failure.
For storage replication, Linux has the excellent DRBD (http://www.drbd.org/ http://www.drbd.org/) software to replicate disk at the block device level. This is great because any kind of disk based systems can be supported, such as database server, mail server, file server, DNS server, etc.
For failure detection, Linux has the Linux HA Heartbeat (
http://www.linux-ha.org/wiki/Heartbeat http://www.linux-ha.org/wiki/Heartbeat). This would detect failure at machine level and ensure proper failover.
Within a machine, there are other tools to monitor process level failure and propagate the failure to Linux HA Heartbeat.
BTW, STONITH is a super simple way to avoid the partition problem.
- jvoorhis 13y agoMy a-ha moment for Linux HA + DRBD came when I realized you could use them to retrofit redundancy and failover onto just about any system. (Of course, this won't protect against your replicated filesystem becoming corrupted, and current versions of DRBD don't allow you to scale out.)
- contingencies 13y agoFirstly, heartbeat is out of date. Secondly, stonith is not super simple. You need redundant network paths on each node to achieve it. Similarly, you need loads of testing.