(OCF)で定義されたシェルベースのAPIを使用しますが、Pacemakerはフレームワークで定義されていない拡張機能も利用します。SuiteとPacemakerのリソースエージェントはおおむね互換性がありますが、実際にはこの2つのクラスタ管理スイートは似たようなタスクや同一のタスクに異なるリソースエージェントを使用します。ディレクトリにインストールされます。ファイルに分割されています。Clusterリソースエージェントも提供しています。してインストールされています。Clusterを実行するために必要な設定手順の概要を説明します。呼ばれる)とフェンシングデバイスだけです。Hatのマニュアル]をご参照ください。次のような方法でクラスタ構成を管理できます。設定ファイルを直接編集するこれがもっとも簡単な方法です。テキストエディタ以外に必要なものはありません。GUIを使用するGladeを使用してPythonで記述したGUIアプリケーションです。Xディスプレイ(直接サーバコンソール上、またはSSH経由のトンネル)が必要です。luciを使用して、シンプルなWebブラウザでクラスタインフラストラクチャを構成することができます。Clusterフェイルオーバクラスタ用のDRBDの設定方法のみを取り上げます。(およびGFS2)の設定については、DRBDでGFSを使用するを参照してください。このセクションでは、DRBDとPacemakerクラスタの同様のセクションのように、高可用性MySQLデータベースを構成することを前提としています。次のような構成パラメータを使用します。/var/lib/mysql(デフォルトのMySQLデータディレクトリ)にマウントされる。専用クラスタIPアドレス192.168.42.1で待機する。ファイルを作成するか変更して、次の構成項目を記述します。適切なテキストエディタで開き、リソース設定で次の項目を記述します。</service></rm>この例ではボリュームリソースが1つの場合を前提にしています。Suiteでリソースの依存関係を記述する方法です。属性をインクリメントしてください。次のコマンドを実行して、実行中のクラスタ構成に変更内容をコミットします。新しいクラスタ設定のバージョン番号と置き換えてください。Webベースクラスタ管理インフラストラクチャの両方が、クラスタ設定に関する問題についてのメッセージを返します。これは、2つのアプリケーションが提供するPythonクラスタ管理ラッパーが、クラスタインフラストラクチャに他社製の拡張機能を使用することを前提としていないためです。Congaを使用することはお勧めできません。これらのツールは正しく機能するはずですが、クラスタの状態を監視するためにのみ使用してください。DRBDでのLVMの使用この章では、DRBDの管理とLVM2について説明します。次のような項目を取り上げます。LVM論理ボリュームをDRBDの下位デバイスとして使用する。DRBDデバイスをLVMの論理ボリュームとして使用する。DRBDを使用して階層構造のLVMを実装する。上記の用語についてよく知らない場合は、LVMの基礎を参照してください。ここで説明する内容にとどまらず、LVMについてさらに詳しく理解することをお勧めします。LVMの基礎LVM2は、Linuxデバイスマッパフレームワークでの論理ボリューム管理を実用化したものです。元々のLVMとは、名前以外は実際は何の共通点もありません。以前の実装(現在LVM1と呼ぶもの)は時代遅れとみなされているため、ここでは取り上げません。LVMを使用する際には、次に示す基本的なコンセプトを理解することが重要です。物理ボリューム)はLVMのみが管理配下とするブロックデバイスです。ハードディスク全体または個々のパーティションがPVになります。LVMで使用するのが一般的です。0x8E)を使用して、LVMが独占的に使用するパーティションを識別できます。これは必須ではありません。PVの初期化時にデバイスに書き込まれるシグネチャによってLVMがPVを認識します。ボリュームグループ)はLVMの基本的な管理単位です。VGは1つまたは複数のPVで構成されます。各VGは一意の名前を持ちます。実行時にPVを追加したり、PVを拡張して、VGを大きくすることができます。論理ボリューム)を作成することにより、カーネルの他の部分がこれらを通常のブロックデバイスとして使用できます。このように、LVはファイルシステムの格納をはじめ、ブロックデバイスと同様のさまざまな用途に使用できます。オンライン時にLVのサイズを変更したり、1つのPVから別のPVに移動したりすることができます(PVが同じVGに含まれる場合)。(SLV)スナップショットはLVの一時的なポイントインタイムコピーです。スナップショットはLVの一時的なポイントインタイムコピーです。元のLV(コピー元ボリューム)のサイズが数百GBの場合でも、スナップショットは一瞬で作成できます。通常、スナップショットは元のLVと比べてかなり小さい領域しか必要としません。DRBDの下位デバイスとして論理ボリュームを使用するLinuxでは、既存の論理ボリュームは単なるブロックデバイスであるため、これをDRBDの下位デバイスとして使用できます。この方法でLVを使用する場合は、通常通りにLVを作成してDRBD用に初期化するだけです。いうボリュームグループがすでに存在します。いうDRBDリソースを作成します。次のコマンドで論理ボリュームを作成します。createdこのコマンドはDRBDクラスタの両方のノードで実行する必要があります。いうブロックデバイスが作成されます。次に、新しく作成したボリュームをリソース設定に加えます。}}これでリソースを起動できます。手順はLVM対応以外のブロックデバイスと同様です。(不整合)の状態です。(修復できない)障害があった場合に困った状況になります。正常なデータを持つノードが死に、誤った情報を持つノードが残ってしまいます。LVM論理ボリュームをDRBDに渡す際には、同期の開始時に自動スナップショットを作成し、またこれを完了後に自動削除する方法によって、この問題を軽減することができます再同期中に自動でスナップショットをするには、リソース設定に以下の行を追加します。環境変数を解析します。スクリプトは、同期の開始前に、リソースが含んでいるボリュームのLVMスナップショットを作成します。スクリプトが必要のなくなったスナップショットを削除します。スナップショットの削除に失敗した場合、スナップショットは残り続けます。できる限り不要なスナップショットは確認するようにしてください。スナップショットが満杯だと、スナップショット自身と元のボリュームの障害の原因になります。DRBDリソースを物理ボリュームとして構成するDRBDリソースを物理ボリュームとして使用するためには、DRBDデバイスにPVのシグネチャを作成する必要があります。次のいずれかのコマンドを実行します。/dev/drbd/by-res/<resource>/0この例ではボリュームリソースが1つの場合を前提にしています。次に、LVMがPVシグネチャをスキャンするデバイスのリストにこのデバイスを加えます。いう名前のLVM設定ファイルを編集する必要があります。いうキーワードを含む行を見つけて編集します。オプションを編集します。]このフィルタ表現がDRBDデバイスで見つかったPVシグネチャを受け入れ、それ以外のすべてを拒否(無視)します。あるすべてのブロックデバイスのPVシグネチャをスキャンします。LVMのPVでスタックリソースを使用する場合は、より明示的にフィルタ構成を指定する必要があります。対応する下位レベルリソースや下位デバイスでPVシグネチャを無視している場合、LVMはスタックリソースでPVシグネチャを検出する必要があります。次の例では、下位レベルDRBDリソースは0から9のデバイスを使用し、スタックリソースは10以上のデバイスを使用しています。DRBDのデバイスで見つかったPVシグニチャを受け入れ、それ以外のすべてを拒否(無視)します。コマンドを実行します。LVMは構成キャッシュを破棄し、デバイスを再スキャンしてPVシグネチャを見つけます。構成を使用することもできます。重要なのは、次の2つです。LVMが重複したPVシグネチャを見つけることを回避する。次の設定で、LVMのキャッシュを無効にする必要があります。削除して、古いキャッシュを削除してください。対向ノードでも、上記の手順を繰り返します。システムのルートファイルシステムがLVM上にある場合、bootの際にボリュームグループはイニシャルRAMディスク(initrd)から起動します。ファイルを検査します。)で確実にinitrdをアップデートしなければなりません。新しいボリュームグループを作成します。このとき、DRBDリソースがプライマリロールになっている必要があります。/dev/drbdX同じボリュームグループ内にDRBD物理ボリュームとDRBD以外の物理ボリュームを混在させることができますが、これはお勧めできません。混在させても実際には意味がないでしょう。コマンドを使用して、(DRBD以外を使用するボリュームグループと同様に)ここから論理ボリュームを作成します。新しいDRBDボリュームを既存のボリュームグループへ追加する新しいDRBDでバックアップした物理ボリュームを、ボリュームグループへ追加したいといった事があるでしょう。その場合には、新しいボリュームは既存のリソース設定に追加しなければなりません。することでVG内の全PVにわたってレプリケーションストリームと書き込み順序の忠実性が確保されます。追加ボリュームを加えるには、リソース設定を次のように拡張します。}}DRBD設定が全ノード間で同じである事を確認し、次のコマンドを発行します。新規ボリュームがレプリケーションストリームに追加されると、イニシャライズやボリュームグループへの追加ができるようになります。VGへ追加され、VG全体にわたって書き込みの忠実性を保護します。論理ボリュームをDRBDの下位デバイスとして使用し、かつ、同時にDRBDデバイス自体を物理ボリュームとして使用することもできます。例として、次のような構成を考えてみましょう。いうボリュームグループに含まれる。