マジセミドライブ

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

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

 

参考元サイト

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

この記事のタグ一覧

おすすめの記事

経営活動に活用できる 原価管理 を実現するには? 〜製造業の現実的な課題に向き合い、現場視点から改善する原価管理手法の必達プロセスをご紹介〜

ウェビナーまとめ

2024.05.15

経営活動に活用できる 原価管理 を実現するには? 〜製造業の現実的な課題に向き合い、現場視点から改善する原価管理手法の必達プロセスをご紹介〜

2024年3月12日に三菱電機ITソリューションズ株式会社とアットストリームパートナーズ合同会社の共催で、組立加工製造業向けのセミナー「なぜか高くなる原価を管理する 不確実性の時代を乗り切るためのコスト戦略とは」が開催されました。本セミナーでは、製造業における原価管理の現状と改善手法について深く掘り下げ、経営活動への具体的な活用方法を提示しました。今回は、その講演の要点をお伝えします。

【OSS情報】WebベースAPI開発スイート「 Hoppscotch 」🌐

OSS情報

2024.07.04

【OSS情報】WebベースAPI開発スイート「 Hoppscotch 」🌐

「 Hoppscotch 」は、オープンソースのAPI開発エコシステムで、使いやすさとアクセシビリティを重視した軽量なWebベースのスイートです。無料版と有料版があり、PostmanやInsomniaの代替として利用可能です。

【OSS情報】LLMトレーニング用ライブラリ「 GPT-NeoX 」📚

OSS情報

2024.07.18

【OSS情報】LLMトレーニング用ライブラリ「 GPT-NeoX 」📚

「 GPT-NeoX 」は、GPU上で大規模言語モデル(LLM)を効率的にトレーニングするためのライブラリです。NVIDIAのモデルを基に独自の最適化が加えられ、オートレグレッシブ言語モデルのトレーニング手法を集約しています。