library home hp.com home products and services support and drivers solutions
cd-rom home
End of Jump to page title
HP OpenVMS Systems
Documentation

Jump to content


OpenVMS

OpenVMS
OpenVMS Cluster システム


前へ 次へ 目次 索引


D.5.7 プログラムのテスト

障害を発生させて,プログラムをテストします。たとえば,トランシーバ・ケーブルや ThinWire セグメントを切断したり,ブリッジ,DELNI インターコネクト,DEMPR リピータで電源障害を発生させます。その後,OPCOM メッセージを調べて, LAVC$FAILURE_ANALYSIS が障害のあるコンポーネントを正しく報告しているかどうか確認します。障害を報告していない場合は, Network Failure Analysis Program に対して行った編集を確認します。

D.5.8 問題のあるコンポーネントの表示

OpenVMS Cluster ネットワーク・コンポーネントで障害が発生すると, OPCOM は疑いのあるコンポーネントの一覧を表示します。OPCOM を使用して一覧を表示することにより,システム管理者は,これらのメッセージの表示を選択的に有効および無効に設定できます。

以下に表示の例を示します。


%%%%%%%%%%%  OPCOM   1-JAN-1994 14:16:13.30  %%%%%%%%%%%    
(from node BETA at 1-JAN-1994 14:15:55.38) 
Message from user SYSTEM on BETA LAVC-W-PSUSPECT, component_name 
 
%%%%%%%%%%%  OPCOM   1-JAN-1994 14:16:13.41  %%%%%%%%%%%    
(from node BETA at 1-JAN-1994 14:15:55.49) 
Message from user SYSTEM on BETA %LAVC-W-PSUSPECT, component_name 
 
%%%%%%%%%%%  OPCOM   1-JAN-1994 14:16:13.50  %%%%%%%%%%%    
(from node BETA at 1-JAN-1994 14:15:55.58) 
Message from user SYSTEM on BETA %LAVC-I-ASUSPECT, component_name 

障害の疑いのあるコンポーネントを示す OPCOM 表示では,障害を示すために以下の接頭辞が使用されます。

メッセージ接頭辞の後のテキストは, LAVC$FAILURE_ANALYSIS.MAR を編集するときに指定したネットワーク・コンポーネントの記述です。


付録 E
LAN 制御のためのサブルーチン

E.1 はじめに

付録 D で説明したサンプル・プログラムの他に,サンプル・プログラムの機能を拡張するための方法として,多くのサブルーチンが提供されます。 表 E-1 では,これらのサブルーチンについて説明しています。

表 E-1 LAN 制御のためのサブルーチン
サブルーチン 説明
LAN アダプタの管理:
SYS$LAVC_START_BUS PEDRIVER に対して,特定の LAN アダプタで NISCA プロトコルを起動するように要求する。
SYS$LAVC_STOP_BUS PEDRIVER に対して,特定の LAN アダプタで NISCA プロトコルを停止するように要求する。
ネットワーク障害分析システムの制御:
SYS$LAVC_DEFINE_NET_COMPONENT 物理ネットワーク・コンポーネントの表現を作成する。
SYS$LAVC_DEFINE_NET_PATH 2 つのネットワーク・ノード間のネットワーク・コンポーネントの一覧を作成する。
SYS$LAVC_ENABLE_ANALYSIS ネットワーク障害分析を有効に設定する。この結果,将来のチャネル障害を分析することが可能になる。
SYS$LAVC_DISABLE_ANALYSIS ネットワーク障害分析を停止し,物理ネットワーク記述のために使用されていたメモリの割り当てを解除する。

E.1.1 サブルーチンの目的

この付録で説明するサブルーチンは,LAN 制御プログラムである LAVC$FAILURE_ANALYSIS.MAR,LAVC$START_BUS.MAR, LAVC$STOP_BUS.MAR で使用されます。これらのプログラムは, LAN ネットワークを制御できるだけの十分な機能を備えていますが, LAN 制御サブルーチンを使用すると,さらに LAN アダプタを管理するのに役立ちます。

E.2 NISCA プロトコルの起動

SYS$LAVC_START_BUS サブルーチンは,指定された LAN アダプタで NISCA プロトコルを起動します。SYS$LAVC_START_BUS ルーチンを使用するには,以下のパラメータを指定します。

パラメータ 説明
BUS_NAME 参照によって渡される LAN アダプタ名バッファを表現する文字列記述子。 LAN アダプタ名は 15 文字以内でなければならない。

例: 以下の Fortran サンプル・プログラムでは, SYS$LAVC_START_BUS を使用して, LAN アダプタ XQA で NISCA プロトコルを起動します。


PROGRAM START_BUS 
 
EXTERNAL SYS$LAVC_START_BUS 
INTEGER*4 SYS$LAVC_START_BUS 
INTEGER*4 STATUS 
 
STATUS = SYS$LAVC_START_BUS ( 'XQA0:' ) 
 
CALL SYS$EXIT ( %VAL ( STATUS )) 
 
END 

E.2.1 状態

SYS$LAVC_START_BUS サブルーチンは, 表 E-2 に示すように,レジスタ R0 に状態値を返します。

表 E-2 SYS$LAVC_START_BUS の状態
状態 結果
Success PEDRIVER が指定されたアダプタで NISCA プロトコルを起動しようとしていることを示す。
Failure PEDRIVER が指定された LAN アダプタでプロトコルを起動できないことを示す。

E.2.2 エラー・メッセージ

SYS$LAVC_START_BUS は,以下の表に示すエラー状態コードを返すことがあります。

状態コード 説明
SS$_ACCVIO この状態は以下の場合に返される。

  • 引数リストにアクセスできない。

  • LAN アダプタ名バッファ記述子にアクセスできない。

  • LAN アダプタ名バッファにアクセスできない。

SS$_DEVACTIVE バスがすでに存在する。PEDRIVER は,NISCA プロトコルのためにすでにこの LAN アダプタを使用しようとしている。
SS$_INSFARG 指定された引数の数が不足している。
SS$_INSFMEM バス・データ構造を作成するのに必要な非ページング・プールが不足している。
SS$_INVBUSNAM 指定されたバス名が不正である。指定されたデバイスは,プロトコルに対して使用できる LAN アダプタでない。
SS$_IVBUFLEN この状態値は以下の場合に返される。

  • LAN アダプタ名に文字が含まれていない (長さ = 0)。

  • LAN アダプタ名が 15 文字より長い。

SS$_NOSUCHDEV この状態値は以下の場合に返される。

  • 指定された LAN アダプタ名が,このシステムで PEDRIVER から使用できる LAN デバイスに対応していない。

  • LAN ドライバがシステムにロードされていない。 NET$AR_LAN_VECTOR の値が 0 である。

  • PEDRIVER が初期化されていない。PEDRIVER の PORT 構造を使用できない。

注意: このルーチンを呼び出すことにより,エラー・ログ・メッセージが作成されることがある。

SS$_NOTNETDEV PEDRIVER が指定された LAN デバイスをサポートしない。
SS$_SYSVERDIF 指定された LAN デバイスのドライバは,PEDRIVER で必要とされている VCI インタフェース・バージョンをサポートしない。

PEDRIVER は,指定された LAN アダプタへの接続を作成できなかったことを示す他のエラーを返すことがあります。

E.3 NISCA プロトコルの停止

SYS$LAVC_STOP_BUS ルーチンは,指定された LAN アダプタで NISCA プロトコルを停止します。

警告: すべての LAN アダプタで NISCA プロトコルを停止すると,サテライトがハング状態になり,クラスタ・システムが CLUEXIT バグチェックで異常終了することがあります。

このルーチンを使用するには,以下の表に示すパラメータを指定します。

パラメータ 説明
BUS_NAME 参照によって渡される LAN アダプタ名バッファを表す文字列記述子。 LAN アダプタ名は 15 文字以内でなければならない。

例: 以下の Fortran サンプル・プログラムでは,SYS$LAVC_STOP_BUS を使用して,LAN アダプタ XQB で NISCA プロトコルを停止する方法を示しています。


PROGRAM STOP_BUS 
 
EXTERNAL SYS$LAVC_STOP_BUS 
INTEGER*4 SYS$LAVC_STOP_BUS 
INTEGER*4 STATUS 
 
STATUS = SYS$LAVC_STOP_BUS ( 'XQB' ) 
 
CALL SYS$EXIT ( %VAL ( STATUS )) 
 
END 

E.3.1 状態

SYS$LAVC_STOP_BUS サブルーチンは, 表 E-3 に示すように,レジスタ R0 に状態値を返します。

表 E-3 SYS$LAVC_STOP_BUS から返される状態
状態 結果
Success PEDRIVER が,指定されたアダプタで NISCA プロトコルをシャットダウンしようとしていることを示す。
Failure PEDRIVER が,指定された LAN ドライバでプロトコルをシャットダウンできないことを示す。しかし,PEDRIVER はシャットダウンを非同期的に実行するため,他の理由で PEDRIVER がシャットダウンを完了できないことがある。

LAVC$STOP_BUS モジュールが正常に実行されると,以下のデバイス・アテンション・エントリがシステム・エラー・ログに書き込まれます。


DEVICE ATTENTION...
NI-SCS SUB-SYSTEM...
FATAL ERROR DETECTED BY DATALINK...

さらに,以下の 16 進数がエントリの STATUS フィールドに書き込まれます。

最初のロングワード (00000001)
2 番目のロングワード (00001201)

このエラー・ログ・エントリは,期待される動作を示すもので,無視してもかまいません。しかし,STATUS フィールドの最初のロングワードが 16 進数の 00000001 以外の値の場合は,エラーが発生しているため,さらに調査が必要になることがあります。

E.3.2 エラー・メッセージ

SYS$LAVC_STOP_BUS は,以下の表に示すエラー状態コードを返すことがあります。

状態コード 説明
SS$_ACCVIO この状態は以下の場合に返される。

  • 引数リストにアクセスできない。

  • LAN アダプタ名バッファ記述子にアクセスできない。

  • LAN アダプタ名バッファにアクセスできない。

SS$_INVBUSNAM 指定されたバス名が不正である。指定されたデバイスは, NISCA プロトコルに対して使用できる LAN アダプタでない。
SS$_IVBUFLEN この状態値は以下の場合に返される。

  • LAN アダプタ名に文字が含まれていない (長さ = 0)。

  • LAN アダプタ名の長さが 15 文字より長い。

SS$_NOSUCHDEV この状態値は以下の場合に返される。

  • 指定された LAN アダプタ名が,このシステムの PEDRIVER から使用できる LAN デバイスに対応していない。

  • LAN ドライバがこのシステムにロードされていない。 NET$AR_LAN_VECTOR が 0 である。

  • PEDRIVER が初期化されていない。PEDRIVER の PORT 構造を使用できない。

E.4 ネットワーク・コンポーネントの表現の作成

SYS$LAVC_DEFINE_NET_COMPONENT サブルーチンは,物理ネットワーク・コンポーネントの表現を作成します。

パラメータを指定するには,以下の形式を使用します。

STATUS = SYS$LAVC_DEFINE_NET_COMPONENT (
component_description,
nodename_length,
component_type,
lan_hardware_addr,
lan_decnet_addr,
component_id_value )

表 E-4 は, SYS$LAVC_DEFINE_NET_COMPONENT のパラメータについて説明しています。

表 E-4 SYS$LAVC_DEFINE_NET_COMPONENT のパラメータ
パラメータ 説明
component_description ネットワーク・コンポーネント名バッファを表す文字列記述子のアドレス。ネットワーク・コンポーネント名の長さは, COMP$C_MAX_NAME_LEN に指定した文字数以下でなければならない。
nodename_length ノード名の長さのアドレス。このアドレスは,COMP$C_NODE タイプの場合は,ネットワーク・コンポーネント名バッファの先頭である。他のコンポーネント・タイプの場合は,0 を使用しなければならない。
component_type コンポーネント・タイプのアドレス。これらの値は, SYS$LIBRARY:LIB.MLB にある $PEMCOMPDEF によって定義される。
lan_hardware_addr コンポーネントの LAN ハードウェア・アドレス (6 バイト) を格納しているバッファの文字列記述子のアドレス。 COMP$C_ADAPTER タイプの場合は,この値を指定しなければならない。他のコンポーネント・タイプの場合は,この値は省略可能である。
lan_decnet_addr コンポーネントの LAN DECnet アドレス (6 バイト) を格納しているバッファの文字列記述子。これはすべてのコンポーネント・タイプで省略可能なパラメータである。
component_id_value コンポーネント ID 値が書き込まれるロングワードのアドレス。

E.4.1 状態

正常終了すると, SYS$LAVC_DEFINE_NET_COMPONENT サブルーチンは COMP データ構造を作成し,ID 値を返します。このサブルーチンは,ユーザ指定パラメータをデータ構造にコピーし,参照カウントを 0 に設定します。

コンポーネント ID 値は 32 ビットの値であり,ネットワーク・コンポーネントとの間に 1 対 1 の対応関係があります。これらのコンポーネント ID の一覧は,パケットがあるノードから別のノードに転送されるときに使用されるコンポーネントを指定するために,SYS$LAVC_DEFINE_NET_PATH に渡されます。

E.4.2 エラー・メッセージ

SYS$LAVC_DEFINE_NET_COMPONENT は,以下の表に示すエラー状態コードを返すことがあります。

状態コード 説明
SS$_ACCVIO この状態は以下の場合に返される。

  • ネットワーク・コンポーネント名バッファ記述子にアクセスできない。

  • ネットワーク・コンポーネント名バッファにアクセスできない。

  • 0 以外の値が指定された場合,コンポーネントの LAN ハードウェア・アドレスにアクセスできない。

  • 0 以外の値が指定された場合,コンポーネントの LAN DECnet アドレスにアクセスできない。

  • lan_hardware_addr 文字列記述子にアクセスできない。

  • lan_decnet_addr 文字列記述子にアクセスできない。

  • component_id_value アドレスに書き込みアクセスできない。

  • component_type アドレスにアクセスできない。

  • nodename_length アドレスにアクセスできない。

  • 引数リストにアクセスできない。

SS$_DEVACTIVE 分析プログラムはすでに実行されている。ネットワーク・コンポーネントおよびネットワーク・コンポーネント・リストを定義する前に, SYS$LAVC_DISABLE_ANALYSIS を呼び出すことにより,分析を停止しなければならない。
SS$_INSFARG 指定された引数の数が不足している。
SS$_INVCOMPTYPE コンポーネント・タイプが 0 であるか,または COMP$C_INVALID 以上の値である。
SS$_IVBUFLEN この状態値は以下の場合に返される。

  • コンポーネント名に文字が指定されていない (長さ = 0)。

  • コンポーネント名の長さが COMP$C_MAX_NAME_LEN より長い。

  • ノード名に文字が含まれておらず (長さ = 0),コンポーネント・タイプが COMP$C_NODE である。

  • ノード名の長さが 8 文字より長く,コンポーネント・タイプが COMP$C_NODE である。

  • lan_hardware_addr 文字列記述子の長さが 6 文字未満である。

  • lan_decnet_addr の長さが 6 文字未満である。

E.5 ネットワーク・コンポーネント・リストの作成

SYS$LAVC_DEFINE_NET_PATH サブルーチンは, 2 つのネットワーク・ノード間にネットワーク・コンポーネントの方向付きリストを指定します。方向付きリストとは,パケットがクラスタ・ネットワーク内で,障害分析ノードから他のノードに移動するときに通過するすべてのコンポーネントのリストです。

パラメータを指定するには,以下の形式を使用します。

STATUS = SYS$LAVC_DEFINE_NET_PATH (
network_component_list,
used_for_analysis_status,
bad_component_id )

表 E-5 は, SYS$LAVC_DEFINE_NET_PATH のパラメータについて説明しています。

表 E-5 SYS$LAVC_DEFINE_NET_PATH のパラメータ
パラメータ 説明
network_component_list パス内の各コンポーネントのコンポーネント ID 値を格納しているバッファの文字列記述子のアドレス。ネットワーク・メッセージが通過する順に,コンポーネント ID 値を指定する。コンポーネントは以下の順に指定する。

  1. ローカル・ノード

  2. ローカル LAN アダプタ

  3. 中間のネットワーク・コンポーネント

  4. リモート・ネットワーク LAN アダプタ

  5. リモート・ノード

ネットワーク・パス内の 2 つのノードと 2 つの LAN アダプタを指定しなければならない。バッファ長は 15〜509 バイトの範囲でなければならない。

used_for_analysis_status 書き込まれるロングワード状態値のアドレス。この状態は,このネットワーク・パスがネットワーク障害分析を行う価値があるかどうかを示す。
bad_component_id コンポーネント・リストを処理しているときにエラーが検出された場合,エラーのあるコンポーネント ID が格納されるロングワード値のアドレス。


前へ 次へ 目次 索引