Cardano ♥ High AvailabilityApril 5th, 2019
If you want your Cardano stake pool operating 24-hours a day, 7-days a week, 365+ days a year, then you need high availability, failover setup.
We are going to set up a simple two-node install if the primary node fails the second node takes over automatically. Note, never use clustering software, as two signing nodes, with the same key, operating simultaneously, constitute as an attack on the network!
High Availability Software
One quick, not necessarily accurate way of evaluating software is to see what packages it requires to run on your base install. A base install has just the software needed to serve your application, all other software installed on the server is for enhancements, firewall, backup, and failover in our case are strengthening our servers uptime.
$ sudo apt-get install heartbeat The following NEW packages will be installed: cluster-glue corosync fence-agents freeipmi-common gawk heartbeat ipmitool iproute libcfg6 libcib4 libcmap4 libcorosync-common4 libcpg4 libcrmcluster4 libcrmcommon3 libcrmservice3 libesmtp6 libfreeipmi16 libheartbeat2 liblrm2 liblrmd1 libnet-telnet-perl libnet1 libopenhpi3 libopenipmi0 libpci3 libpe-rules2 libpe-status10 libpengine10 libpils2 libplumb2 libplumbgpl2 libqb0 libquorum5 libsnmp-base libsnmp30 libstatgrab10 libstonith1 libstonithd2 libtimedate-perl libtotem-pg5 libtransitioner2 libvotequorum8 libxml2-utils openhpid openipmi pacemaker pacemaker-cli-utils
sudo apt-get install keepalived The following NEW packages will be installed: ipvsadm keepalived libnl-genl-3-200 libpci3 libsnmp-base libsnmp30
The logic behind doing this less is more, are fewer dependencies means less can go wrong and less to maintain. I have never been let down by comparing dependencies like this when I do not have a preference, all things being equal.
Keepalived is the clear winner here and would have been my choice even if this was not the case, especially for simple, bulletproof, high availability, two node installs, like this.
Stay tuned, we are finalizing our install, waiting for Shelley test net, and will update this post as soon as we can.
Until then set up two nodes and install Keepalived on both and experiment a little, you won't be disappointed.