マジセミドライブ

ウェビナー関連のニュースやITサービス&ツールの最新情報を随時配信します。

OSS情報

2020.01.01

【OSS情報アーカイブ】Pacemaker

【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によって配布されています。

https://clusterlabs.org/

■経緯

Pacemakerは、もともとLinux-HAプロジェクトが開発を行っていたHAクラスタリングソフトウェア「Heartbeat」の一部機能でした。

2007年に、他のクラスタソフトウェアとも協調して動作できるようにHeartbeatから切り離され、独自のプロジェクトとして分割されました。

■オフィシャルサイト情報

オフィシャルサイト

→ClusterLabs →Pacemaker

ライセンス情報

Pacemakerのライセンスは「GNU General Public License(version 2 or later)」です。

詳細について、こちらを参照ください。
→GitHub →ClusterLabs/pacemaker →COPYING

ダウンロード

→GitHub →ClusterLabs/pacemaker

→GitHub →ClusterLabs/pacemaker →How to Install Pacemaker

→ClusterLabs →Quickstart

導入事例

Pacemakerは主要Linuxディストリビューションに同梱されています。

航空交通管制システムが常に利用可能であることを保証する「Deutsche Flugsicherung GmbH(DFS)」を含む多くの重要な環境に展開されています。

リソース制御機能「Pacemaker」+クラスタ制御機能「Corosync」

■「Pacemaker」はリソース制御機能を提供

「Pacemaker」はクラスタ上で動作する各種リソース(サービス、IPアドレス、データアクセスなど)の配置を調整して最適化するリソース制御機能を提供します。

しかし、Pacemakerはリソース制御機能しか持たないため、HAクラスタを構築するためには、「ノード管理機能」や「ノード間通信機能」などのクラスタ基盤となる「クラスタ制御機能」を提供するソフトウェアと組み合わせて利用する必要があります。

Pacemakerと組み合わせて利用するクラスタ制御ソフトウェアとしては「Corosync」の使用が推奨されています。

■クラスタ制御ソフトウェア「Corosync」とは

Corosyncとは、高可用性クラスタ構成の中でクラスタ通信層制御を担当するオープンソースクラスタ基盤ソフトです。

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

→OSSxCloudNews →オープンソースのクラスタリング/Corosyncとは

→ClusterLabs →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ベースのクラスタの「構成」「管理」「トラブルシューティング」を簡素化します。

→GitHub →ClusterLabs/crmsh

PCS

PCSはCorosyncとPacemakerの設定ツールです。

ユーザーはPacemakerベースクラスタについて簡単に「作成」「表示」「変更」できます。

→GitHub →ClusterLabs/pcs

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では、あらゆる障害またはクラスタ状態に対応するためのオフラインテスト機能を利用できます。

さまざまな状態変化に対するクラスタの応答を事前にテストできます。

 

参考元サイト

※定期的にメンテナンスを実施しておりますが、一部情報が古い場合がございます。ご了承ください。

この記事のタグ一覧

おすすめの記事

【デジタル寺田の3分用語解説】「 経済産業省:コンテンツ制作のための 生成AI 利活用ガイドブック 」とは?📘

デジタル寺田の3分用語解説

2024.11.18

【デジタル寺田の3分用語解説】「 経済産業省:コンテンツ制作のための 生成AI 利活用ガイドブック 」とは?📘

経済産業省による「 生成AI 利活用ガイドブック 」は、企業やクリエイター向けに、安心して「生成AI」を利用するための、「指針」「実例」「注意点」を明示しています。「業務効率化」や「新しいアイデア創出」の支援を目的としています。

【デジタル寺田の3分用語解説】「 VMWare 問題 」とは?🖥️

デジタル寺田の3分用語解説

2024.11.18

【デジタル寺田の3分用語解説】「 VMWare 問題 」とは?🖥️

「 VMWare 」の仮想化技術は、「ITインフラの効率化」に大きく貢献する技術ですが、Broadcomによる買収後のライセンス変更が大きな問題として注目されています。柔軟で慎重な契約見直しが今後の鍵となります。

【デジタル寺田の3分用語解説】「 2029年問題 」とは?📅

デジタル寺田の3分用語解説

2024.11.18

【デジタル寺田の3分用語解説】「 2029年問題 」とは?📅

「 2029年問題 」とは、高校でのデジタル教育改革により、新入社員と既存社員間でデジタルスキル格差が拡大する懸念を指します。企業は早急に対応が求められています。この格差は、企業競争力や業務効率にも、影響を及ぼす可能性があります。