フェンシングを構成するには、複数のSTONITHリソースを構成する必要があ ります。stonithdデーモンでは構成は不要です。すべての構成はCIBに保存さ れます。STONITHリソースはクラスstonithのリソースです(17.1項 「サポー トされるリソースエージェントクラス」(201 ページ)を参照)。STONITHリソー スはSTONITHプラグインのCIBでの表現です。フェンシング操作の他、
STONITHリソースはその他のリソースと同様、開始、停止、監視できます。
STONITHリソースの開始と停止とは、この場合STONITHの有効化と無効化を
意味します。開始と停止は管理上の操作であるため、フェンシングデバイス 自体での操作にはなりません。ただし、監視はデバイス状態に反映されます。STONITHリソースはその他のリソースと同様にして構成できます。リソース
の構成については、4.3項 「STONITHリソースの作成」(38 ページ)または5.4
項 「STONITHリソースの作成」(67 ページ)を参照してください。
パラメータ(属性)のリストは、それぞれのSTONITHの種類に依存します。特 定のデバイスのパラメータ一覧を表示するには、stonithコマンドを実行し ます。
stonith -t stonith-device-type -n
たとえば、ibmhmcデバイスタイプのパラメータを表示するには、次のように 入力します。
stonith -t ibmhmc -n
デバイスの簡易ヘルプテキストを表示するには、-hオプションを使用します。
stonith -t stonith-device-type -h
8.3.1 STONITHリソースの構成例
以降では、crmコマンドラインツールの構文で作成された構成例を紹介しま す。これを適用するには、サンプルをテキストファイルに格納して(sample
.txtなど)、実行します。
crm < sample.txt
crmコマンドラインツールでのリソースの構成については、第5章
クラスタリ ソースのコマンドラインからの設定(61 ページ)を参照してください。
警告: テスティングの構成
次の例の一部は、説明およびテストのみを目的としています。テスティン グの構成例を実際のクラスタシナリオで使用しないでください。
例
8.1
テスティングの構成configure
primitive st-null stonith:null \ params hostlist="node1 node2"
clone fencing st-null commit
例
8.2
テスティングの構成 別の構成:configure
primitive st-node1 stonith:null \ params hostlist="node1"
primitive st-node2 stonith:null \ params hostlist="node2"
location l-st-node1 st-node1 -inf: node1 location l-st-node2 st-node2 -inf: node2 commit
この構成例は、クラスタソフトウェアに関してはまったく問題ありません。
実際の構成との違いは、フェンシング操作が行われないことだけです。
例
8.3
テスティングの構成より現実的な例として、次のexternal/ssh構成を挙げます。これもテスト目的の みです。
configure
primitive st-ssh stonith:external/ssh \ params hostlist="node1 node2"
clone fencing st-ssh commit
これもノードをリセットできます。この構成は、null STONITHデバイスを利 用する最初の例と非常によく似ています。この例では、クローンが使用され ています。これはCRM/Pacemakerの機能です。クローンは基本的にショート カットで、n個の同一リソースに別の名前を付けて定義しなくても、1つのク ローンされたリソースで足ります。クローンの最もよく使われる方法は、
STONITHデバイスがすべてのノードからアクセスできる場合、STONITHリ
ソースとともに使用することです。例
8.4 IBM RSA
ライトアウトデバイスの構成実際のデバイス構成とはそれほど違いはありませんが、一部のデバイスには より多くの属性が必要となります。IBM RSAライトアウトデバイスは、次の ようにして構成できます。
configure
primitive st-ibmrsa-1 stonith:external/ibmrsa-telnet \ params nodename=node1 ipaddr=192.168.0.101 \
userid=USERID passwd=PASSW0RD
primitive st-ibmrsa-2 stonith:external/ibmrsa-telnet \ params nodename=node2 ipaddr=192.168.0.102 \
userid=USERID passwd=PASSW0RD
location l-st-node1 st-ibmrsa-1 -inf: node1 location l-st-node2 st-ibmrsa-2 -inf: node2 commit
この例では、STONITH操作は一定の確率で失敗するため、location制約が使用 されています。したがって、実行側でもあるノード上のSTONITH操作は信頼 できません。ノードがリセットされていない場合、フェンシング操作結果に ついて通知を送信できません。これを実行する方法は、操作が成功すると仮 定して事前に通知を送信するほかありません。しかし操作が失敗すると、問 題が発生します。このため、stonithdは通例、ホストの終了を拒否します。
例
8.5 UPS
フェンシングデバイスの構成UPSタイプのフェンシングデバイスの構成は、上記の例と同様で、詳細は読
者への演習とします。UPSデバイスはすべてフェンシングに同一のメカニズ ムを採用していますが、デバイス自身へのアクセス方法が異なります。旧式 のUPSデバイス(プロフェッショナル向けとされていたもの)は通常、シリアル ポートが1つだけで、特殊なシリアルケーブルを使用して1200ボーで接続され ています。新型の多くにはまだシリアルポートがありますが、USBインタ フェースまたはEthernetインタフェースも備えています。使用できる接続の種 類は、プラグインが何をサポートしているかによります。たとえば、apcmasterをapcsmartデバイスと、stonith -t
stonith-device-type -nコマンドを使用して比較します。
stonith -t apcmaster -h
次の情報が返されます。
STONITH Device: apcmaster - APC MasterSwitch (via telnet) NOTE: The APC MasterSwitch accepts only one (telnet) connection/session a time. When one session is active, subsequent attempts to connect to the MasterSwitch will fail.
For more information see http://www.apc.com/
List of valid parameter names for apcmaster STONITH device:
ipaddr login
password
今度は次のコマンドを使用します。
stonith -t apcsmart -h
次の結果が得られます。
STONITH Device: apcsmart - APC Smart UPS (via serial port - NOT USB!).
Works with higher-end APC UPSes, like Back-UPS Pro, Smart-UPS, Matrix-UPS, etc.
(Smart-UPS may have to be >= Smart-UPS 700?).
See http://www.networkupstools.org/protocols/apcsmart.html for protocol compatibility details.
For more information see http://www.apc.com/
List of valid parameter names for apcsmart STONITH device:
ttydev hostlist
最初のプラグインは、ネットワークポートとtelnetプロトコルを持つAPC UPS をサポートします。2番目のプラグインはAPC SMARTプロトコルをシリアル
回線で使用します。これはその他多数のAPC UPS製品ラインでサポートされ ているものです。
8.3.2 制約とクローン
8.3.1項 「STONITHリソースの構成例」 (87 ページ)で、STONITHリソースを
制約、クローン、またはその両方を使用して構成する方法をいくつか説明し ました。構成にどちらの構成を使用するかは、いくつかの要因(フェンシング デバイスの性質、デバイスで管理されるホスト数、クラスタノード数)によっ て決まり、また個人の好みにも左右されます。
まとめると、クローンを構成で安心して使用でき、構成が縮小される場合は、
クローンされたSTONITHリソースを使用します。