Pacemaker 1.1 Configuration Explained – (4) クラスタノード

(4)クラスターノード

クラスタノードの定義

XMLファイルの内部のノードセクションには、クラスタ内の各ノードのUUID, uname, type情報を含むエントリが作成されます。

  • Heartbeatクラスタでのノードエントリの例
<node id="1186dc9a-324d-425a-966e-d757e693dc86" uname="pcmk-1" type="normal"/>
  • corosyncクラスタのノードエントリの例
<node id="101" uname="pcmk-1" type="normal"/>

通常、これらの情報は自動的に作成されます。

 

Pacemakerによるノード名取得方法

以前はuname -aコマンドの結果を使用していましたが、corosync 2.0以降は以下のようにしてノード名を取得するようになりました。

  1. confのnodelist中のring0_addrに記載された値を使用する。IPアドレスが記載されていなければ次ののものを使う。
  2. confのnodelistにあるnameの値を使用する。なければ次のものを使う。
  3. uname -aの値を使う

 

なお、”crm_node -n”コマンドを実行することPacemakerが認識しているノード名を表示します。

Corosyncでnodelistを使用している場合には、“crm_node –name-for-id <番号>”コマンドでcorosyncのnodeidが使用している名前を表示します。

 

ノード属性

ノード属性はノードに対して設定する特別なオプションです。これはRAMやDiskのサイズ、OSやカーネルバージョン、あるいは物理的な位置などの情報です。クラスタは、この情報を考慮してリソースをどこに配置するか判断を行います。

 

ノード管理(Corosyncベースのクラスタの場合)

  • ノードの追加

  1. CorosyncとPacemakerを新しいホストにインストールする。
  2. 既存のノードから/etc/corosync/corosync.confと/etc/corosync/authkey(ある場合)をコピーする。
  3. クラスタソフトを起動する

 

  • ノードの削除

ノードの削除を行う場合には、他のノードでの操作が必要になります。

  1. クラスタソフトを停止する
  2. 以下コマンドを他のノードで実行する。
# crm_node -R <削除するノード名>

 

ノードの交換をする場合

既存のノードを交換する場合には以下の手順をとる。

  1. 交換される側のノードを完全に停止する。
  2. 新しいノードに交換される側のノードと同じホスト名とIPアドレスを付与する
  3. 以降はノード追加時と同様の手順