コマンド | 機能 | Solaris | Linux | 備考 |
---|---|---|---|---|
PRIMECLUSTER クラスタのノードを構成または構成を削除する | ○ | ○ | ||
クラスタノードで使用しているクラスタインタコネクトを動的に変更する | ○ | - | Solaris のみ | |
Unified Archivesを用いたクローニングで失われるデバイスファイルへのシンボリックリンクを復元する | ○ | - | Solaris のみ | |
CF レジストリ同期デーモン | ○ | ○ | ||
/etc/default/cluster.config エントリを CF モジュールに適用または変更する | ○ | ○ | ||
ローカルノードまたはクラスタ内の他ノード通信状態を表示する | ○ | ○ | 4.2A30以降”-R”,”-H”オプション追加 | |
クラスタ整合状態(クォーラム)を設定または開始する | ○ | ○ | ||
クラスタの整合状態(クォーラム)の状態を取得する | ○ | ○ |
PRIMECLUSTER クラスタのノードを構成または構成を削除する
◆形式
cfconfig [ -d | -G | -g | -h | -L | -l | -S nodename clustername device [<自ノードのIP-address> broadcast-address] [[device [<自ノードのIP-address> broadcast-address]] [...]] | -s clustername device [<自ノードのIP-address> broadcast-address] [[device [<自ノードのIP-address> broadcast-address]] [...]] | -u ]
◆機能説明
本コマンドは直接使用することは推奨しません。クラスタの構成および構成の削除、その他管理作業には、Cluster Admin を使用してください。本コマンドは、Cluster Admin で必要な処理が実行できなかった場合にのみ、使用することを推奨します。本コマンドは、以下の処理を行うことができます。
ノードのクラスタ構成および構成削除
現在のクラスタ構成の取得
CF モジュールのロードおよびアンロード
本コマンドは、システム管理者権限で実行してください。
◆オプション
CF ドライバをロードし、ノードの通信デバイスを設定します。(-S または -s オプションにより)クラスタのノードが構成されると、本オプションによりノードがクラスタに追加されます。構成で指定されたデバイスは、ノードがクラスタに参入する時に使用されます。カーネルデバイスツリーはチェックされません。構成が存在しない場合や、無効である場合には、オプション "-l" が指定された場合の処理が実行されます。cfconfig -L は起動時に必ず実行されます。したがって構成が存在する場合には、ノードは起動時に自動的にクラスタに追加されます。
ドライバをロードし、ノードの通信デバイスを設定します。(-S または -s オプションにより)クラスタのノードが構成されると、本オプションによりノードがクラスタに追加されます。カーネルデバイスツリーをチェックし、クラスタへの参入時に使用できる通信デバイスはすべてデバイステーブルに保存します。cfconfig -L コマンドで構成が無効であったり存在しなかった場合には、本オプションが指定された場合の処理が実行されます。
ノードをクラスタから削除し、ドライバをアンロードします。本オプションではノードのクラスタ構成を削除しません。構成を削除するには、以下に示す -d オプションを使用してください。
クラスタ構成 (ノード名を含む)を設定します。本オプションは、次に示す -s オプションと同様ですが、ここではノード名を明示的に指定する点が異なります。構成は次のように指定します。
nodename clustername device device ...
nodename
クラスタでノードを識別するための名前。英数字または記号(-, _)を設定します。CFノード名の先頭文字には、英字を設定してください。名前は小文字に変換されます。11 文字以下にしてください。
クラスタノードの名前は、以前のように('uname -n' で表示される)ホスト名に限定されませんが、ホスト名と同じ名前を使用することも可能です(cfconfig の -s オプションを参照)。
clustername
ノードを参入または作成するクラスタの名前。印刷可能な文字を使用してください。名前は大文字に変換されます。クラスタ名には、空白を含まず、31 文字以下の名前を指定してください。
device
クラスタインタコネクトに使用するデバイス名、またはCF over IP を構成するための特殊な IP デバイス (/dev/ip0 ~ /dev/ip3)。使用可能なデバイスの名前を取得するには、cftool -d を実行します。最大 8 個のデバイスが指定できます。
<自ノードのIP-address>
インターコネクトに使用する自ノードの IP インタフェースを指定してください。
broadcast-address
自ノードの IP インタフェースに設定されているブロードキャストアドレスを指定してください。
ポイント
異なるネットワークセグメントの場合、クラウド環境の場合、または RHOSP 環境の場合は、以下のように設定してください。
cfconfig -S nodename clustername [[IP-device <自ノードのIP-address> broadcast-address [<他ノードのIP-address> [...] ] ] [...]]
IP-device
CF over IP を構成するための特殊な IP デバイス (/dev/ip0 ~ /dev/ip3) を指定してください。
<自ノードのIP-address>
インターコネクトに使用する自ノードの IP インタフェースを指定してください。
broadcast-address
自ノードの IP インタフェースに設定されているブロードキャストアドレスを指定してください。
<他ノードのIP-address >
クラスタを組む他ノードの IP インタフェースを、スペース区切りで全ノード分指定してください。IP アドレスを記載する順番は特に指定はありません。
例)
cfconfig -S nodename CLUSTERNAME /dev/ip0 172.25.100.4 172.25.100.255 172.25.200.4
クラスタ構成(ノード名を含まない)を設定します。デフォルトのノード名をシステムのホスト名('uname -n' を参照)から取得します。本オプションは現在、下位互換(Linux の場合 4.0A20 以前、Solaris の場合 4.0A10 以前)のために残されています。通常は -S オプションを使用してください。構成は次のように指定します。
clustername device device ...
clustername
ノードを参入または作成するクラスタの名前。印刷可能な文字を使用してください。名前は大文字に変換されます。クラスタ名には、空白を含まず、31文字以下の名前を指定してください。
device
クラスタインタコネクトに使用するデバイス名、またはCF over IP を構成するための特殊な IP デバイス (/dev/ip0 ~ /dev/ip3)。使用可能なデバイスの名前を取得するには、cftool -d を実行します。最大 8 個のデバイスが指定できます。
<自ノードのIP-address>
インターコネクトに使用する自ノードの IP インタフェースを指定してください。
broadcast-address
自ノードの IP インタフェースに設定されているブロードキャストアドレスを指定してください。
構成はリブートを行っても変更されず、-d オプションによって削除されるまで、-lオプションを指定する度に参照されます。
ポイント
異なるネットワークセグメントの場合、クラウド環境の場合、または RHOSP 環境の場合は、以下のように設定してください。
cfconfig -s clustername [[IP-device <自ノードのIP-address> broadcast-address [<他ノードのIP-address> [...] ] ] [...]]
IP-device
CF over IP を構成するための特殊な IP デバイス (/dev/ip0 ~ /dev/ip3) を指定してください。
<自ノードのIP-address>
インターコネクトに使用する自ノードの IP インタフェースを指定してください。
broadcast-address
自ノードの IP インタフェースに設定されているブロードキャストアドレスを指定してください。
<他ノードのIP-address >
クラスタを組む他ノードの IP インタフェースを、スペース区切りで全ノード分指定してください。IP アドレスを記載する順番は特に指定はありません。
例)
cfconfig -s CLUSTERNAME /dev/ip0 172.25.100.4 172.25.100.255 172.25.200.4
注意
既存のクラスタ構成を変更するために -S または -s オプションを使用することはできません。以前の構成を -d オプションで削除してから、-S または -s オプションを再指定する必要があります。
deviceには物理デバイス名(例:/dev/hme0)を指定してください。Solaris 11環境では、リンク名(例:net0)は指定できません。
クラスタ構成を取得します。-S または -s オプションで作成したノードのクラスタ構成を表示します。
クラスタ構成を取得します。-S または -s オプションで作成したノードのクラスタ構成を表示します。また、設定された IP アドレスを表示します。
クラスタ構成を削除します。-S または -s オプションで作成したノードのクラスタ構成を削除します。本オプションを実行する場合には、-u オプションにより、ノードをクラスタから削除し、ドライバをアンロードすることが必要となります。
簡単な使用説明を出力します。
◆使用例
ノードの使用可能な 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 を起動するには、次のようにします。
ドライバをロードし、CF を起動します。
# cfconfig -l
CF を停止するには、次のようにします。
CF を停止し、ドライバをアンロードします。
# cfconfig -u
◆終了ステータス
0 :正常終了
0 以外:異常終了
◆関連項目
構成情報および Cluster Admin については、"PRIMECLUSTER 導入運用手引書" を参照してください。
クラスタノードで使用しているクラスタインタコネクトを動的に変更する
◆形式
cfrecon [ -a device | -d device | -h | -s ] [ -q ]
◆機能説明
本コマンドは、次の場合に使用します。
クラスタインタコネクトの動的な無効化、構成削除、および削除。
新しいクラスタインタコネクトの動的な追加、構成、および有効化。
このクラスタノード、およびすべての構成済みのクラスタインタコネクトとその関連する経路の状態の表示。また、その他すべてのクラスタインタコネクトとその属性の表示。
同一クラスタ内で同時に本コマンドの多重実行ができません。クラスタ参入処理中は本コマンドはエラーとなります。
本コマンドはシステム管理者権限で実行してください。
◆オプション
クラスタインタコネクトを追加、構成、および有効化します。指定する device パラメタは、クラスタインタコネクトデバイスの名前でなければなりません。使用するオペレーティング環境に応じて、/dev/hme3、/dev/iprb0、/dev/ge1 などとなります。指定されたデバイスは、cfrecon -s コマンドで参照できます。
注意
device には物理デバイス名(例:/dev/hme0)を指定してください。Solaris 11環境では、リンク名(例:net0)は指定できません。
本オプションでは、次のようないくつかの異なる状況やシナリオが発生します。
ノードが稼動中のクラスタノードでない場合
この場合はエラーとして処理され、cfconfig コマンドを使用してノードのクラスタ構成を変更することを促すメッセージが表示されます。
指定されたデバイスがクラスタインタコネクトデバイスでない場合
この場合はエラーとして処理され、0 以外の終了ステータスを返し、デバイスが無効であるというエラーメッセージが表示されます。
指定されたデバイスがすでに稼動中の構成済みのクラスタインタコネクトである場合
この場合はエラーとして処理されず、終了ステータスとして 0 を返し、デバイスがすでに稼動中であることを示すメッセージが表示されます。
指定されたデバイスが管理されているが、構成はされていないクラスタインタコネクトである場合
この状況は Solaris で cfconfig -l が実行された(その結果すべてのクラスタインタコネクトが監視される)場合のみに生じます。デバイス構成は、他のすべてのクラスタノードに "スタブ" の経路を追加することにより完了します。これらの新しい経路はその後有効となり、他のクラスタノードが新しい経路を使用してハードビートダイアログを完了すると、"リカバリ" されます。そしてクラスタ構成定義ファイルが新しいデバイスで更新され、その後の再起動では必ず新しいデバイスが使用されるようになります。コマンドは終了ステータス 0 で正常終了し、新しいデバイスがクラスタインタコネクトとして使用されることを示すメッセージが表示されます。
指定されたデバイスが管理も構成もされていないクラスタインタコネクトである場合
この状況は前の場合と似ていますが、デバイスを CF に追加し設定しなければならない点が異なります。他のすべてのクラスタノードへの "スタブ" の経路は、前述のように追加する必要があります。これらの新しい経路はその後有効となり、他のクラスタノードが新しい経路を使用してハートビートダイアログを完了すると、"リカバリされた" となります。そしてクラスタ構成定義ファイルが新しいデバイスで更新され、その後の再起動では必ず新しいデバイスが使用されるようになります。コマンドは終了ステータス 0 で正常終了し、新しいデバイスがクラスタインタコネクトとして使用されることを示すメッセージが表示されます。
クラスタインタコネクトを無効化、構成削除、および削除します。指定する device パラメタは構成済み、または管理されたクラスタインタコネクトの名前でなければなりません。この名前の形式は、使用するオペレーティング環境に応じて、/dev/hme3、/dev/iprb0、/dev/ge1、/dev/ip0 などとなります。指定されたデバイスは、cfrecon -s コマンドの出力のどこかに必ず表示されます。
注意
device には物理デバイス名(例:/dev/hme0)を指定してください。Solaris 11環境では、リンク名(例:net0)は指定できません。
本オプションでは、次のようないくつかの異なる状況やシナリオが発生します。
ノードが稼動中のクラスタノードでない場合
この場合はエラーとして処理され、cfconfig コマンドを使用してノードのクラスタ構成を変更することを促すメッセージが表示されます。
指定されたデバイスがクラスタインタコネクトデバイスでない場合
この場合は正常に終了(終了ステータス 0)しますが、デバイスが無効であるというエラーメッセージが表示されます。
指定されたデバイスが CF で管理されたクラスタインタコネクトでない場合
この場合は正常に終了(終了ステータス 0)し、関連するメッセージが表示されます。
指定されたデバイスが管理されているが、構成はされていないクラスタインタコネクトである場合
この状況は Solaris で cfconfig -l が実行された(その結果すべてのクラスタインタコネクトが監視される)場合のみに生じます。
デバイスが実行中の CF 環境の制御から削除され、コマンドは正常終了します。
指定されたデバイスが構成済みのクラスタインタコネクトである場合
追加のチェックが実行されます。このデバイスを無効にすることにより、他のすべての稼動中のクラスタノードへの運用中の経路を持つ他のクラスタインタコネクトが存在せず、クラスタが "分断" する場合には、本コマンドはエラーとなります(本コマンドは、稼動中のクラスタノードへの最後の経路を削除しません)。cfconfig -u を正しく使用してノードをクラスタから削除することを促すエラーメッセージが表示され、0 以外の終了ステータスが生成されます。
クラスタ内すべてのノードに対して 2つ以上の運用中の経路がある場合
指定されたデバイスに関連する経路はすべて無効にされ、それにより ICF 経路切替えが開始される場合があります。その場合、デバイスは実行中の CF 環境の制御から構成削除され、削除されます。最後に、その後の再起動が正常に実行されるように、指定されたデバイスをクラスタ構成定義ファイルから削除します。更新が完了したことを示すメッセージが表示され、終了ステータス 0 で正常終了します。
本コマンドの簡単な使用説明を出力します。終了ステータスは 0 です。
このノードの状態とそのクラスタ構成情報を表示します。ノードが稼動中のクラスタノードである場合には、クラスタ内のその他のノード名、および管理されたすべてのローカルクラスタインタコネクトと構成済みのインタコネクトに関連する経路の状態を表示します。また、その他すべてのクラスタインタコネクトとその属性を表示します。
quiet モードです。cfrecon コマンドが正常終了したかエラーとなったかは、終了ステータスによってのみわかります(正常終了の場合 0、異常終了の場合 0 以外)。コマンド構文が正しいことを確認した後は、エラー、警告、および情報メッセージを一切表示しません。
例えば cfrecon -s -q は、何も出力せずに必ず終了ステータス 0 で終了します。
また、cfrecon -q -d/dev/dsk/c0t0d0s5 により、(誤った)ディスクドライブの削除を実行した場合、CF がこのデバイスをクラスタインタコネクトとして使用することはあり得ないため、何も出力せずに終了ステータス0で終了します。
この quiet モードで、上記の例とは逆に、cfrecon -q -a/dev/dsk/c0t0d0s5 によって、(誤った)ディスクドライブをクラスタインタコネクトとして追加しようとすると、何も出力しませんが、0 以外の終了ステータスでエラーとなります。
◆使用例
ここでは、本コマンドの通常の使用例を示します。
構成済みのクラスタインタコネクトを削除します。
# 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 fuji4 in cluster CLUSTER1
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 fuji4 3 UP Solaris Sparc 0
cfconfig info: fuji3 CLUSTER1 /dev/eri1 /dev/hme0
cluster info: Node Number State Os Cpu fuji2 1 UP Solaris Sparc fuji3 2 UP Solaris Sparc fuji4 3 UP Solaris Sparc fuji5 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 fuji2 1 1 1 4 UP 00.80.17.84.41.52 fuji2 1 2 2 4 UP 08.00.20.ed.fa.48 fuji3 2 1 1 4 UP 00.80.17.84.40.fb fuji3 2 2 2 4 UP 08.00.20.ee.00.d3 fuji4 3 1 1 4 UP 00.80.17.84.41.93 fuji4 3 2 2 4 UP 08.00.20.ed.dc.0c fuji5 4 1 1 4 UP 08.00.20.bd.5f.ca fuji5 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 fuji2 1 UP 00.80.17.84.41.52 fuji3 1 UP 00.80.17.84.40.fb fuji4 1 UP 00.80.17.84.41.93 fuji5 1 UP 08.00.20.bd.5f.ca 2 /dev/hme0 4 100 1432 YES 08.00.20.ed.dc.0c fuji2 2 UP 08.00.20.ed.fa.48 fuji3 2 UP 08.00.20.ee.00.d3 fuji4 2 UP 08.00.20.ed.dc.0c fuji5 2 UP 08.00.20.ef.23.da
additional eligible cluster interconnects: /dev/eri0
上記の cfrecon -s コマンドの出力では、クラスタノードに関するすべての情報が表示されます。表示される情報は、cftool -v/-l/-n/-d/-r および cfconfig -g オプションの内容に加えて、次の 2つの新しいテーブルが表示されます。
その他のクラスタインタコネクト(存在する場合)の一覧
ICF 経路と構成済みのクラスタインタコネクトデバイスの対応表(非対称なクラスタインタコネクト構成が存在する場合はそれを表示するため)
<特殊な例>
以下の特殊なケースでも本コマンドを利用する場合があります。
対称クラスタインタコネクト
非対称クラスタインタコネクト
稼動中のすべてのクラスタノードにクラスタインタコネクトを追加する
◆終了ステータス
0 :正常終了
0以外:異常終了
◆関連項目
構成情報および Cluster Admin GUI については、"PRIMECLUSTER 導入運用手引書 (Oracle Solaris)" を参照してください。
Unified Archivesを用いたクローニングで失われるデバイスファイルへのシンボリックリンクを復元する
◆形式
/opt/SMAW/SMAWcf/bin/cfrecoverdev
◆機能説明
Unified Archivesを用いたクローニングで失われるPRIMECLUSTERのデバイスファイルへのシンボリックリンクを復元します。Unified Archivesを用いてクローニングを行った後、PRIMECLUSTERを使用するためには本コマンドの実行が必要です。
本コマンドは、システム管理者権限で実行してください。
◆オプション
なし
◆終了ステータス
0:正常終了
0以外:異常終了
CF レジストリ同期デーモン
◆形式
cfregd [ -r ]
◆機能説明
CF レジストリ同期デーモン cfregd は、クラスタの各ノードの CF レジストリデータファイルの管理を行います。デーモンは、CF ドライバをロードし、クラスタ参入処理を開始する際(cfconfig -l)に、cfconfig コマンドにより自動的に起動されます。そして CF ドライバをアンロードする際(cfconfig -u)に、cfconfig コマンドによりデーモンは自動的に停止されます。
起動後、デーモンはまず同期処理フェーズに入り、管理すべきデータファイルが、他のすべてのクラスタノードで動作しているデーモンの管理しているデータファイルと同一のエントリを含むことを確認します。データファイルが、クラスタ内の他のノードで管理されているデータファイルと同一でない場合には、デーモンはその比較結果をシステムログに記録し、停止します。起動時にデータファイルが存在しないか、またはデータファイルが空である場合、あるいはデータファイルのリカバリモード(以下のオプションを参照)で起動した場合は、デーモンは、クラスタ内の他のノードで管理されているデータファイルと同じエントリを含むデータファイルを作成し更新します。
同期処理フェーズが完了すると、デーモンは通常の運用モードに入り、クラスタのいずれかのノードで動作するアプリケーションがエントリを作成、変更、または削除を行うトランザクションの実行に応じて、データファイルを更新します。データファイルの更新は、アプリケーションがトランザクションを終了したときにのみ行われます。デーモンは、データファイルの一時的コピーにトランザクションの更新を適用することにより、データファイルを更新します。データファイルの一時的コピーは、データファイルと同じパス名を持ち、ファイル名には .tmp がついています。一時ファイルに更新を適用した後、デーモンは、データファイルを同じパス名でファイル名に .old をつけた名前に変更し、一時ファイルの名前を元のデータファイル名に変更してから、.old をつけた古いデータファイルを削除します。
本コマンドは、システム管理者権限で実行してください。
◆オプション
データファイルをリカバリします。-r オプションで起動された場合、デーモンは同期処理フェーズにおいてデータファイル比較を実行しません。そのかわり、デーモンは、管理するデータファイルを作成および更新し、そのデータファイルが、クラスタ内の他のすべてのノードの同期デーモンが管理するデータファイルと同じエントリをすべて含むようにします。クラスタの中で同期処理フェーズに入った最初のデーモンであり、データファイルがすでに存在すればそのエントリが使用され、データファイルが存在しない場合にはエントリを含まない新しいデータファイルが作成されます。
◆備考
デフォルトでは、デーモンが管理するデータファイルのパス名は /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つから構成されます。
値を設定する CF 構成パラメタの名前。Name の長さは最大 31 バイトです。名前は一意である必要があります。
cfconfig -l、および cfset(1M) コマンド(cfset -r)でエントリを適用したときに、重複した名前は検出され、エラーとして報告されます。エラーはメッセージログファイルに記録されます。
ドライバをロードするために cfconfig -l を使用する場合には、Name の値がロードされます。
ドライバがすでにロードされ実行中の場合は、cfset(1M) によりName の値を変更します。
Name の値で、二重引用符または単一引用符で囲まれた文字列です。Value の長さは最大 4K です。値には、空白(スペース)を含めることができます。
シャープ記号(#)で始まる行はコメントとして扱われ、エントリは無視されます。ただし、引用符で囲まれた値の中に # が使用されている場合は例外です。
単一引用符は、二重引用符で囲むことができます。またこの逆も可能です。
二重引用符または単一引用符で始まる行は、前の値の続きと解釈されます。
例:
TEST "abcde" "1234"
は、TEST "abcde1234" となります。
TEST "abcde"
は、TEST "abcde" となります。
また、
"abcde" のみの場合は無効なフォーマットと判断されます。
cfset は次の場合に使用することができます。
CF モジュールへの値のロード
CF モジュールの値の追加、変更、および削除
CF モジュールまたは /etc/default/cluster.config からの現在値の取得
本コマンドは、システム管理者権限で実行してください。
◆オプション
/etc/default/cluster.config のエントリを CF モジュールへ再読込みします。本オプションは、ドライバがすでにロードされ動作している場合に使用します。本オプションにより、cf ドライバの構成削除、削除、および再読込みを行う必要はなくなります。本オプションはファイルの中のすべての異なるエントリを CF モジュールに同時にロードします。各エントリの正当性をチェックし、無効なエントリ、無効なフォーマット、または重複したエントリを /var/adm/messages (Soalrisの場合)、/var/log/messages (Linux の場合)に記録します。
ファイルの中のすべての有効な Name および Value を出力します。/etc/default/cluster.config ファイルのすべてのエントリから、有効なエントリを標準出力に出力します。無効なエントリ、無効なフォーマット、または重複したエントリは /var/adm/messages (Soalris の場合)、/var/log/messages (Linux の場合)に記録されます。
CF が現在使用しているすべての Name と Value をカーネルから出力します。
指定された Name に対して、CF が現在使用している Name と Value をカーネルから出力します。該当する名前が見つからなかった場合は、エラーを返します。
ユーザが入力した Name に対する特定のValueを、/etc/default/cluster.config から取得します。該当する名前が見つからなかった場合は、エラーを返します。
簡単な使用説明を出力します。
注意
CLUSTER_TIMEOUT を設定しない場合、本コマンドの出力に CLUSTER_TIMEOUT 設定情報は表示されません。デフォルト値の 10秒が設定されます。
◆終了ステータス
0 :正常終了
0以外:異常終了
◆関連項目
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 オプションが指定された場合には、すべてのオプションに適用されます。
◆オプション
ノードが含まれるクラスタ名を表示します。
コマンドが実行されたノードの属性と状態を表示します。CF が(cfconfig -l コマンドによって)まだ初期化されていない場合には、ノード名は "Unknown" と表示されます。出力フォーマットは次のとおりです。
Node Number State OS CPU Flags
Node
ノード名
Number
クラスタ内のノード番号
State
UNLOADED: CF停止状態
LOADED: CFモジュールロード完了(CFを設定せずに起動した場合)
UP: CF起動完了(CFを設定して起動した場合)
NOT_INITED/COMINGUP: 状態遷移中
OS
オペレーティングシステム
CPU
マシンのアーキテクチャ
Flags
このローカルノードに関連するフラグビット。このフィールドはフラグビットの集合であり、10 進数として出力されます。
クラスタ内のすべてのノードの属性と状態を表示します。ローカルノードが UP 状態でない場合には、ローカルノードの状態と属性のみが表示されます。いずれの場合も次のフォーマットが使用されます。
Node Number State OS CPU
Node
ノード名
Number
クラスタ内のノード番号
State
リモートノード
DOWN: CF停止状態
UP: CF起動完了
LEFTCLUSTER: LEFTCLUSTER状態
詳細は"PRIMECLUSTER Cluster Foundation 導入運用手引書"の"LEFTCLUSTER状態"を参照してください。
ローカルノード:
UP: CF起動完了
OS
オペレーティングシステム
CPU
マシンのアーキテクチャ
次のフォーマットで、ローカルノードからクラスタ内のすべての経路を表示します。
Node Number Srcdev Dstdev Type State Destaddr
Node
リモートノード名
Number
クラスタ内のリモートノード番号
Srcdev
ローカルノードの送信元デバイス番号
Dstdev
リモートノードの送信先デバイス番号
Type
ネットワークデバイスのタイプ
State
経路の状態(UP/DOWN)
Destaddr
ノードデバイスアドレス
注意
cftool -n の State が DOWN 状態または LEFTCLUSTER 状態のノードに対しては、経路の状態は正しく表示されないことがあります。
自ノードへの経路、および、ノードへの最後の経路の状態は常に UP 状態となります。
詳細な経路を表示します。
-r オプションと類似していますが、次のフォーマットでローカルノードからクラスタ内のすべての経路をより詳細に表示します。
Node Num SrcDev DstDev Typ InUse CurrState TotXmit TotRecv TotDgrd TotDown HeartBtReqXmit HeartBtReqRecv HeartBtReplyRecv SwtchRoute OutOfSeq
Node
リモートノード名
Number
クラスタ内のリモートノード番号
Srcdev
ローカルノードの送信元デバイス番号
Dstdev
リモートノードの送信先デバイス番号
Type
ネットワークデバイスのタイプ
InUse
経路上で有効なデータの流通量を表示(ACTV/IDLE)
CurrState
経路の状態(UP/DOWN/DEGRAD)
TotXmit
経路上に送信したパケット数
TotRecv
経路上で受信したパケット数
TotDgrd
経路がDEGRADになった回数
TotDown
経路がDOWNした回数
HeartBtReqXmit
経路上でハートビートの要求を送信した回数
HeartBtReqRecv
経路上でハートビート要求を受信した回数
HeartBtReplyRecv
経路上でハートビートに返信した回数
SwtchRoute
データの流通量が切られた回数
OutOfSeq
経路上で通信が困難になった回数
注意
cftool -n の State が DOWN 状態または LEFTCLUSTER 状態のノードに対しては、経路の状態は正しく表示されないことがあります。
自ノードへの経路、および、ノードへの最後の経路の状態は常に UP 状態となります。
ローカルノードのデバイス情報。ノードの ICF デバイスを次のフォーマットで表示します。
CFが設定されていない場合、すべてのデバイスの情報が表示されます。CFが設定されている場合、CFに設定したデバイス情報のみが表示されます。
Number Device Type Speed Mtu State Configured Address
Number
デバイス番号
Device
デバイス名
Type
デバイスタイプ
Speed
内部デバイス速度表示
Mtu
転送ユニットサイズの最大値
State
デバイスの稼動状態(UP/DOWN)
Configured
デバイスがノードのクラスタインタコネクトとして設定されている場合には YES、それ以外の場合には NO となります。
Address
デバイスアドレス
CFドライバの内部バージョン情報を表示します。
ICF 上の ping プロトコルを実装しています。
CFが設定されていない場合、すべてのデバイス経由でping 要求を送信します。CFが設定されている場合、CFに設定されているデバイス経由でping 要求を送信します。他ノードからのping 要求に対する応答は、ノードがどの状態にあっても行います。
応答は次のフォーマットで表示されます。
Localdev Srcdev Address Cluster Node Number Joinstate
Localdev
応答を受信するローカル ICF デバイス番号
Srcdev
応答を送信するリモート ICF デバイス番号
Address
リモート ICF デバイスのアドレス
Cluster
リモートノードのクラスタ名
Node
リモートノード名
Number
クラスタ内のリモートノード番号
Joinstate
ノードの内部参入状態を示す数
ICF 上の echo プロトコルを実装しています。(すべてのノードがどの状態にあっても応答するのではなく)UP 状態のノードのみが、ICF で使用するように設定されたすべてのデバイスに対して応答します。応答は、ping の場合と同じフォーマットで表示されます。
node の ICF 通信プロトコル統計を表示します。メタノード all を指定すると、クラスタ全体の統計を要求することができます。統計は次のフォーマットで表示されます。
Counter Value
各値は、対応するカウンタの、-u オプションにより最後に統計がクリアされてからの変更を反映します。次のカウンタがあります。
ICF DATA packets xmit/rx:
送信/受信データパケット数。
ICF ENQ packets xmit/rx:
送信/受信 ENQ パケット数。このノードが送信したメッセージがまだ承認されていないことを、ICF サービスタイマが検出すると ENQ メッセージが送信されます。
ICF ACK packets xmit/rx:
送信/受信 ACK パケット数。ACK は、有効なメッセージを受信したことを承認するために送信されます。
ICF NACK packets xmit/rx:
送信/受信 NACK パケット数。NACK は、MIPC 宛先ノードが不正であるなどの理由で、受信メッセージが無効であることを示すために送信されます。
ICF HTBT_REQ packets xmit/rx:
送信/受信ハートビート要求パケット数。
ICF HTBT_RPLY packets xmit/rx:
送信/受信ハートビート応答パケット数。この値は、HTBT_REQ 値と同じになるはずです。異なる場合には、おそらくインタコネクトの負荷が高いために、ハートビートメッセージが破棄されていることになります。
ICF SYN packets xmit/rx:
送信/受信 SYN パケット数。SYN パケットは、クラスタ構築フェーズにおいて、ノードがクラスタを形成したり、クラスタに参入したりする際に送信されます。
ICF SYN_ACK packets xmit/rx:
送信/受信 SYN_ACK パケット数。SYN_ACK は、SYN パケットに対する返信として送られる ACK です。
ICF SQE packets xmit/rx:
送信/受信 SQE パケット数。ノードは、受信したメッセージを処理できない状態にある場合に、SQE(source quench)フロー制御メッセージを送信します。これには、MIPC 層のユーザアプリケーションが受信バッファを配置し忘れているなどの理由が考えられます。SQE は、順序に誤りのあるメッセージを受信した場合にも送信されます。
ICF ECHO packets xmit/rx:
送信/受信 ECHO パケット数。ECHO プロトコルの詳細については、cftool -e を参照してください。
ICF NO_SVC packets xmit/rx:
送信/受信 NO_SVC パケット数。使用不可能なサービスへのメッセージを受信した場合に、ICF は、NO_SVC (no service) パケットで応答します。
Error from interface on xmit:
送信中にデバイスインタフェースがエラーを返した回数。このカウンタは通常 0 となります。
node not configd yet:
クラスタのメンバになる前にこのノードが受信したメッセージ数。
generation # mismatch:
メッセージヘッダの世代番号が予期しない値であった回数。
Msg dropped. Failed unpack:
アンパック時にエラーのために破棄された受信メッセージの数。これは通常、メッセージが無効なポート番号へ送信されたり、メッセージサイズが無効であるために生じます。
Recd. out of seq msgs:
順序に誤りのあるメッセージを受信した回数。最大の原因は、下位層のネットワークドライバが受信パケットを適切な時間内に処理することができないため、一部のパケットが破棄されてしまうというネットワークの過負荷です。その他には、ネットワーク障害のためにパケットが破棄されていることが考えられます。
Retransmit send queue requests:
送信キュー内のメッセージが受信ノードに承認されるまでの間に、ICF サービスタイマがタイムアウトした回数。この場合、ICF サービスタイマはメッセージの再送信を要求します。
Ack xmit attempts:
ICF がピアノードに ACK メッセージを送信した回数。
Recd. duplicate pkt; dropped:
ICF 層において、重複したパケットを受信したためにパケットを破棄することになった回数。重複パケットは、一般的にネットワークの輻輳を意味します。ピアノードが「送信キューの要求の再送信」を行う場合、重複パケットが生じます。これは、ACK メッセージが遅れたか、パケットが破棄されたことを示します。
recd pkt w/bad svc type; dropped:
ICF 層が、無効なサービス番号、または使用不可能なサービスへのパケットを受信したために、パケットを破棄することになった回数。
DATA Fragments xmitted:
ICF 層が送信したデータフラグメント数。下位層プロトコルの MTU よりもメッセージサイズが大きい場合に、データフラグメントが送信されます。
DATA Fragments recd:
ICF 層が受信したデータフラグメント数。
allocate function failures:
ICF 層がリソース不足のために受信メッセージを処理できなかった回数。これは、MIPC ユーザアプリケーションが受信バッファをタイムリーに用意しなかった場合に生じます。
input function failures:
ICF 層が登録された入力関数を呼び出す時に、エラーが発生した回数。これは、メッセージを再組み立てするため、すべてのフラグメントを受信する前に、MIPC ユーザアプリケーションがエンドポイントを終了する場合に生じます。
ffree function calls - tx done:
MIPC 層が送信バッファを空にできるように、MIPC 送信のために登録されたコールバック関数が呼び出された回数。これは、送信メッセージが承認された場合に生じます。
sfree function calls - got ack: :
MIPC 層が送信バッファを空にできるように、MIPC 送信のために登録されたコールバック関数が呼び出された回数。sfree モードは、送信がまだ進行中の間に送信ACK を受信したことを示します。
ICF SYN timeouts:
SYN タイムアウトが発生した回数。詳細については、上記の SYN および SYN_ACK を参照してください。
ICF regular heartbeat timeouts:
ハートビートタイムアウト数。この数は、ノードが、ハードビート間隔の間にピアノードからハートビートを受信できなかった場合に増分されます。
ICF requested heartbeat timeouts:
未使用。
ICF messages quickly deferred:
メッセージが「直ちに」延期キューに追加された回数。このカウンタは、メッセージの送信準備ができているが、ICF 送信キュー(送信ウィンドウ)がいっぱいであり、また延期キューにもすでにメッセージが存在する場合に増分されます。この場合、メッセージは「直ちに」延期キューに追加されます。
ICF messages deferred:
メッセージが延期キューに追加された回数。このカウンタは、メッセージの送信準備ができているが、ICF 送信キュー(送信ウィンドウ)がいっぱいである場合に増分されます。この場合、メッセージは延期キューに置かれます。このカウンタの値が大きい場合は、ネットワークの輻輳、ピアノードからの ACK 応答の遅延、または過負荷を示します。
ICF service switched route:
経路が DOWN 状態となったため、ICF サービスが他の経路に切替えを行う必要があった回数。ハートビート間隔中に経路でハートビートが受信されなかった場合に、その経路は DOWN 状態となります。その経路で再びハートビートが正しく受信されると、経路は DOWN 状態から回復します。
ICF replies re-routed:
ICF がピアノードに対して、制御メッセージでの応答を試みたが、経路が DOWN 状態であることを検出した回数。この場合、ICF は、制御メッセージを UP 状態の経路で再送信します。ハートビートメッセージが失われるために経路が DOWN 状態にされると、経路を変更して再送信されるメッセージが増えます。
ICF input busy:
ICF がメッセージフラグメントの入力を試みたが、選択されたサービスの入力キューがビジー状態であることを検出した回数。これは、他の入力スレッドがメッセージフラグメントを入力していることを示します。
MAC 通信統計を表示します。
ICF/MAC 統計をクリアします。
このノードの ping キューをフラッシュします。すべての cftool ping 要求は同一の要求キューを共用するので、本オプションは他の並列に実行されている ping コマンドに影響を及ぼす可能性があります。
各 ping を送信する間の待ちタイムアウトミリ秒数。デフォルトは 500 ミリ秒です。本オプションは -P、-I、-E、および -A とともに使用することができます。
指定されたクラスタ内のすべてのインタフェースに ping します。
nodename のノードに ping します。ノードが複数のインタフェースを持つ場合には、使用するインタフェースを選択するように促されます。
ノードの MAC アドレスを使用してノードに ping します。Solaris では、同じMAC アドレスを他のインタフェースに使用している場合があります。その場合は、特定のインタフェースを選択するように促されます。
count に指定した数のパケットを送信してから停止します。本オプションは -P、-I、および -E とともに使用することができます。
選択されたノードに ping します。ping 可能なノードの一覧からノードを選択するか、あるいはノード名または MAC アドレスでノードを指定するかを選択できます。
クラスタを離脱したノードを停止させます(つまり、ノードを LEFTCLUSTER 状態から DOWN 状態にします)。本オプションは対話形式で、停止するノードのノード番号とノード名の入力を促します。
解析可能なフォーマットで出力されます。各列の見出しは省略されます。
ハートビート情報。
次のフォーマットでローカルノードからクラスタ内の他のノードへのすべてのハートビートの統計を表示します。
src src dst dst d htbt-id sum of longest extra - - - - - round-trip-time - - - - - - - - node device node dev n last-sent responses round-trip responses zero <200ms <400ms <800ms <1600ms >1600ms
src node
ローカルノード名
src device
ローカルノードの送信元デバイス番号
dst node
リモートノード名
dst dev
リモートノードの送信先デバイス番号
d n
経路がDOWNの場合
htbt-id last-sent
経路上に送信された確認できる最後のハートビート要求数
sum of responses
受信した全ハートビート応答の合計
longest round-trip
ハートビート要求/応答サイクルの最長時間
extra responses
予期されないハートビート応答の数
これらは通常他ノードのリカバリと連携します。
round-trip-time zero
同じタイマ割り込みに受信した応答数
round-trip-time <200ms
200ms未満で受信した他の応答数
round-trip-time <400ms
400ms未満で受信した他の応答数
round-trip-time <800ms
800ms未満で受信した他の応答数
round-trip-time <1600ms
1600ms未満で受信した他の応答数
round-trip-time >1600ms
1600ms以上で受信した他の応答数
簡単な使用説明を出力します。
◆終了ステータス
0 :正常終了
0以外:異常終了
◆関連項目
"PRIMECLUSTER 導入運用手引書" および、"PRIMECLUSTER Cluster Foundation 導入運用手引書" を参照してください。
cfconfig(1M)
クラスタ整合状態(クォーラム)を設定または開始する
◆形式
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 により、本コマンドを呼び出すこともできます。
本コマンドは、システム管理者権限で実行してください。
◆オプション
ノードのクォーラムセットに新しいノードを追加します。クォーラムは、ノードのクォーラムセットの中でのみ決定されます。list-of-nodes-for-adding は、空白で区切られたノード名のリストです。このリストは次のオプションか、コマンドラインの末尾まで続きます。ノード A がすでにノードのクォーラムセットの中にあり、本オプションを使用してノード B とノード C を追加すると、ノード A、ノード B、およびノード C のクォーラムが決定されます。
新しい設定を適用する前に既存の設定をクリアします。本オプションは必ず -a オプションとともに指定してください。
ノードのクォーラムセットからノードを削除します。クォーラムは、ノードのクォーラムセットの中でのみ決定されます。list-of-nodes-for-deleting は、空白で区切られたノード名のリストです。このリストは次のオプションか、コマンドラインの末尾まで続きます。本オプションは、指定したオプションの順序にかかわらず、常に -a オプションの前で有効になります。ノードのクォーラムセットにすでにノード A、ノード B、ノード C が存在し、本オプションを使用してノード A を削除する場合、ノード B とノード C のクォーラムが決定されます。
現在のクォーラム設定パラメタを表示します。本オプションを指定すると、rcqconfig は、現在の設定の表示のみを行い、クォーラムの開始または再開は行いません。本オプションは他のオプションとともに使用することはできません。
簡単な使用説明を出力します。
クォーラムメソッドを設定します。list-of-quorum-methods は、CF が他のノードの状態を検出するときに使用するクォーラムメソッドのリストです。このリストは次のオプションか、コマンドラインの末尾まで続きます。メソッドが設定されない場合、CF は、クォーラム状態を取得するためにのみ CF の状態を使用します。
クォーラムメソッドを停止します。本オプションを使用すると、クォーラムメソッドに信号を送り、自動的に停止させることができます。rcqconfig は最大 5 秒まで、またはすべてのクォーラムメソッドが停止するまで待機します。本オプションは他のオプションとともに使用することはできません。
詳細情報を表示します。
本オプションは、-g および -s 以外のオプションとともに使用することができます。
クォーラムに構成から除外するノードを追加します。クォーラムはノードのクォーラムセットの中で決定されます。クォーラムを決定するとき、除外ノードとして指定されたノードは、必然的に省略されます。list-of-ignore-nodes は、本オプションのために空白で区切られたノード名のリストです。このリストは次のオプションか、コマンドラインの末尾まで続きます。本オプションを使用して、ノード A、ノード B、およびノード C で構成されるノードのクォーラムセットの中でノード A が除外される場合、ノード B とノード C のクォーラムが決定されます。
◆終了ステータス
0 :正常終了
0以外:異常終了
◆関連項目
クラスタの整合状態(クォーラム)の状態を取得する
◆形式
rcqquery [ -v ] [ -l ]
◆機能説明
本コマンドは、クォーラムの状態を調べ、終了ステータスを使って結果を返します。また、-v オプションを指定すると、結果を文字列(TRUE または FALSE)で返します。ノードのクォーラムセットに含まれるすべてのノードの状態が既知(TRUE)の場合、TRUE を返し、いずれかのノードが未知(FALSE)の場合、FALSE を返します。
◆オプション
現在のクォーラム状態が変化するたびにその状態を表示します。本オプションを指定すると、-v オプションも指定されたものとみなされます。
終了ステータスの他にクォーラム状態を文字列(TRUE または FALSE)で返します。
◆終了ステータス
クォーラムが存在する場合は状態 0 を返します。クォーラムが存在しない場合は状態 1 を返します。操作中にエラーが発生した場合は、1 と 0 以外の値を返して終了します。
◆関連項目
rcqconfig(1M)