Pacemaker command line interface and GUI
Latest commit 76ca779 Nov 19, 2018

README.md

PCS - Pacemaker/Corosync Configuration System

Pcs is a Corosync and Pacemaker configuration tool. It permits users to easily view, modify and create Pacemaker based clusters. Pcs contains pcsd, a pcs daemon, which operates as a remote server for pcs and provides a web UI.


Pcs Versions

There are two pcs branches currently:

  • master Build Status
    • This is where pcs-0.10 lives.
    • Clusters running Pacemaker 2.x on top of Corosync 3.x are supported.
    • The main development happens here.
  • pcs-0.9 Build Status
    • Clusters running Pacemaker 1.x on top of Corosync 2.x or Corosync 1.x with CMAN are supported.
    • This branch is in maintenance mode - bugs are being fixed but only a subset of new features lands here.

Dependencies

These are the runtime dependencies of pcs and pcsd:

  • python 3.6+
  • python3-lxml
  • python3-pycurl
  • python3-setuptools
  • python3-pyOpenSSL (python3-openssl)
  • python3-tornado
  • ruby 2.2.0+
  • killall (package psmisc)
  • openssl
  • corosync 3.x
  • pacemaker 2.x

It is also recommended to have these:

  • python3-clufter
  • liberation fonts (package liberation-sans-fonts or fonts-liberation or fonts-liberation2)
  • overpass fonts (package overpass-fonts)

Installation from Source

Apart from the dependencies listed above, these are also required for installation:

  • python development files (package python3-devel)
  • ruby development files (package ruby-devel)
  • rubygems
  • rubygem bundler (package rubygem-bundler or ruby-bundler or bundler)
  • gcc
  • gcc-c++
  • FFI development files (package libffi-devel or libffi-dev)
  • fontconfig
  • printf (package coreutils)
  • redhat-rpm-config (if you are using Fedora)
  • wget (to download bundled libraries)

During the installation, all required rubygems are automatically downloaded and compiled.

To install pcs and pcsd run the following in terminal:

# tar -xzvf pcs-0.10.1.tar.gz
# cd pcs-0.10.1
# make install
# make install_pcsd

If you are using GNU/Linux with systemd, it is now time to:

# systemctl daemon-reload

Start pcsd and make it start on boot:

# systemctl start pcsd
# systemctl enable pcsd

Packages

Currently this is built into Fedora, RHEL and its clones and Debian and its derivates.


Quick Start

  • Authenticate cluster nodes

    Set the same password for the hacluster user on all nodes.

    # passwd hacluster

    To authenticate the nodes, run the following command on one of the nodes (replacing node1, node2, node3 with a list of nodes in your future cluster). Specify all your cluster nodes in the command. Make sure pcsd is running on all nodes.

    # pcs host auth node1 node2 node3 -u hacluster
  • Create a cluster

    To create a cluster run the following command on one node (replacing cluster_name with a name of your cluster and node1, node2, node3 with a list of nodes in the cluster). --start and --enable will start your cluster and configure the nodes to start the cluster on boot respectively.

    # pcs cluster setup cluster_name node1 node2 node3 --start --enable
  • Check the cluster status

    After a few moments the cluster should startup and you can get the status of the cluster.

    # pcs status
  • Add cluster resources

    After this you can add stonith agents and resources:

    # pcs -h stonith create

    and

    # pcs -h resource create

Accessing the Web UI

Apart from command line interface you can use web user interface to view and configure your cluster. To access the web UI open a browser to the following URL (replace nodename with an address of your node):

https://nodename:2224

Login as the hacluster user.


Further Documentation

ClusterLabs website is an excellent place to learn more about Pacemaker clusters.


Inquiries

If you have any bug reports or feature requests please feel free to open a github issue on the pcs project.

Alternatively you can use ClusterLabs users mailinglist which is also a great place to ask Pacemaker clusters related questions.