Most of the documentation listed here was generated from the Pacemaker sources.

Where to Start

If you're new to Pacemaker or clustering in general, the best place to start is Clusters from Scratch, which walks you step-by-step through the installation and configuration of a high-availability cluster with Pacemaker. It even makes common configuration mistakes so that it can demonstrate how to fix them.

On the other hand, if you're looking for an exhaustive reference of all of Pacemaker's options and features, try Pacemaker Explained. It's dry, but should have the answers you're looking for.

There is also a project wiki with examples, how-to guides, and other information that doesn't make it into the manuals.

Unversioned documentation

Command-line tools

man(1) pages [html]

General Concepts (somewhat outdated)

Configuring Fencing with crmsh [html]
$title \n"; $desc = file_get_contents("$base/desc-$version.txt"); if (!empty($desc)) { echo "

$desc

\n"; } $build = file_get_contents("$base/build-$version.txt"); if (!empty($build)) { echo "

$build

\n"; } } function sphinx_docs_for_version($base, $version) { echo "
\n"; doc_version_heading($base, $version); /* poor choice of name for style ... */ echo " \n"; foreach (glob("$base/$version/*") as $filename) { $book = basename($filename); $formats = glob("$base/$version/$book/*"); if (!empty($formats)) { echo " \n"; echo " \n"; echo " \n"; echo " \n"; } } echo "
" . str_replace("_", " ", $book) . ""; foreach ($formats as $format) { $format_name = basename($format); if (strncmp($format_name, "build-", 6) !== 0) { if ($format_name == "pdf") { $link = "$format/$book.pdf"; } else { $link = "$format/"; } echo " [" . $format_name . "]"; } } echo "
\n"; echo "
\n"; } function publican_docs_for_version($base, $version, $langs) { echo "
\n"; doc_version_heading($base, $version); $books = array(); foreach (glob("$base/en-US/Pacemaker/$version/pdf/*") as $filename) { $books[] = basename($filename); } echo ''; foreach ($books as $b) { foreach ($langs as $lang) { if (glob("$base/$lang/Pacemaker/$version/pdf/$b/*-$lang.pdf")) { echo '"; echo '"; } } } echo "
'.str_replace("_", " ", $b)." ($lang)'; foreach (glob("$base/$lang/Pacemaker/$version/epub/$b/*.epub") as $filename) { echo " [epub]"; } foreach (glob("$base/$lang/Pacemaker/$version/pdf/$b/*.pdf") as $filename) { echo " [pdf]"; } foreach (glob("$base/$lang/Pacemaker/$version/html/$b/index.html") as $filename) { echo " [html]"; } foreach (glob("$base/$lang/Pacemaker/$version/html-single/$b/index.html") as $filename) { echo " [html-single]"; } foreach (glob("$base/$lang/Pacemaker/$version/txt/$b/*.txt") as $filename) { echo " [txt]"; } echo "
"; echo "
"; } echo "
\n

Versioned documentation

\n
"; $langs = array(); // for now, show only US English; other translations haven't been maintained $langs[] = "en-US"; foreach (get_versions("./[0-9]*.*") as $v) { sphinx_docs_for_version(".", $v); } echo "
\n

Deprecated documentation

\n
"; foreach(get_versions("deprecated/*/Pacemaker/*") as $v) { $langs = array(); foreach (glob("deprecated/*/Pacemaker/$v") as $item) { $langs[] = basename(dirname(dirname($item))); } publican_docs_for_version("deprecated", $v, $langs); } ?>