Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/ClusterLabs/pcs
Pacemaker command line interface and GUI
https://github.com/ClusterLabs/pcs
Last synced: 3 months ago
JSON representation
Pacemaker command line interface and GUI
- Host: GitHub
- URL: https://github.com/ClusterLabs/pcs
- Owner: ClusterLabs
- License: gpl-2.0
- Created: 2011-10-31T20:18:21.000Z (about 13 years ago)
- Default Branch: main
- Last Pushed: 2024-05-21T07:36:20.000Z (6 months ago)
- Last Synced: 2024-05-22T08:27:57.435Z (6 months ago)
- Language: Python
- Homepage:
- Size: 25.3 MB
- Stars: 246
- Watchers: 31
- Forks: 114
- Open Issues: 34
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Contributing: CONTRIBUTING.md
- License: COPYING
- Codeowners: .github/CODEOWNERS
- Security: SECURITY.md
Awesome Lists containing this project
README
## 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.---
### Pcs Branches
* main
* This is where pcs-0.12 lives.
* Clusters running Pacemaker 3.x on top of Corosync 3.x are supported.
* The main development happens here.
* pcs-0.11
* Clusters running Pacemaker 2.1 on top of Corosync 3.x are supported.
* This branch is in maintenance mode - bugs are being fixed but only a subset
of new features lands here.
* pcs-0.10
* Clusters running Pacemaker 2.0 on top of Corosync 3.x are supported.
* Pacemaker 2.1 is supported, if it is compiled with `--enable-compat-2.0`
option.
* This branch is no longer maintained.
* pcs-0.9
* Clusters running Pacemaker 1.x on top of Corosync 2.x or Corosync 1.x with
CMAN are supported.
* This branch is no longer maintained.---
### Dependencies
These are the runtime dependencies of pcs and pcsd:
* python 3.12+
* python3-cryptography
* python3-dateutil 2.7.0+
* python3-lxml
* python3-pycurl
* python3-setuptools
* python3-setuptools\_scm
* python3-pyparsing
* python3-tornado 6.1.0+
* [dacite](https://github.com/konradhalas/dacite)
* ruby 3.3.0+
* killall (package psmisc)
* corosync 3.x
* pacemaker 3.x---
### Installation from Source
Apart from the dependencies listed above, these are also required for
installation:* python development files (packages python3-devel, python3-setuptools,
python3-setuptools\_scm, python3-wheel)
* ruby development files (package ruby-devel)
* rubygems
* rubygem bundler (package rubygem-bundler or ruby-bundler or bundler)
* autoconf, automake
* gcc
* gcc-c++
* FFI development files (package libffi-devel or libffi-dev)
* 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:
```shell
./autogen.sh
./configure
# alternatively './configure --enable-local-build' can be used to also download
# missing dependencies
make
make install
```If you are using GNU/Linux with systemd, it is now time to:
```shell
systemctl daemon-reload
```Start pcsd and make it start on boot:
```shell
systemctl start pcsd
systemctl enable pcsd
```---
### Packages
Currently this is built into Fedora, RHEL, CentOS and Debian and its
derivates. It is likely that other Linux distributions also contain pcs
packages.
* [Fedora package git repositories](https://src.fedoraproject.org/rpms/pcs)
* [Current Fedora .spec](https://src.fedoraproject.org/rpms/pcs/blob/rawhide/f/pcs.spec)
* [Debian-HA project home page](https://wiki.debian.org/Debian-HA)---
### Quick Start
* **Authenticate cluster nodes**
Set the same password for the `hacluster` user on all nodes.
```shell
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.
```shell
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.
```shell
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.
```shell
pcs status
```* **Add cluster resources**
After this you can add stonith agents and resources:
```shell
pcs stonith create --help
```
and
```shell
pcs resource create --help
```---
### Further Documentation
[ClusterLabs website](https://clusterlabs.org) is an excellent place to learn
more about Pacemaker clusters.
* [ClusterLabs quick start](https://clusterlabs.org/quickstart.html)
* [Clusters from Scratch](https://clusterlabs.org/pacemaker/doc/2.1/Clusters_from_Scratch/html/)
* [ClusterLabs documentation page](https://clusterlabs.org/pacemaker/doc/)---
### 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](https://lists.clusterlabs.org/mailman/listinfo/users)
which is also a great place to ask Pacemaker clusters related questions.