Pacemaker用制御コマンド​​「crm」​とは

Pacemakerの制御に利用できる設定ツール「​​crm」について紹介します。

Pacemakerとは

Pacemakerは、一連のマシン間で関連する「サービス起動」と「サービス復旧」をコントロールするためのクラスタソフトウェアです。

Pacemakerの概要については、こちらも参照ください。

→クラスタ構成ソフトウェア「Pacemaker」と「Heartbeat」「Corosync」の関係性

​​crm​コマンド​とは

概要​​

crmとはPacemakerのクラスタ設定/管理を行うコマンドツールで、シェル「crmsh(The CRM Shell)」で動作します。

「pcs」の前身

制御コマンドの変遷

Pacemakerでは、もともと「crm」コマンドが使用されていましたが、Pacemaker(Ver1.1)から「pcs」コマンドが採用されました。

「pcs」とは

「pcs(Pacemaker Configuration Tool)」は、Pacemaker/Corosync構成ツールです。

コマンドラインインターフェースによるpacemaker/corosyncの制御や設定が可能で、ユーザーはPacemakerベースのクラスタについて作成/表示/変更などを行えます。

→Pacemaker用GUI(web)ツール「pcs(pcsd)」

「crm」コマンドのメリット

crmは、長い間利用されてきたため、DRBD+Pacemaker+Heartbeatに関する技術資料などにcrmコマンドを用いたノウハウが数多くあります。

以前から利用していたユーザーにとっては、crmのほうが使いやすいと感じるケースが多いようです。

特徴​

pcsに対するcrmの特徴として、以下のポイントが挙げられます。

操作モードを把握しやすい

crmコマンドでは「crm」と入力するとコマンド入力モードになり、コマンドプロンプトが「crm(live)#」に変わります。また、「configure」と入力すると設定モードとなり、コマンドプロンプトが「crm(live)configure#」に変わります。

このように、コマンドプロンプト表示で現在の操作モードを容易に確認できるため、コマンド操作ミスを減らせるメリットがあります。

設定ファイルを読み込める

crmコマンドでは、あらかじめ用意しておいた設定項目記述ファイルを読み込ませることでも設定できます。

複数リソースを読み込んでまとめて設定することも可能です。

編集/修正が簡単

設定済項目の修正も比較的簡単に行えます。

「crm configure edit」コマンドで直接編集モードになり、Vi/Vimエディタと同じように編集を行えます。

特に、Pacemakerの設定値を変更する機会が多い構築段階やテスト段階においては、効率的に作業できます。

主な機能

crmコマンドにより、以下の操作を行えます。

ステータス確認

・設定状態表示
・動作状況確認

リソース設定

・リソース設定をファイルから読み込み
・リソース設定を消去

リソース操作

・リソース停止(フェイルオーバー ありorなし)
・リソース復旧

ノード操作

・スタンバイ状態に切り替え
・オンライン状態に切り替え

動作制御

・障害状態クリア

まとめ

​設定ツール類を利用することで、Pacemakerでのクラスタ環境に関する管理工数を低減できます。

弊社にご連絡をいただければ、運用担当者の方にとっても管理が行いやすいように、実際の運用面までを考慮したHAクラスタ環境構築についてのご提案も行えます。

まずは、お気軽にお問い合わせください。​

→お問い合わせ

 

参考元サイト

Pacemaker用GUI(web)ツール「pcs(pcsd)」

Pacemaker+Corosyncでクラスタ構成を構築する場合に利用できる設定ツール「pcs(pcsd)」について紹介します。

「Pacemaker」とは

Pacemakerは、一連のマシン間で関連する「サービス起動」と「サービス復旧」をコントロールするためのクラスタソフトウェアです。

Pacemakerは多くの異なるリソースタイプを理解し、それらの間の関係を正確にモデル化できます。Dockerなどのテクノロジーを使用して、クラスタによって管理されているリソースを自動的に分離することもできます。

Pacemakerの概要については、こちらも参照ください。
→クラスタ構成ソフトウェア「Pacemaker」と「Heartbeat」「Corosync」の関係性

「pcs(pcsd)」とは

Pacemaker/Corosync構成ツール「pcs」

「PCS(Pacemaker Configuration Tool)」は、Pacemaker/Corosync構成ツールです。

コマンドラインインターフェースによるpacemaker/corosyncの制御や設定が可能で、ユーザーはPacemakerベースのクラスタについて作成/表示/変更などを行えます。

「pcs」は旧来の「crmsh」に代わるPacemakerクラスタ管理ツールであり、RHEL/CentOS7においては「pcs」の使用が推奨されています。

pcsデーモン「pcsd」

pcsには、pcsデーモン「pcsd」が含まれており、pcsのリモートサーバとして動作し、Web UIを提供します。

pcsdはPacemaker/corosyncとは独立したサービスであり、このデーモンが起動していない状態では、クラスタ構成に使用するpcsコマンドが使用できません。

Web UIへのアクセス

Web UIにアクセスするためには、クラスタに接続可能なブラウザで、pcsdが起動中のどちからのノードの2224ポートにhttps接続します。

ログインするとpcsdのGUI(web)画面が表示され、クラスタ構成/操作などを行えます。

「pcs(pcsd)」のインストール方法

インストール手順

pcs(pcsd)のインストールの前に、関連プロダクトのインストールが必要です。

手順については、こちらのドキュメントを参照ください。
→GitHub →ClusterLabs/pcs(Pacemaker command line interface and GUI)

パッケージ

「pcs(pcsd)」は、主要Linuxディストリビューション(Fedora/Red Hat Enterprise Linux/Debianなど)にパッケージとして組み込まれています。

「pcs(pcsd)」の主な機能

主な機能

・pcsバージョン確認
・クラスタノード認証
・クラスタ作成
・クラスタ起動
・クラスタ停止
・クラスタ状態取得
・クラスタ設定取得
・特定ノードをスタンバイモードに移行
・特定ノードをスタンバイモードから復帰
・特定リソースの手動フェールオーバー
・特定リソースのフェールオーバー履歴の削除
・手動でのフェンシング(STONITH機能によるサーバ再起動) など

主なコマンド

cluster

クラスタオプションおよびノードの設定を行います。

resource

クラスタリソースの作成と管理を行います。

stonith

フェンスデバイスを設定します。

constraint

リソース制約を管理します。

property

Pacemakerのプロパティを設定します。

status

現在のクラスタとリソースの状態を表示します。

config

ユーザーが読みやすい形式でクラスターの全設定を表示します。

まとめ

設定ツール類を利用することで、Pacemaker+Corosyncでのクラスタ環境に関する管理工数を低減化できます。

弊社にご連絡をいただければ、実際の運用面までを考慮したHAクラスタ環境構築についてのご提案も行えます。まずは、お気軽にお問い合わせください。

→お問い合わせ

 

参考元サイト

クラスタ構成ソフトウェア「Pacemaker」と「Heartbeat」「Corosync」の関係性

HAクラスタソフト「Pacemaker」と、その関連プロダクトである「Heartbeat」「Corosync」の関連性について紹介します。

HAクラスタソフト「Pacemaker」とは

概要

Pacemakerはオープンソースソフトウェア(OSS)として開発されている、HAクラスタソフト(リソースマネージャクラスタ)です。

Linux-HA Japanプロジェクトが日本国内向けに維持管理/支援などを行っています。

主な特徴

・マシン/アプリケーションレベルの障害検出と回復
・任意の冗長構成サポート
・複数マシン障害に対応
・複数マシンでアクティブにする必要があるアプリケーションをサポート
・複数モードアプリケーション(マスター/スレーブ)をサポート など

オフィシャルサイト

→ClusterLabs →Pacemaker

システムノード状態監視ミドルウェア「Heartbeat」とは

概要

Heartbeatは、システムノード状態監視ミドルウェアです。

システム障害を検出した場合にバックアップシステムに切り替えてサービスを継続させるための機能を提供します。

「システム障害を発生させにくくする」ことに加えて、「仮に障害が発生した場合でもサービス停止時間をより短くする」ことを目的としています。

主な機能

Heartbeatは以下の機能を提供します。
・クラスタノード間でのメッセージ交換
・ハードウェアの監視/制御 など

Pacemaker連携

「Pacemaker」と組み合わせて利用することで、リソースの状態まで監視を行うHA(High Availability)クラスタを構築できます。

利用非推奨

「Heartbeat」と「Corosync」は排他的関係になっているため、「Heartbeat+Pacemaker」あるいは「Corosync+Pacemaker」の組み合わせのどちらかを選択する必要があります。

「Heartbeat Ver3.0.6」以降、クラスタリングシステム構築において、Heartbeatは推奨されなくなっており、今後機能強化が行われることがないメンテナンスモードになっています。

Heartbeatの代わりとして、後継となる「Corosync」の使用が推奨されています。

クラスタ通信層制御「Corosync」とは

概要

Corosyncは、HAクラスタ構成の中でクラスタ通信層制御を担当するクラスタ基盤ソフトウェアです。

「Heartbeat」の後継として、クラスタ通信フレームワークを提供し、クラスタ構成サーバ間でノードの死活監視を行います。

主な特徴

・仮想同期保証を備えた閉鎖プロセスグループ通信モデル(複製された状態マシンを作成)
・シンプルアベイラビリティマネージャ(アプリケーションプロセスが失敗した場合にアプリケーションプロセスを再起動)
・構成および統計インメモリデータベース(情報の変更通知を設定/取得/受信) など

Pacemaker連携

Corosyncは高可用性フレームワークとして使用されています。

「Corosync」はクラスタ通信層制御機能を持ちますが、リソース監視/制御機能を持っていません。そのため、リソース監視/制御機能「Pacemaker」と連携させて、クラスタシステムを構成します。

「Corosync」がノード死活監視を行い、ノードがダウンした場合には「Pacemaker」でリソース制御(ノード切り離し+待機系ノードへのリソース引継ぎ)が実行されます。

オフィシャルサイト

→Corosync(The Corosync Cluster Engine)

まとめ

ご紹介したように、「Pacemaker」+「Corosync」を組み合わせることで高機能なHAクラスタ環境を構成できます。

弊社では、DRBDとPacemakerなどを利用したシステム冗長化構成「LINBITクラスタスタック」を提供しています。
→LINBITクラスタスタック(DRBD、Heartbeat、Pacemaker、およびリソースエージェント)を使ったシステムの冗長化

弊社にご連絡をいただければ、さまざまなHAクラスタ環境構築についてのご提案も行えます。まずは、お気軽にお問い合わせください。
→お問い合わせ

 

参考元サイト

「Pacemaker」+「Booth」を利用したクラスタシステム構築

Pacemakerの「Boothアドオン」について紹介します。Boothを利用することで、より信頼性の高い遠隔地マルチクラスタ環境を構築できます。

「Pacemaker」とは

「Pacemaker」(旧名:Heartbeat)とは、オープンソースソフトウェアとして開発されているHAクラスタソフトです。

Pacemakerは、複数のコンピュータをネットワークで接続連携させ、故障を検知したら他のコンピュータに処理を移動させる「フェイルオーバー」などを行うことで高可用性を実現します。

Linux-HAも採用しており、信頼性が高く、高い評価を得ているクラスタソフトウェアです。

Pacemakerの「Boothアドオン」とは

概要

Pacemakerのチケット管理概念

Pacemakerには、チケットの授与/取り消しを行うコンポーネントとして「CTR(Cluster Ticket Registry)」という概念があります。

1つのサイトにチケットを付与することで、リソース実行権限を与える仕組みです。

「Booth」とは

CTRを実現するために、別途アドオンとして用意されている実装プログラムが「Booth」です。

Boothを利用することで、地理的に分散した場所にあるクラスタサイトに対するチケット管理を実行でき、地理的に離れているHAクラスタ環境でのクラスタリングサポートが容易となり、自動フェイルオーバーが可能になります。

BoothによりWAN環境もサポート可能に

PacemakerはLAN環境が前提

Pacemakerは、基本的に、LAN環境上で使用することが前提になっており、WAN環境などの遠距離での使用は想定されていません。

BoothによりWAN環境にも対応

Boothによるチケット管理機能で上記の制約に対処できるようになり、WAN環境にも対応できます。

「スプリットブレイン問題」とは

「スプリットブレイン」とは、クラスタが複数のサイトにまたがる場合、サイト間のネットワーク接続障害などにより「別サイトのノードは正常に機能しているか?」について判断できなくなる状態です。

スプリットブレインは、高可用性サービスを提供する場合の大きな障害となります。

Boothアービトレータ(調停役)によるチケット管理の自動化

Boothを利用しない場合

「サイトA(アクティブ)」+「サイトB(スタンバイ)」で構成されているマルチサイトクラスタにおいて障害が発生した場合、「どちらのサイトが生き残っているのか?」の判断は人間が行う必要があります。

Boothを利用する場合

「サイトA(アクティブ)」+「サイトB(スタンバイ)」に加えて、「アービトレータ(調停役)」というもう1つのサイトを増設する必要があります。

サイトAに障害が発生した場合、アービトレータは、サイトBをアクティブ化可能であることを確認し、サイトBにチケットを付与し、サイトBをアクティブにすることで、サービスを継続させます。

Boothのアービトレータ(調停役)により、人間の判断なしで、チケット管理を自動化でき、遠隔地マルチサイト環境での自動フェイルオーバーが可能になります。

まとめ

クラスタソリューション「Pacemaker」+チケット管理アドオン「Booth」により、Pacemaker単体よりも、より信頼性の高いクラスタ環境を構築できます。

弊社にご連絡をいただければ、「Pacemaker」+「Booth」+「各種オープンソース製品」を組み合わせたHAクラスタ環境構築についてのご提案も行えます。まずは、お気軽にお問い合わせください。

→お問い合わせ

 

参考元サイト

HAクラスタソフト「Pacemaker」の環境別インストール

HAクラスタソフト「Pacemaker」の環境別インストール方法について紹介します。

「Pacemaker」とは

概要

「Pacemaker」(旧名:Heartbeat)とは、オープンソースソフトウェアとして開発されているHAクラスタソフトです。

Pacemakerは、複数のコンピュータをネットワークで接続連携させ、故障を検知したら他のコンピュータに処理を移動させる「フェイルオーバー」などを行うことで高可用性を実現します。

Linux-HAも採用しており、信頼性が高く、高い評価を得ているクラスタソフトです。

主な機能

Pacemakerは、クラスタ化に必要な各種機能を備えています。
・アプリケーション監視(制御)機能
・ネットワーク監視(制御)機能
・ノード監視機能
・自己監視機能
・ディスク監視(制御)機能

「Pacemaker」の環境別インストール

「Pacemaker」のインストール方法について紹介します。

「LINUX-HA JAPAN」サイト インストールドキュメント

概要

「LINUX-HA JAPANサイト」の「ダウンロード&インストール」ページで、Pacemakerのインストール方法について紹介されています。

Pacemakerの以下の2系統別に、「リソース設定方法例」などが紹介されています。
・Pacemaker-1.1 (Pacemaker-1.1系+Corosync 2系)
・Pacemaker-1.0 (Pacemaker-1.0系+Heartbeat 2系)

「Pacemakerリポジトリパッケージの旧バージョン」や「有志で作成された独自リソースエージェントやSTONITHプラグイン」のダウンロードも行えます。

ページリンク

→LINUX-HA JAPAN →ダウンロード&インストール

CentOSへのインストール

概要

「Pacemaker(Linux-HA Japanプロジェクト版)」を「CentOS 6」にインストールする方法が紹介されています。

「リポジトリ入手→インストール→設定→起動→動作確認」までの手順について解説されています。

設定ファイルについて「各設定の意味」についてもまとめられており参考にできます。

また、動作確認部分では、「片系のみ起動した状態」と「両系が起動した状態」の2パターンで確認する方法がまとめられています。

環境情報

・OS=「CentOS release 6.7」
・Kernel=「Linux version 2.6.32-573.8.1.el6.x86_64」
・Pacemaker=「pacemaker-1.0.13-2.1.el6.x86_64」

解説内容

・公式サイトよりリポジトリのパッケージを入手
・インストール
・設定ファイルの作成
・起動

ページリンク

→Online External Strage →Pacemaker インストール手順(CentOS6 + Pacemaker1.0)

AWSへのインストール

概要

「AWS EC2(AmazonLinux) + Pacemaker + Corosync」で、「VIP(仮想IP)を使ったActive/Standby構成を組む方法」について解説されています。

環境情報

・AMI=「amzn-ami-hvm-2014.09.2.x86_64-ebs (ami-18869819)」
・Pacemaker=「pacemaker-1.1.12」
・Corosync=「corosync-2.3.4」

解説内容

・今回の検証イメージ
・構築例
・corosyncとpacemakerとpcsのインストール
・設定
・起動
・動作確認
・検証を終えて

ページリンク

→ADN LAB’S BLOG →AWSでPacemaker & Corosync

まとめ

Pacemakerのインストールについては、今回紹介したように手順通りに行えば比較的簡単にインストールが可能で、クラスタ環境を構成できます。

しかし、商用レベルとして利用する場合には、さまざまな要件により、高度な各種設定が必要になる場合があります。

弊社にご連絡をいただければ、「Pacemaker」と「各種オープンソース製品」を組み合わせたHAクラスタ環境構築についてのご提案も行えます。まずは、お気軽にお問い合わせください。

→お問い合わせ