第10章 DRBDとRed Hat Cluster Suite

目次

Red Hat Cluster Suiteの基礎
OpenAISとCMAN
CCS
フェンシング
リソースグループマネージャ
Red Hat Cluster Suiteの構成
cluster.confファイル
RHCSフェイルオーバクラスタでDRBDを使用する
クラスタ構成の設定

この章では、DRBDをRed Hat Cluster Suite高可用性クラスタのためのレプリケートされたストレージとして使用する方法を説明します。

[注記]注記

ここでは、主にRed Hat Enterprise Linux (RHEL 5)のRed Hat Cluster Suiteについて取り上げます。RHEL の他のバージョンでDRBDを設定する場合は、 構成の細部やセマンティクスが異なる可能性があります。

Red Hat Cluster Suiteの基礎

OpenAISとCMAN

SAF (Service Availability Forum )は、 高可用性インタフェース定義とソフトウェア仕様の開発を目的とする業界コンソーシアムです。AIS (Application Interface Specification)はこうした仕様の1つで、OpenAISはRed Hatの従業員を中心とするチームが維持管理するオープンソースAIS実装です。OpenAISはRed Hat Cluster Suiteの主要なクラスタ通信インフラストラクチャとして機能します。

特に、Red Hat Cluster SuiteはTotemグループ通信アルゴリズムを利用して、信頼性の高いクラスタメンバ間のグループメッセージングを実現しています。

Red Hat Enterprise Linux (RHEL)バージョン5のRed Hat Cluster Suiteでは、OpenAISの上位にcmanという簡易な抽象インタフェースレイヤが追加されました。cmanはRHEL 4の互換レイヤとしても機能します。この場合、cmanはOpenAISを利用することを除き、同じように動作します。

CCS

Cluster Configuration System (CCS) と関連するデーモンccsdはクラスタ構成を管理し、更新します。管理アプリケーションはCCSライブラリを利用して、クラスタ構成項目に対してクエリーと更新を実行します。

フェンシング

Red Hat Cluster Suiteは本来は共有ストレージクラスタを主な対象として設計されたもので、ノードフェンシングによって共有リソースへの非協調的な同時アクセスを回避します。Red Hat Cluster Suiteのフェンシングインフラストラクチャは、フェンシングデーモン fencedとシェルスクリプトとして実装されるフェンシングエージェントに依存しています。

DRBDベースのクラスタは共有ストレージリソースを利用しないため、DRBDとしては厳密にはフェンシングは必要ありません。 ただし、Red Hat Cluster SuiteはDRBDベースの構成の場合でもフェンシングを必要とします。

リソースグループマネージャ

リソースグループマネージャ(rgmanagerまたはclurgmgr)はheartbeatのクラスタリソースマネージャと似ています。これは、クラスタ管理スイートと管理対象アプリケーションとの間の主要なインタフェースとして機能します。

Red Hat Cluster Suiteリソース

Red Hat Cluster Suiteでは、高可用化したい個々のアプリケーション、ファイルシステム、IP アドレスなどをリソースと呼びます。

たとえばNFSエクスポートがマウントされたファイルシステムに依存するように、リソースは相互に依存しています。リソースは別のリソース内に入れ子になって、リソースツリーを構成します。入れ子の内部のリソースが、入れ子の外部のリソースからパラメータを継承する場合もあります。heartbeatにはリソースツリーという概念はありません。

Red Hat Cluster Suiteサービス

相互に依存するリソースの集合をサービスと呼びます。heartbeat ではこのような集合を リソースグループと呼んでいます。

rgmanagerリソースエージェント

rgmanagerにより呼び出されるリソースエージェントは、heartbeat CRMで使用されるものと同様に、Open Cluster Framework (OCF)で定義された同じシェルベースのAPIを使用しますが、heartbeatの場合は、このフレームワークでは定義されていない一部の拡張機能も利用します。このように理論的には、Red Hat Cluster Suiteとheartbeatのリソースエージェントはおおむね互換性がありますが、実際にはこの2つのクラスタ管理スイートは似たようなタスクや同一のタスクに異なるリソースエージェントを使用します。

Red Hat Cluster Suiteのリソースエージェントは /usr/share/clusterディレクトリにインストールされます。オールインワン型のheartbeat OCFリソースエージェントとは異なり、一部のRHCSリソースエージェントは、実際のシェルコードを含む .sh ファイルとXML形式のリソースエージェントメタデータを含む.metadata ファイルに分割されています。

DRBDは、バージョン8.3からRed Hat Cluster Suite用のリソースエージェントも提供しています。これは、通常どおりのディレクトリに drbd.sh および drbd.metadataとしてインストールされます。