Pacemaker 1.1 Configuration Explained – (2) 設定の基本

(2) 設定の基本

 

クラスタを定義するCIB

CIBはCluster Information Baseの略です。このファイルの実態はxmlファイルです。

ファイル内のセクションは主に以下のようになっています。

  • configuration
    • crm_config  クラスタ全体の設定オプション
    • nodes   クラスタを構成するホスト
    • resources  クラスタが動作させるサービス
    • constraints  リソースの配置についての設定
  • status リソースの動作履歴

 

現在のクラスタ状態

設定の内容を説明する前に、まずは設定済みのクラスタではどのようになっているかを説明しましょう。Pacemakerではcrm_monコマンドを使ってクラスタの状態を確認します。コマンドを実行すると以下のような表示になります。

  ============
  Last updated: Fri Nov 23 15:26:13 2007
  Current DC: sles-3 (2298606a-6a8c-499a-9d25-76242f7006ec)
  3 Nodes configured.
  5 Resources configured.
  ============

  Node: sles-1 (1186dc9a-324d-425a-966e-d757e693dc86): online
      192.168.100.181    (heartbeat::ocf:IPaddr):    Started sles-1
      192.168.100.182    (heartbeat:IPaddr):         Started sles-1
      192.168.100.183    (heartbeat::ocf:IPaddr):    Started sles-1
      rsc_sles-1         (heartbeat::ocf:IPaddr):    Started sles-1
      child_DoFencing:2  (stonith:external/vmware):  Started sles-1
  Node: sles-2 (02fb99a8-e30e-482f-b3ad-0fb3ce27d088): standby
  Node: sles-3 (2298606a-6a8c-499a-9d25-76242f7006ec): online
      rsc_sles-2    (heartbeat::ocf:IPaddr):    Started sles-3
      rsc_sles-3    (heartbeat::ocf:IPaddr):    Started sles-3
      child_DoFencing:0    (stonith:external/vmware):    Started sles-3

上の表示画面でCurrent DCと書いてあるノードは、クラスタ内のリソースの設置などの判断を行うノードがどれかを示しています。なお運用上はDCがどのノードであるかは、特に関係ないので気にする必要はありません。

crm_monコマンドには様々なオプションが用意されています。オプションを確認したい場合には、crm_mon –helpコマンドを実行してください。

 

CIBの編集

cib.xmlファイルは絶対に直接編集しないでください。設定を変更する場合には以下の方法を使ってください。

方法1 : cibadminコマンド

cibadminコマンドを使用してCIBのxmlファイルを編集します。

例:

# cibadmin --query > tmp.xml
# vi tmp.xml
# cibadmin --replace --xml-file tmp.xml

変更は即時反映されます。

 

方法2 : crmコマンド

crmコマンドを使えばxmlの書式でなくともCIBを編集することができます。crmコマンドの詳細はここでは説明しません。

 

サンドボックスで設定変更を試す

「シャドウ」機能を使うと、「シャドウ」コピーを作成し、それに対してコマンドを実行してどのような動作になるのか確認することができます。実際の環境には何も起こりません。

以下の実行例ではtestという名前のシャドウ、つまりサンドボックスを作っています。

#crm_shadow --create test
Setting up shadow instance
Type Ctrl-D to exit the crm_shadow shell
shadow[test]:

サンドボックスに対する操作中は、crmシェルのプロンプトの表示が、shadow[サンドボックス名]になります。

サンドボックスから抜けたいときには[ctrl]+[D]を入力します。

なお、サンドボックスで操作の結果を確かめた後で、変更内容を実際の環境に適用したい場合には引数に–commitを付けると反映させることができます。 

crm_shadow --commit <シャドウ名>

コマンドの詳細についてはcrm_shadowを確認してください。

 

シュミレーションを行う

サンドボックスでは、クラスタへのコマンド操作の結果を確認することができますが、クラスタ上で発生したリソース停止や障害などの細かなイベントへの反応を確認するためにはcrm_simulateコマンドが用意されています。

以下の例では、res_httpdリソースの停止処理が失敗しリターンコード1が返された場合をシュミレートしています。

crm_simulate -LS --op-inject res_httpd_stop_0@node=1

 

クラスタノード間での設定の同期

クラスタ設定への変更は、アクティブなクラスタメンバ間で直ちに同期されます。各ノードで同じ設定を行う必要はありません。