PRIMECLUSTER 活用ガイド <コマンドリファレンス編> (Solaris(TM)オペレーティングシステム/Linux版) |
目次
索引
![]() ![]() |
コマンド |
機能 |
Solaris |
Linux |
備考 |
---|---|---|---|---|
PRIMECLUSTER クラスタのノードを構成または構成を削除する |
○ |
○ |
|
|
クラスタノードで使用しているクラスタインタコネクトを動的に変更する |
○ |
− |
Solaris のみの機能 |
|
CF レジストリ同期デーモン |
○ |
○ |
|
|
/etc/default/cluster.config エントリを CF モジュールに適用または変更する |
○ |
○ |
|
|
ローカルノードまたはクラスタ内の他ノード通信状態を表示する |
○ |
○ |
4.2A30以降"-R","-H"オプション追加 |
|
クラスタ整合状態(クォーラム)を設定または開始する |
○ |
○ |
|
|
クラスタの整合状態(クォーラム)の状態を取得する |
○ |
○ |
|
PRIMECLUSTER クラスタのノードを構成または構成を削除する
cfconfig [ -d | -G | -g | -h | -L | -l | -S nodename clustername device [device [...]] | -s clustername device [device [...]] | -u ]
本コマンドは直接使用することは推奨しません。クラスタの構成および構成の削除、その他管理作業には、Cluster Admin を使用してください。本コマンドは、Cluster Admin で必要な処理が実行できなかった場合にのみ、使用することを推奨します。本コマンドは、以下の処理を行うことができます。
nodename clustername device device ...
クラスタでノードを識別するための名前。この名前には印刷可能な文字を使用してください。名前は小文字に変換されます。空白を含まず、11 文字以下にしてください。
クラスタノードの名前は、以前のように('uname -n' で表示される)ホスト名に限定されませんが、ホスト名と同じ名前を使用することも可能です(cfconfig の -s オプションを参照)。
ノードを参入または作成するクラスタの名前。印刷可能な文字を使用してください。名前は大文字に変換されます。クラスタ名には、空白を含まず、31 文字以下の名前を指定してください。
クラスタインタコネクトに使用するデバイス名。使用可能なデバイスの名前を取得するには、cftool -d を実行します。最大 8 個のデバイスが指定できます。
clustername device device ...
ノードを参入または作成するクラスタの名前。印刷可能な文字を使用してください。名前は大文字に変換されます。クラスタ名には、空白を含まず、31文字以下の名前を指定してください。
クラスタインタコネクトに使用するデバイス名。使用可能なデバイスの名前を取得するには、cftool -d を実行します。最大 8 個のデバイスが指定できます。
構成はリブートを行っても変更されず、-d オプションによって削除されるまで、-lオプションを指定する度に参照されます。
既存のクラスタ構成を変更するために -S または -s オプションを使用することはできません。以前の構成を -d オプションで削除してから、-S または -s オプションを再指定する必要があります。
ノードの使用可能な ICF 通信デバイスの一覧を表示します。
# cfconfig -l
# cftool -d Number Device Type Speed Mtu State Configured Address 1 dev1* 4 100 1432 UP NO 08.00.06.0c.37.b8 2 dev2* 4 100 1432 UP NO 00.50.04.16.81.45
*Solaris では、一般的なデバイスは "/dev/hme1" です。 *Linux では、一般的なデバイスは "eth1" です。
CF を起動するには、次のようにします。
# cfconfig -l
CF を停止するには、次のようにします。
# cfconfig -u
0 :正常終了
0 以外:異常終了
構成情報および Cluster Admin については、"PRIMECLUSTER 導入運用手引書" を参照してください。
クラスタノードで使用しているクラスタインタコネクトを動的に変更する
cfrecon [ -a device | -d device | -h | -s ] [ -q ]
本コマンドは、次の場合に使用します。
同一クラスタ内で同時に本コマンドの多重実行ができません。クラスタ参入処理中は本コマンドはエラーとなります。
本コマンドはシステム管理者権限で実行してください。
ここでは、本コマンドの通常の使用例を示します。
# cfrecon -d/dev/hme0
Delete Cluster Interconnect:
device "/dev/hme0" successfully removed from node configuration
# cfrecon -a /dev/hme0
Add Cluster Interconnect:
device "/dev/hme0" successfully added to node configuration
# cfrecon -s
Node Status:
this is node harpo in cluster MARXBROS
installed CF package info:
SMAWcf-4.1A3001:hilo:/corona/new4/build/41SOL Dec 31 2003 18:09:54
node info: Node Number State Os Cpu Flags harpo 3 UP Solaris Sparc 0
cfconfig info: harpo MARXBROS /dev/eri1 /dev/hme0
cluster info: Node Number State Os Cpu groucho 1 UP Solaris Sparc zeppo 2 UP Solaris Sparc harpo 3 UP Solaris Sparc chico 4 UP Solaris Sparc
device info: Number Device Type Speed Mtu State Configured Address 1 /dev/eri1 4 100 1432 UP YES 00.80.17.84.41.93 2 /dev/hme0 4 100 1432 UP YES 08.00.20.ed.dc.0c
ICF route info: Node Number Srcdev Dstdev Type State Destaddr groucho 1 1 1 4 UP 00.80.17.84.41.52 groucho 1 2 2 4 UP 08.00.20.ed.fa.48 zeppo 2 1 1 4 UP 00.80.17.84.40.fb zeppo 2 2 2 4 UP 08.00.20.ee.00.d3 harpo 3 1 1 4 UP 00.80.17.84.41.93 harpo 3 2 2 4 UP 08.00.20.ed.dc.0c chico 4 1 1 4 UP 08.00.20.bd.5f.ca chico 4 2 2 4 UP 08.00.20.ef.23.da
routes per device: Src Dst Dst Dev Name Type Speed Mtu Cfg Node Dev State Address 1 /dev/eri1 4 100 1432 YES 00.80.17.84.41.93 groucho 1 UP 00.80.17.84.41.52 zeppo 1 UP 00.80.17.84.40.fb harpo 1 UP 00.80.17.84.41.93 chico 1 UP 08.00.20.bd.5f.ca 2 /dev/hme0 4 100 1432 YES 08.00.20.ed.dc.0c groucho 2 UP 08.00.20.ed.fa.48 zeppo 2 UP 08.00.20.ee.00.d3 harpo 2 UP 08.00.20.ed.dc.0c chico 2 UP 08.00.20.ef.23.da
additional eligible cluster interconnects: /dev/eri0
上記の cfrecon -s コマンドの出力では、クラスタノードに関するすべての情報が表示されます。表示される情報のほとんどは、対応する cftool オプションと同じ形式です。次の 2つの新しいテーブルが表示されます。
<特殊な例>
以下の特殊なケースでも本コマンドを利用する場合があります。
0 :正常終了
0以外:異常終了
構成情報および Cluster Admin GUI については、"PRIMECLUSTER 導入運用手引書" を参照してください。
CF レジストリ同期デーモン
cfregd [ -r ]
CF レジストリ同期デーモン cfregd は、クラスタの各ノードの CF レジストリデータファイルの管理を行います。デーモンは、CF ドライバをロードし、クラスタ参入処理を開始する際(cfconfig -l)に、cfconfig コマンドにより自動的に起動されます。そして CF ドライバをアンロードする際(cfconfig -u)に、cfconfig コマンドによりデーモンは自動的に停止されます。
起動後、デーモンはまず同期処理フェーズに入り、管理すべきデータファイルが、他のすべてのクラスタノードで動作しているデーモンの管理しているデータファイルと同一のエントリを含むことを確認します。データファイルが、クラスタ内の他のノードで管理されているデータファイルと同一でない場合には、デーモンはその比較結果をシステムログに記録し、停止します。起動時にデータファイルが存在しないか、またはデータファイルが空である場合、あるいはデータファイルのリカバリモード(以下のオプションを参照)で起動した場合は、デーモンは、クラスタ内の他のノードで管理されているデータファイルと同じエントリを含むデータファイルを作成し更新します。
同期処理フェーズが完了すると、デーモンは通常の運用モードに入り、クラスタのいずれかのノードで動作するアプリケーションがエントリを作成、変更、または削除を行うトランザクションの実行に応じて、データファイルを更新します。データファイルの更新は、アプリケーションがトランザクションを終了したときにのみ行われます。デーモンは、データファイルの一時的コピーにトランザクションの更新を適用することにより、データファイルを更新します。データファイルの一時的コピーは、データファイルと同じパス名を持ち、ファイル名には .tmp がついています。一時ファイルに更新を適用した後、デーモンは、データファイルを同じパス名でファイル名に .old をつけた名前に変更し、一時ファイルの名前を元のデータファイル名に変更してから、.old をつけた古いデータファイルを削除します。
デフォルトでは、デーモンが管理するデータファイルのパス名は /var/adm/cfreg.data です。cfset(1M) コマンドを使用して、CF 構成パラメタである CFREG_DATAFILE に適切なパス名を設定することにより、デーモンが管理するデータファイルに別のパス名を指定することができます。デーモンは実行時に一度だけ(同期処理フェーズに入るとき)構成パラメタを参照します。したがって、構成パラメタを設定した後、その設定を有効にするには、デーモンをいったん終了し、再起動する必要があります。
/var/adm/cfreg.data
/var/adm/cfreg.data.tmp
/var/adm/cfreg.data.old
/etc/default/cluster.config エントリを CF モジュールに適用また変更する
cfset [ -r | -f | -a | -o name | -g name | -h ]
本コマンドは、/etc/default/cluster.config のエントリを CF モジュールへ適用します。入力した名前に対応する値を取得したり(-g または -o オプション)、名前を指定しない場合(-f または -a オプション)にはすべての値を取得します。値は、/etc/default/cluster.config ファイルか、または CF モジュールから取得します。CF モジュールの値を入力、追加、または変更するには、ユーザは /etc/default/cluster.config ファイルを変更してください。cfset(1M) の各オプションは択一式です。ファイルのエントリ数の最大値は 100 です。
ファイルは次の 2つから構成されます。
TEST "abcde" "1234"
は、TEST "abcde1234" となります。
TEST "abcde"
は、TEST "abcde" となります。
また、
"abcde" のみの場合は無効なフォーマットと判断されます。
cfset は次の場合に使用することができます。
0 :正常終了
0以外:異常終了
Cluster Admin については、"PRIMECLUSTER 導入運用手引書" を参照してください。
CF ノードまたはクラスタ内の他ノード通信状態を表示する
cftool [ -c ] [ -l ] [ -n ] [ -r ] [ -R ] [ -d ] [ -v ] [ -p ] [ -e ] [ -i node ] [ -m ] [-u] [-k] [ -q ] [ -F ] [ -T timeout ] [ -I nodename ] [ -P ] [ -E MAC ] [ -C count ] [ -A cluster ] [ -H ] [ -h ]
本コマンドは、CF ノードの各種統計と属性、およびクラスタ内の他のノードの状態を表示します。複数のオプションが指定された場合には、各オプションは 形式の順序で実行されます。あるオプションでエラーとなった場合には、それ以降のオプションは実行されません。-q オプションが指定された場合には、すべてのオプションに適用されます。
Node Number State OS CPU Flags
ノード名
クラスタ内のノード番号
リモートノード: DOWN/UP
ローカルノード: UNLOADED/LOADED/COMINGUP/UP
オペレーティングシステム
マシンのアーキテクチャ
このローカルノードに関連するフラグビット。このフィールドはフラグビットの集合であり、10 進数として出力されます。
Node Number State OS CPU
ノード名
クラスタ内のノード番号
リモートノード: DOWN/UP/LEFTCLUSTER
ローカルノード: UNLOADED/LOADED/COMINGUP/UP
オペレーティングシステム
マシンのアーキテクチャ
Node Number Srcdev Dstdev Type State Destaddr
リモートノード名
クラスタ内のリモートノード番号
ローカルノードの送信元デバイス番号
リモートノードの送信先デバイス番号
ネットワークデバイスのタイプ
経路の状態(UP/DOWN)
ノードデバイスアドレス
UP 状態でないノードの経路の状態(UP または DOWN)は正しく表示されないことがあります。
ノードへの最後の経路は常に UP 状態となります。
Node Num SrcDev DstDev Typ InUse CurrState TotXmit TotRecv TotDgrd TotDown HeartBtReqXmit HeartBtReqRecv HeartBtReplyRecv SwtchRoute OutOfSeq
リモートノード名
クラスタ内のリモートノード番号
ローカルノードの送信元デバイス番号
リモートノードの送信先デバイス番号
ネットワークデバイスのタイプ
経路上で有効なデータの流通量を表示(ACTV/IDLE)
経路の状態(UP/DOWN/DEGRAD)
経路上に送信したパケット数
経路上で受信したパケット数
経路がDEGRADになった回数
経路がDOWNした回数
経路上でハートビートの要求を送信した回数
経路上でハートビート要求を受信した回数
経路上でハートビートに返信した回数
データの流通量が切られた回数
経路上で通信が困難になった回数
UP 状態でないノードの経路の状態(UP または DOWN)は正しく表示されないことがあります。
ノードへの最後の経路は常に UP 状態となります。
Number Device Type Speed Mtu State Configured Address
デバイス番号
デバイス名
デバイスタイプ
内部デバイス速度表示
転送ユニットサイズの最大値
デバイスの稼動状態(UP/DOWN)
(cfconfig -S により)デバイスがノードのクラスタインタコネクトとして設定されている場合には YES、それ以外の場合には NO となります。
デバイスアドレス
Localdev Srcdev Address Cluster Node Number Joinstate
応答を受信するローカル ICF デバイス番号
応答を送信するリモート ICF デバイス番号
リモート ICF デバイスのアドレス
リモートノードのクラスタ名
リモートノード名
クラスタ内のリモートノード番号
ノードの内部参入状態を示す数
Counter Value
各値は、対応するカウンタの、-u オプションにより最後に統計がクリアされてからの変更を反映します。次のカウンタがあります。
送信/受信データパケット数。
送信/受信 ENQ パケット数。このノードが送信したメッセージがまだ承認されていないことを、ICF サービスタイマが検出すると ENQ メッセージが送信されます。
送信/受信 ACK パケット数。ACK は、有効なメッセージを受信したことを承認するために送信されます。
送信/受信 NACK パケット数。NACK は、MIPC 宛先ノードが不正であるなどの理由で、受信メッセージが無効であることを示すために送信されます。
送信/受信ハートビート要求パケット数。
送信/受信ハートビート応答パケット数。この値は、HTBT_REQ 値と同じになるはずです。異なる場合には、おそらくインタコネクトの負荷が高いために、ハートビートメッセージが破棄されていることになります。
送信/受信 SYN パケット数。SYN パケットは、クラスタ構築フェーズにおいて、ノードがクラスタを形成したり、クラスタに参入したりする際に送信されます。
送信/受信 SYN_ACK パケット数。SYN_ACK は、SYN パケットに対する返信として送られる ACK です。
送信/受信 SQE パケット数。ノードは、受信したメッセージを処理できない状態にある場合に、SQE(source quench)フロー制御メッセージを送信します。これには、MIPC 層のユーザアプリケーションが受信バッファを配置し忘れているなどの理由が考えられます。SQE は、順序に誤りのあるメッセージを受信した場合にも送信されます。
送信/受信 ECHO パケット数。ECHO プロトコルの詳細については、cftool -e を参照してください。
送信/受信 NO_SVC パケット数。使用不可能なサービスへのメッセージを受信した場合に、ICF は、NO_SVC (no service) パケットで応答します。
送信中にデバイスインタフェースがエラーを返した回数。このカウンタは通常 0 となります。
クラスタのメンバになる前にこのノードが受信したメッセージ数。
メッセージヘッダの世代番号が予期しない値であった回数。
アンパック時にエラーのために破棄された受信メッセージの数。これは通常、メッセージが無効なポート番号へ送信されたり、メッセージサイズが無効であるために生じます。
順序に誤りのあるメッセージを受信した回数。最大の原因は、下位層のネットワークドライバが受信パケットを適切な時間内に処理することができないため、一部のパケットが破棄されてしまうというネットワークの過負荷です。その他には、ネットワーク障害のためにパケットが破棄されていることが考えられます。
送信キュー内のメッセージが受信ノードに承認されるまでの間に、ICF サービスタイマがタイムアウトした回数。この場合、ICF サービスタイマはメッセージの再送信を要求します。
ICF がピアノードに ACK メッセージを送信した回数。
ICF 層において、重複したパケットを受信したためにパケットを破棄することになった回数。重複パケットは、一般的にネットワークの輻輳を意味します。ピアノードが「送信キューの要求の再送信」を行う場合、重複パケットが生じます。これは、ACK メッセージが遅れたか、パケットが破棄されたことを示します。
ICF 層が、無効なサービス番号、または使用不可能なサービスへのパケットを受信したために、パケットを破棄することになった回数。
ICF 層が送信したデータフラグメント数。下位層プロトコルの MTU よりもメッセージサイズが大きい場合に、データフラグメントが送信されます。
ICF 層が受信したデータフラグメント数。
ICF 層がリソース不足のために受信メッセージを処理できなかった回数。これは、MIPC ユーザアプリケーションが受信バッファをタイムリーに用意しなかった場合に生じます。
ICF 層が登録された入力関数を呼び出す時に、エラーが発生した回数。これは、メッセージを再組み立てするため、すべてのフラグメントを受信する前に、MIPC ユーザアプリケーションがエンドポイントを終了する場合に生じます。
MIPC 層が送信バッファを空にできるように、MIPC 送信のために登録されたコールバック関数が呼び出された回数。これは、送信メッセージが承認された場合に生じます。
MIPC 層が送信バッファを空にできるように、MIPC 送信のために登録されたコールバック関数が呼び出された回数。sfree モードは、送信がまだ進行中の間に送信ACK を受信したことを示します。
SYN タイムアウトが発生した回数。詳細については、上記の SYN および SYN_ACK を参照してください。
ハートビートタイムアウト数。この数は、ノードが、ハードビート間隔の間にピアノードからハートビートを受信できなかった場合に増分されます。
未使用。
メッセージが「直ちに」延期キューに追加された回数。このカウンタは、メッセージの送信準備ができているが、ICF 送信キュー(送信ウィンドウ)がいっぱいであり、また延期キューにもすでにメッセージが存在する場合に増分されます。この場合、メッセージは「直ちに」延期キューに追加されます。
メッセージが延期キューに追加された回数。このカウンタは、メッセージの送信準備ができているが、ICF 送信キュー(送信ウィンドウ)がいっぱいである場合に増分されます。この場合、メッセージは延期キューに置かれます。このカウンタの値が大きい場合は、ネットワークの輻輳、ピアノードからの ACK 応答の遅延、または過負荷を示します。
経路が DOWN 状態となったため、ICF サービスが他の経路に切替えを行う必要があった回数。ハートビート間隔中に経路でハートビートが受信されなかった場合に、その経路は DOWN 状態となります。その経路で再びハートビートが正しく受信されると、経路は DOWN 状態から回復します。
ICF がピアノードに対して、制御メッセージでの応答を試みたが、経路が DOWN 状態であることを検出した回数。この場合、ICF は、制御メッセージを UP 状態の経路で再送信します。ハートビートメッセージが失われるために経路が DOWN 状態にされると、経路を変更して再送信されるメッセージが増えます。
ICF がメッセージフラグメントの入力を試みたが、選択されたサービスの入力キューがビジー状態であることを検出した回数。これは、他の入力スレッドがメッセージフラグメントを入力していることを示します。
ローカルノード名
ローカルノードの送信元デバイス番号
リモートノード名
リモートノードの送信先デバイス番号
経路がDOWNの場合
経路上に送信された確認できる最後のハートビート要求数
受信した全ハートビート応答の合計
ハートビート要求/応答サイクルの最長時間
予期されないハートビート応答の数
これらは通常他ノードのリカバリと連携します。
同じタイマ割り込みに受信した応答数
200ms未満で受信した他の応答数
400ms未満で受信した他の応答数
800ms未満で受信した他の応答数
1600ms未満で受信した他の応答数
1600ms以上で受信した他の応答数
0 :正常終了
0以外:異常終了
"PRIMECLUSTER 導入運用手引書" および、"PRIMECLUSTER Cluster Foundation 導入運用手引書" を参照してください。
クラスタ整合状態(クォーラム)を設定または開始する
rcqconfig [ -g ]
rcqconfig [ -h ]
rcqconfig [ -s ]
rcqconfig [ -v ] [ -c ] [ -a list-of-nodes-for-adding ] [ -x list-of-ignore-nodes ] [ -d list-of-nodes-for-deleting ] [ -m list-of-quorum-methods ]
本コマンドは、CF がクォーラム状態を決定するノードのクォーラムセットや、CF がノード状態を検出するためのメソッドの集合などのクォーラム変数を設定します。また、本コマンドは、現在の設定を表示します。新たに変更した設定や、-v 以外のオプションで実行した場合、本コマンドは、クラスタ内のすべてのノードに新しい設定を適用し、クォーラムの処理を開始または再開します。本コマンドをコマンドラインから実行し、クォーラムを設定または開始することができます。ノードの開始時に cfconfig -l により、本コマンドを呼び出すこともできます。
0 :正常終了
0以外:異常終了
クラスタの整合状態(クォーラム)の状態を取得する
rcqquery [ -v ] [ -l ]
本コマンドは、クォーラムの状態を調べ、終了ステータスを使って結果を返します。また、-v オプションを指定すると、結果を文字列(TRUE または FALSE)で返します。ノードのクォーラムセットに含まれるすべてのノードの状態が既知(TRUE)の場合、TRUE を返し、いずれかのノードが未知(FALSE)の場合、FALSE を返します。
クォーラムが存在する場合は状態 0 を返します。クォーラムが存在しない場合は状態 1 を返します。操作中にエラーが発生した場合は、1 と 0 以外の値を返して終了します。
rcqconfig(1M)
目次
索引
![]() ![]() |