Create HA Cluster with SBD and Softdog

In this post we are going to create a high availability cluster, with simple fencing (stonith) functionality. All real clusters used in production, must be equipped with some kind of fencing devices.

SBD is a fencing mechanism that is based on the storage shared between  a number of nodes. The letters ‘SBD’ mean ‘storage-based death’.

Softdog is a watchdog mechanism based on purely software solutions, implemented in Linux kernel modules (so, no hardware is involved).

Continue reading “Create HA Cluster with SBD and Softdog”

Create Cluster Resources in Hawk

In this post I am going to show you how to create a new primitive resource in Hawk and add it to the High Availability cluster. As we remember from previous posts, adding and controlling resources are the most important part of managing HA clusters.

Hawk is a modern web application with very extensive and intuitive GUI. It makes managing resources very easy and user-friendly. To read more about Hawk, have a look at the previous post.

All the actions described in this post, could be also performed by using other tools, like CRM.

Continue reading “Create Cluster Resources in Hawk”

Hawk: Cluster Web Interface

Hawk is a modern web interface for the High Availability stack based on Pacemaker. It allows to manage and monitor HA clusters, both the cluster nodes and resources.

Hawk is an open source product. The official project website is and the source code an be found on GitHub. Hawk application is developed by ClusterLabs group.

Continue reading “Hawk: Cluster Web Interface”

Fencing aka Stonith

Fencing (called also Stonith) is one of the most important features of High Availability systems. Generally speaking, fencing is a situation when a cluster node is forced to move from an unknown state to a known state.

In my opinion, Fencing is so important that I decided to devote this whole post just to describe this phenomenon.

Continue reading “Fencing aka Stonith”

Managing Resources

Managing resources is the main task that has to be performed by High Availability clusters. The resources represent all types of elements that are controlled by a cluster, for example databases or web servers. So by managing the resources, HA clusters supervise all the objects which are really important in your application.

The responsibility for operations performed on resources lies on Pacemaker/CRM level of HA stack. This means that the resource functionalities are located above group communication system (provided by Corosync) and below the UI level (provided by high level applications, like Hawk).

Continue reading “Managing Resources”

Create a High Availability Cluster

In this post, we are going to create our first simple High Availability cluster. It will contain two nodes built on virtual machines. The cluster will be based on Pacemaker and Corosync, which will provide all necessary HA functionalities.

We will focus on setuping and configuring the two nodes and one simple resource. The resource will be of one of the most basic types that can be found in almost all HA clusters: a virtual IP address.

Continue reading “Create a High Availability Cluster”

CRM: Easy Way to Control the Cluster

The last tool we are going to present, before actually creating a simple HA cluster, is CRM. This is a very useful and quite powerful application that allows to manage Pacemaker-based High Availability clusters, by using text commands.

CRM is an open source Linux tool (written in Python) and can be found on GitHub. It has been developed since 2008. CRM is also known as crmsh.

Continue reading “CRM: Easy Way to Control the Cluster”

High Availability Summit After-Thoughts

High Availability Summit 2017, which I mentioned a few posts earlier, finished last month in Nuremberg. Now, when the conference dust settled down, it is time to summarize the event and to look at it from a wider perspective.

In this post I would like to present you the major outcomes of the conference.

Continue reading “High Availability Summit After-Thoughts”

Pacemaker: Making the Clusters Highly Available

In the previous post we saw Corosync application, which connects multiple machines into one group of computers, called a cluster. A cluster is required to create a truly HA system.

However, the cluster alone is not useful at all. We need some services which the cluster is going to provide for users and which we would like to make highly available. Pacemaker application, which we are going to present in this post, is used exactly for that: for making sure that services located in the cluster will be maintained and provided to users without any interruptions.

Continue reading “Pacemaker: Making the Clusters Highly Available”

Corosync: the Cornerstone of HA

In this post, I am going to present you a Corosync application which is a cornerstone of High Availability clusters. I described the idea of clusters used in HA in one of the previous posts, now let us see how to connect a number of machines into a cluster.

Corosync is a powerful, open source application that provides group communication between multiple machines. It implements the complete messaging system, with many many additional useful features.  Corosync is the base used by other High Availability tools, including Pacemaker.

Continue reading “Corosync: the Cornerstone of HA”