マジセミドライブ
ウェビナー関連のニュースやITサービス&ツールの最新情報を随時配信します。
OSS情報
2020.01.01
【OSS情報アーカイブ】Pacemaker


※当記事に記載されている情報は、古くなっている場合があります。オフィシャルサイトで最新情報をご確認ください。
コンテンツ
「Pacemaker」とは
「Pacemaker」基本情報
■概要
Pacemaker(ペースメーカー)とは、高度でスケーラブルな高可用性クラスタリソースマネージャです。
■「HAクラスタ」とは
HAクラスタとは
「HAクラスタ」とは高可用性を目的としたクラスタ構成を指し、「HA(High Availability)クラスタ構成」や「冗長化構成」と呼ばれます。
HAクラスタの最大の目的は、一部で障害が発生してもシステムを止めずにサービスを継続させることにあります。
基本的に、アクティブサーバ(1台)+スタンバイサーバ(1台以上)で構成され、アクティブサーバに障害が発生した場合に、その障害を即座に探知して、スタンバイサーバに処理を移行させてシステム全体のサービスを継続します。
HAクラスタに必要な機能
HAクラスタには、主に「リソース制御機能」と「クラスタ制御機能」の2つの機能が必要です。
「リソース制御機能」は、各種サービス(仮想IP、Apache、MySQLなど)をリソースとして扱い、「リソース動作監視」「リソース起動」「リソース停止」などを行います。またフェイルオーバー機能を持ちます。
「クラスタ制御機能」とは、ノード(サーバなど)の死活監視を行い、ノード間の通信/管理、システム全体処理に関連するHAクラスタの土台機能を提供します。
■基本説明
Pacemakerとは、高可用性(HA:High Availability)を実現するオープンソースのHAクラスタリングソフトウェアです。
小規模から大規模までのクラスタに対応できる「リソース制御機能」を提供します。
■主要開発元
PacemakerはClusterLabsによって配布されています。
■経緯
Pacemakerは、もともとLinux-HAプロジェクトが開発を行っていたHAクラスタリングソフトウェア「Heartbeat」の一部機能でした。
2007年に、他のクラスタソフトウェアとも協調して動作できるようにHeartbeatから切り離され、独自のプロジェクトとして分割されました。
■オフィシャルサイト情報
オフィシャルサイト
ライセンス情報
Pacemakerのライセンスは「GNU General Public License(version 2 or later)」です。
詳細について、こちらを参照ください。
→GitHub →ClusterLabs/pacemaker →COPYING
ダウンロード
→GitHub →ClusterLabs/pacemaker
→GitHub →ClusterLabs/pacemaker →How to Install Pacemaker
導入事例
Pacemakerは主要Linuxディストリビューションに同梱されています。
航空交通管制システムが常に利用可能であることを保証する「Deutsche Flugsicherung GmbH(DFS)」を含む多くの重要な環境に展開されています。
リソース制御機能「Pacemaker」+クラスタ制御機能「Corosync」
■「Pacemaker」はリソース制御機能を提供
「Pacemaker」はクラスタ上で動作する各種リソース(サービス、IPアドレス、データアクセスなど)の配置を調整して最適化するリソース制御機能を提供します。
しかし、Pacemakerはリソース制御機能しか持たないため、HAクラスタを構築するためには、「ノード管理機能」や「ノード間通信機能」などのクラスタ基盤となる「クラスタ制御機能」を提供するソフトウェアと組み合わせて利用する必要があります。
Pacemakerと組み合わせて利用するクラスタ制御ソフトウェアとしては「Corosync」の使用が推奨されています。
■クラスタ制御ソフトウェア「Corosync」とは
Corosyncとは、高可用性クラスタ構成の中でクラスタ通信層制御を担当するオープンソースクラスタ基盤ソフトです。
クラスタ通信フレームワークを提供し、クラスタ構成サーバ間でノードの死活監視を行います。
→OSSxCloudNews →オープンソースのクラスタリング/Corosyncとは
■クラスタ制御ソフトウェア「Corosync」の主な特徴
仮想同期機能
クローズドプロセスグループ通信モデルによる仮想同期機能を提供します。
アベイラビリティマネージャ
障害発生時にアプリケーションプロセスを再起動するシンプルなアベイラビリティマネージャ機能を提供します。
クォーラムシステム
クォーラム(quorum)とは、「分散トランザクションが処理を実行するために必要な定足数」を意味し、分散システムにおいて処理の整合性をとるために実装されるものです。
■リソース制御機能「Pacemaker」+クラスタ制御機能「Corosync」
リソース制御機能「Pacemaker」とクラスタ制御機能「Corosync」を組み合わせることで、商用製品に匹敵するHAクラスタ構成を実現できます。
Corosyncによりクラスタに参加しているノードの識別と通信を行い、Pacemakerにより障害の検知や回復などの制御を行います。
Corosyncが提供するメッセージング機能とメンバーシップ機能を利用して、ノードレベルおよびリソースレベルの障害を検出して回復することで、クラスタサービスの最大の可用性を実現します。
Pacemakerは、冗長化構成を組んでいるシステムにおいて、本番稼動しているサーバで故障が発生しサービスが継続できなくなった際に、フェイルオーバー(待機系マシンへの自動切替え)を行い、サービス停止時間を可能な限り短縮します。
「Pacemaker」の主な特徴
「Pacemaker」の主な特徴
■依存関係モデル
Pacemakerには、管理者がクラスタリソース間の関係(順序付けと位置の両方)を正確に表現できるようにする強力な依存関係モデルが付属しており、スクリプト化できる事実上すべてのものをPacemakerクラスタの一部として管理できます。
■サポートクラスタ構成
Pacemakerでは、シンプルな2ノード構成のクラスタシステムから、最大約32ノードの大規模クラスタまで、多彩なHAクラスタに適応でき、分散システムクラスタとリソースドリブンクラスタの両方をサポートしています。
アプリケーションが稼働しているマシンに関係なく、アプリケーションの起動/シャットダウンの順序付けをサポートしているため、3ノード構成(2アクティブ+1スタンバイ)で故障した場合には、1ノードのスタンバイサーバで縮退運転するようにも構成できます。
・Active/Passive構成
・N+I構成
・N-TO-N構成
・SPLIT SITE など
→ClusterLabs →Wiki →ClusterTypes
■サポートインターフェース
Pacemakerは複数のユーザーインターフェースをサポートしています。
crmsh
crmshは、ClusterLabsプロジェクトの一部で、GNU/Linuxシステム上の高可用性クラスタ管理のためのコマンドラインインターフェースです。
crmshは、タブ補完機能とインラインドキュメントを備えた対話型シェルとしても、コマンドラインツールとしても機能します。ファイルからコマンドを実行するためにバッチモードで使用することもできます。
多彩な機能を提供することで、Pacemakerベースのクラスタの「構成」「管理」「トラブルシューティング」を簡素化します。
PCS
PCSはCorosyncとPacemakerの設定ツールです。
ユーザーはPacemakerベースクラスタについて簡単に「作成」「表示」「変更」できます。
LCMC
LCMCは、高可用性クラスタについて「構成」「管理」「視覚化」できるGUIアプリケーションです。
「Pacemaker」「Corosync」「Heartbeat」「DRBD」「KVM」「XEN」「LVM」などをサポートしています。
→LCMC(Linux Cluster Management Console by Rasto Levrinc)
Hawk
Hawk(HA Web Konsole)は、Pacemakerクラスタリソースマネージャによって管理される高可用性クラスタ用のWebインターフェースを提供しています。
「柔軟なREST API」と「クライアントフロントエンド」の両方の形で、HAクラスタへの完全な管理インターフェースの提供を目標としています。
→Hawk(High Availability Web Konsole)
「Pacemaker」の主な機能
「Pacemaker」の主な機能
■リソース制御機能
Pacemakerでは、クラスタシステムで提供するサービスをリソースという単位で管理し、リソースの状態をチェックしたり、サービスの起動や停止を行います。
リソースと依存関係を管理するための重要な機能を備えた「Nノード」クラスタをサポートし、「各リソースを稼働させるノードの優先順位」や「リソース起動順」などの設定に基づいて、どのリソースをどのノード上で動作させるのかを動的に管理し、マシンおよびアプリケーションレベルの障害検出と回復を実施します。
リソース管理
Pacemakerは、クラスタリソースマネージャとしてクラスタシステム内のリソースについて、リソースエージェント(監視対象スクリプト)で管理し、障害発生の場合にはリソースのフェイルオーバーを行います。
代表的なリソースには次のようなものがあります。
・ノード—サーバ類
・サービス—Webサーバ機能、メールサーバ機能
・仮想IPアドレス—クラスタシステムとして外部に見せる仮想的なIPアドレス割り当て
・ディスク
・ファイルシステム—ハードディスク上のファイルシステム領域
・ネットワーク など
■スプリットブレイン対応機能
Pacemakerは、スプリットブレイン(Heartbeat通信がすべて切断された状態)に対する対策機能を備えています。
・STONITH機能(強制電源断)
・sfex(共有ディスク排他制御)
・Quorum機能(ノード数に基づくリソース制御)
・VIPcheck(サービス用仮想IPアドレスに基づくリソース制御) など
■オフラインテスト機能
Pacemakerでは、あらゆる障害またはクラスタ状態に対応するためのオフラインテスト機能を利用できます。
さまざまな状態変化に対するクラスタの応答を事前にテストできます。
参考元サイト
- ClusterLabs →Pacemaker
- GitHub →ClusterLabs/pacemaker
- Wikipedia →Pacemaker (software)
- DesigNET →Pacemakerとは
- クラスタ.jp →OSSのクラスタ管理ソフト「Pacemaker」
※定期的にメンテナンスを実施しておりますが、一部情報が古い場合がございます。ご了承ください。
この記事のタグ一覧
フリーワード検索
カテゴリー一覧
アクセスランキング
- 🏆ランク1位🏆
【無料で使える】「 プロジェクト管理 」ツールまとめ - 🏆ランク2位🏆
【無料で使える】「 OCR 」ツールまとめ - 🏆ランク3位🏆
【OSS情報アーカイブ】SonarQube - 🏆ランク4位🏆
【無料で使える】「 翻訳 」ツールまとめ - 🏆ランク5位🏆
【無料で使える】「 ドキュメント管理 」ツールまとめ - 🏆ランク6位🏆
【無料で使える】「 RPA 」ツールまとめ - 🏆ランク7位🏆
【ツール紹介】無料で使えるオープンソース「 ヘルプデスク 管理ツール 」まとめ5選 - 🏆ランク8位🏆
【ChatGPT使ってみる実験室】 WordPress関数を作って記事リストを出力 - 🏆ランク9位🏆
【無料で使える】「 ファイアウォール 」ソフトウェアまとめ - 🏆ランク10位🏆
【ツール紹介】無料オープンソース「 ビデオ監視 ツール 」まとめ3選