# Compaq OpenVMS
OpenVMS Cluster システム

前へ | 次へ | 目次 | 索引

## E.5.1 状態

このサブルーチンは，特定のネットワーク・パスを記述するネットワーク・コンポーネントの方向付きリストを作成します。 SYS$LAVC_DEFINE_NET_PATH が正常終了すると， CLST データ構造が作成されます。1 つのノードがローカル・ノードの場合，このデータ構造は PEDRIVER チャネルに対応付けられます。さらに，リスト内の各ネットワーク・コンポーネントの参照カウントが増分されます。どのノードもローカル・ノードでない場合は， used_for_analysis_status アドレスにエラー状態が格納されます。

SYS$LAVC_DEFINE_NET_PATH サブルーチンは， 表 E-6 に示すように，レジスタ R0 に状態値を返し，ネットワーク・コンポーネント・リストが正しい構造であるかどうかを示します。

表 E-6 SYS$LAVC_DEFINE_NET_PATH から返される状態
状態 | 結果
--- | ---
Success | used_for_analysis_status の値は，ネットワーク・パスがローカル・ノードでネットワーク分析を実行するのに役立つかどうかを示す。
Failure | R0 に返されたエラー状態が SS$_INVCOMPID の場合は， bad_component_id アドレスに，バッファから検出された bad_component_id の値が格納される。

## E.5.2 エラー・メッセージ

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

状態コード | 説明
--- | ---
SS$_ACCVIO | この状態値は，以下の場合に返されることがある。 記述子またはネットワーク・コンポーネント ID 値バッファにアクセスできない。 引数リストにアクセスできない。 used_for_analysis_status アドレスに書き込みアクセスできない。 bad_component_id アドレスに書き込みアクセスできない。
SS$_DEVACTIVE | 分析がすでに実行されている。ネットワーク・コンポーネントおよびネットワーク・コンポーネント・リストを定義する前に， SYS$LAVC_DISABLE_ANALYSIS 機能を呼び出すことにより，分析を停止しなければならない。
SS$_INSFARG | 指定された引数の数が不足している。
SS$_INVCOMPID | バッファに指定されたネットワーク・コンポーネント ID が不正である。 bad_component_id アドレスに，エラーのあるコンポーネント ID が格納される。
SS$_INVCOMPLIST | この状態値は以下の場合に返されることがある。 ノード・リストに指定されているノードの数が 2 未満である。 リストに指定されているノードの数が 3 以上である。 最初のネットワーク・コンポーネント ID が COMP$C_NODE タイプでない。 最後のネットワーク・コンポーネント ID が COMP$C_NODE タイプでない。 リストに指定されているアダプタの数が 2 未満である。 リストに指定されているアダプタの数が 3 以上である。
SS$_IVBUFLEN | ネットワーク・コンポーネント ID バッファの長さが 16 未満であるか， 4 の倍数でないか，508 より大きい。
SS$_RMTPATH | ネットワーク・パスがローカル・ノードに関連付けられていない。この状態は，ローカル・ノードでのネットワーク障害分析で，このパスが必要かどうかを示すためだけに返される。

# E.6 ネットワーク・コンポーネント障害分析の起動

SYS$LAVC_ENABLE_ANALYSIS サブルーチンは，ネットワーク・コンポーネント障害分析を開始します。

例: 以下の例では，SYS$LAVC_ENABLE_ANALYSIS サブルーチンの使い方を示しています。

    STATUS = SYS$LAVC_ENABLE_ANALYSIS ( )

## E.6.1 状態

このサブルーチンは，ネットワーク・コンポーネント障害分析コードを有効にしようとします。少なくとも 1 つのコンポーネント・リストが定義されていれば，分析は有効になります。

SYS$LAVC_ENABLE_ANALYSIS はレジスタ R0 に状態を返します。

## E.6.2 エラー・メッセージ

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

状態コード | 説明
--- | ---
SS$_DEVOFFLINE | PEDRIVER が正しく初期化されていない。ROOT または PORT ブロックが使用できない状態である。
SS$_NOCOMPLSTS | ネットワーク接続リストが存在しない。ネットワーク分析が実行できない。
SS$_WASSET | ネットワーク・コンポーネント分析がすでに実行中である。

# E.7 ネットワーク・コンポーネント障害分析の停止

SYS$LAVC_DISABLE_ANALYSIS サブルーチンは，ネットワーク・コンポーネント障害分析を停止します。

例: 以下の例は SYS$LAVC_DISABLE_ANALYSIS の使い方を示しています。

    STATUS = SYS$LAVC_DISABLE_ANALYSIS ( )

このサブルーチンは，ネットワーク・コンポーネント障害分析コードを無効にし，分析が有効に設定されていた場合は，すべてのネットワーク・コンポーネント定義とネットワーク・コンポーネント・リスト・データ構造を非ページング・プールから削除します。

## E.7.1 状態

SYS$LAVC_DISABLE_ANALYSIS はレジスタ R0 に状態を返します。

## E.7.2 エラー・メッセージ

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

状態コード | 説明
--- | ---
SS$_DEVOFFLINE | PEDRIVER が正しく初期化されていない。ROOT または PORT ブロックが使用できない状態である。
SS$_WASCLR | ネットワーク・コンポーネント分析はすでに停止されている。

# 付録 F
NISCA プロトコルのトラブルシューティング

NISCA は，イーサネットおよび FDDI LAN を介して，クラスタ内の他のノードにディスク I/O やロック・メッセージなどのメッセージを伝達するトランスポート・プロトコルです。NISCA という頭字語は， SCA (System Communications Architecture) に従ってイーサネットまたは FDDI ネットワーク・インターコネクト (NI) を実装しているプロトコルのことを示しています。

OpenVMS ソフトウェア・インタフェースは，NISCA プロトコルを使用して，CI ポート・インタフェースをエミュレートします。つまり，データが LAN を介して転送されることを除けば，ソフトウェア・インタフェースは CI バスのインタフェースと同じです。 NISCA プロトコルを使用することにより，OpenVMS Cluster は特殊なハードウェアを必要とせずに，LAN 上で通信を行うことができます。

ここでは，NISCA トランスポート・プロトコルについて説明し，ネットワーク・マネージャがネットワーク関連の問題を突き止めるのに役立つトラブルシューティングの手法についても示します。LAN で発生したハードウェア・コンポーネント障害のトラブルシューティングは， LAN アナライザを使用して行うのが最適なので，この付録では， LAN 分析ツールの機能と設定についても説明します。

注意 改訂した PEDRIVER 固有のトラブルシューティングの追加情報については，本書の次の改訂版に記載される予定です。

# F.1 NISCA が SCA にどのように適しているか

NISCA プロトコルは，SCA の PPD (Port-to-Port Driver) プロトコルを実装したものです。

## F.1.1 SCA プロトコル

第 2 章 で説明したように，SCA は，下位レベルの分散アプリケーション (たとえばデバイス・ドライバ，ファイル・サービス，ネットワーク・マネージャ) に効率のよい通信サービスを提供するソフトウェア・アーキテクチャです。

SCA では，SYSAP (System Applications)， SCS (System Communications Services)，PPD (Port-to-Port Driver)，デバイス・ドライバと LAN アダプタの PI (Physical Interconnect: 物理インターコネクト) も含めて， OpenVMS Cluster システム用に多くのプロトコルが指定されています。 図 F_1 では，SCA アーキテクチャを構成する相互に依存するレベルとして，これらのプロトコルを示しています。 図 F-1 では， NISCA プロトコルは，SCA アーキテクチャの PPD レイヤの特定の実装として示されています。

図 F-1 SCA アーキテクチャのプロトコル

表 F_1 は， 図 F-1 に示した SCA プロトコルの各レベルについて説明しています。

表 F-1 SCA プロトコル・レイヤ
プロトコル | 説明
--- | ---
SYSAP | 各ノードで実行されるクラスタ単位のシステム・アプリケーションを表す。これらのシステム・アプリケーションは，ノード間でメッセージを送信するために通信パスを共用する。システム・アプリケーションの例として，ディスク・クラス・ドライバ (DUDRIVER など)， MSCP サーバ，接続マネージャなどがある。
SCS | OpenVMS Cluster を中心とした接続を管理し， 仮想サーキット と呼ばれる共通のトランスポートを介して，システム・アプリケーション間のメッセージを多重化する ( 付録 F.1.2 項 を参照)。また，SCS レイヤは，接続で障害が発生したときに，個々のシステム・アプリケーションが適切に応答できるように，各アプリケーションに通知を出す。たとえば， SCS からの通知によって DUDRIVER が起動されてディスクがフェールオーバされたり，クラスタの状態遷移が開始されたりする。 SCS はまた，再接続間隔 (RECNXINTERVAL) の時間のカウントを開始するように，接続マネージャに通知する。
PPD | OpenVMS Cluster システム内の他のノードにメッセージ配布サービスを提供する。
PPD レベル | 説明
--- | ---
PPD (Port-to-Port Driver) | 仮想サーキットを確立し，エラーを処理する。
PPC (Port-to-Port Communication) | ポート間通信，データグラム，シーケンス・メッセージ，ブロック転送を提供する。"セグメント化"も PPC レベルで行われる。LAN での大きなデータ・ブロックのセグメント化は， CI バスや DSSI バスとは異なる方法で行われる。 LAN データ・パケットは，以下に示すように，特定の LAN 通信パスで認められているサイズに従って断片化される。
ポート間通信 | 認められるパケット・サイズ
--- | ---
Ethernet-to-Ethernet | 1498 バイト
FDDI-to-Ethernet | 1498 バイト
FDDI-to-Ethernet-to-FDDI | 1498 バイト
FDDI-to-FDDI | 4468 バイト
注意: デフォルト値は，イーサネットの場合も FDDIの場合も 1498 バイトである。
TR (Transport) | ノード間に，仮想サーキットというエラーのないパスを提供する ( 付録 F.1.2 項 を参照)。PPC レベルでは，クラスタ内の 2 つのノード間でシーケンス・メッセージとデータグラムを転送するために，仮想サーキットが使用される。
Channel Control (CC) | OpenVMS Cluster 内で，ノード間のネットワーク・パス (チャネルと呼ぶ) を管理する。CC レベルでは，ノード間で HELLO データグラム・メッセージを送信することによりチャネルを管理する。ノードは，まだ機能していることを示すために，HELLO データグラム・メッセージを送信する。 TR レベルでは，仮想サーキット・トラフィックを伝達するためにチャネルを使用する。
DX (Datagram Exchange) | LAN ドライバへのインタフェース。
PI | LAN デバイスへの接続を提供する。PI は，パケットが送受信されるときに使用される LAN ドライバとアダプタを表す。
PI コンポーネント | 説明
--- | ---
LAN ドライバ | NISCA および他の多くのクライアント (DECnet，TCP/IP，LAT， LAD/LAST など) を多重化し，イーサネットおよび FDDI ネットワーク・インタフェース上でデータグラム・サービスを提供する。
LAN アダプタ | LAN ネットワーク・ドライバとアダプタ・ハードウェアで構成される。

## F.1.2 通信のために使用されるパス

NISCA プロトコルは， 表 F-2 で説明しているパス上の通信を制御します。

表 F-2 通信パス
パス | 説明
--- | ---
仮想サーキット | 以下の目的で，OpenVMS Cluster 内のノード間の信頼性の高いポート間通信を提供する共通のトランスポート。 重複や紛失を発生させずに，メッセージを確実に配布する。各ポートは他の各リモート・ポートとの間で仮想サーキットを維持する。 メッセージの順序を確保する。各仮想サーキット・シーケンス番号が個々のパケットで使用される。各送信メッセージはシーケンス番号を転送するため，重複するメッセージは破棄される。 各ポートの仮想サーキット記述子テーブルは，そのポート間サーキットの状態を示す。2 つのポート間に仮想サーキットが作成された後，ノード内の SYSAP 間で通信を確立することができる。
チャネル | 異なるノードにある 2 つの LAN アダプタ間の論理通信パス。ノード間のチャネルは，2 つ 1 組のアダプタとそれを接続するネットワークによって決定される。たとえば，それぞれ 2 つのアダプタを装備している 2 つのノードは，4 つのチャネルを確立することができる。特定の仮想サーキットによって伝達されたメッセージは，2 つのノードを接続するどのチャネルを介しても送信できる。

注意: チャネルと仮想サーキットの相違は，チャネルがデータグラム・サービスのためのパスを提供できるという点にあります。仮想サーキットはチャネルの上の層にあり，ノード間にエラーのないパスを提供します。OpenVMS Cluster では，ノード間に複数のチャネルが存在できますが，仮想サーキットは同時に 2 つのノード間に 1 つしか存在できません。

## F.1.3 PEDRIVER

ポート・エミュレータ・ドライバである PEDRIVER は， NISCA プロトコルを実装し，ローカル LAN ポートとリモート LAN ポートの間の通信のためのチャネルを確立し，制御します。

PEDRIVER は，メッセージが順に配布されることを保証するパケット配布サービス (NISCA プロトコルの TR レベル) を実装します。特定の仮想サーキットによって伝達されるメッセージは，2 つのノードを接続するどのチャネルを通じても送信できます。チャネルの選択は，メッセージの送信側 (PEDRIVER) によって決定されます。メッセージを送信するノードは，どのチャネルも選択できるため，受信側の PEDRIVER は，どのチャネルからでもメッセージを受信できる準備をしておかなければなりません。

どの時点でも，TR レベルは特定の仮想サーキットのトラフィックを伝達するために，1 つの "優先チャネル" を使用します。

関連項目: 転送チャネルの選択方法については， 付録 G を参照してください。

前へ | 次へ | 目次 | 索引