日本-日本語
日本HPホーム 製品 & サービス OpenVMS製品情報
≫  お問い合わせ


OpenVMS マニュアル


 

OpenVMS ドキュメント
ライブラリ

タイトルページ
目次
まえがき
第1章:OpenVMS Cluster システムの管理の概要
第2章:OpenVMS Cluster の概念
第3章:OpenVMS Cluster インターコネクト構成
第4章:OpenVMS Cluster オペレーティング環境
第5章:共用環境の準備
第6章:クラスタ・ストレージ・デバイス
第7章:クラスタ・キューの設定と管理
第8章:OpenVMS Cluster システムの構成
第9章:大規模な OpenVMS Cluster システムの構築
第10章:OpenVMS Cluster システムの保守
付録A :クラスタ・システム・パラメータ
付録B :共通ファイルの作成
付録C :クラスタのトラブルシューティング
付録D :LAN 制御のためのサンプル・プログラム
付録E :LAN 制御のためのサブルーチン
付録F :NISCA プロトコルのトラブルシューティング
付録G :NISCA トランスポート・プロトコル輻輳制御
索引
PDF
OpenVMS ホーム

HP OpenVMS
OpenVMS Cluster システム


目次 索引

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



付録 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 が格納されるロングワード値のアドレス。


目次 索引

© 2012 Hewlett-Packard Development Company, L.P.