この章では、論理ネットワークインタフェースの自動アクティブ化、IDN の操作と性能に影響する調整可能なパラメタ、および調整可能なパラメタの設定方法について説明します。
標準 TCP/IP (Transmission Control Protocol/Internet Protocol) ネットワークインタフェースでは、ドメインがインタフェースを使用して通信できるように IP アドレスが割り当てられている必要があります。IDN 接続を確立するには、一連のドメインに対して、ドメイン内からアクセスすると予想されるあらゆるアドレスやサブネットの中で一意の IP アドレスを割り当てることが必要です。これらの IP アドレスは、IDN 内のドメインが認識できれば十分です。特定のドメインを、IDN で接続された他のドメインと外部ホストとの間のルーターとして使用する場合は、Sun Enterprise 10000 が常駐するネットワーク構成を考慮して IP アドレスを選択してください。通常、各論理 IDN インタフェースは、それぞれ別の IP サブネットとして構成されます。IDN ソフトウェアは、IDN メンバードメインと IP アドレス間の関連付けを行わないので、ネットワーク環境に適したどの IP アドレスでも自由に選択することができます。割り当てられた IP アドレスに対応するホスト名は、/etc/hostname.idnX ファイル (idnX は特定の IP アドレスが割り当てられている論理 ID インタフェースを表します) に入力することができます。これによって、ドメインの起動時にネットワークを自動的に起動することができます。
IDN ドライバを使用可能にし、ドメインが IDN のメンバーになることを許可するには、少なくとも 1 つの /etc/hostname.idnX ファイルを作成しておく必要があります。これによって、ドメインの起動時に IDN ドライバが自動的に読み込まれます。IDN ドライバが読み込まれた後にだけ SSP はそのドメインを IDN の候補として認識します。
デフォルトでは、idn0 ‾ idn7 の 8 つの論理インタフェースを作成可能です。この値は、IDN の調整可能なパラメタおよび idn.conf(4) ファイルを使用して、最大 32 (idn0 ‾ idn31) に変更することができます。同一の IDN サブネット上では、有効な同じ idnX インタフェースを備えたドメイン同士だけが通信できます。
ifconfig(1M) コマンドを使用して、ネットワークインタフェースの Ethernet アドレスまたは物理アドレスを動的に変更することができます。ただし、IDN のポイントツーポイントという性質のため、システムは Ethernet アドレスの中の識別情報を保持して、パケットの送り先を判定する必要があります。IDN ドライバでは、IDN インタフェースの Ethernet アドレスまたは物理アドレスを変更することはできませんが、IDN は専用サブネットのため、アドレスを変更できなくても問題はありません。この仮定は、ネットワークインタフェースカードが IDN インタフェースと同じ物理アドレスを使用して取り付けられた場合でも有効です。
IDN の論理ネットワークインタフェース (たとえば、idn0、idn1 など) は、従来のネットワークインタフェースカードのネットワークインタフェースと同じ方法で扱われます。IDN インタフェースはすべて、同じ物理リンクを使用しますが、各 IDN インタフェースは論理的に独立したネットワークインタフェースです。したがって、それぞれの IDN インタフェースには、ドメインを起動するときに自動ネットワーク plumb 処理を呼び出すための独自の /etc/hostname.idnX が必要になります。
/etc/hostname.idnX ファイルには、IDN インタフェースに関連するホスト名または IP アドレスのみが含まれます。idn0 が IDN の論理インタフェースである場合は、/etc/hostname.idnX は /etc/hostname.idn0 になり、このファイルにはこの IDN インタフェースに関連付けられた一意のホスト名が入ります。
/etc/hostname.idnX ファイルの内容の詳細は『Sun Enterprise 10000 InterDomain Networks ユーザーマニュアル』を参照してください。また、TCP/IP の構成ファイルの詳細は、『TCP/IP とデータ通信』を参照してください。
以下の手順を実行して、/etc/hostname.idnX ファイルを作成します。
テキストエディタで新しいファイルを開きます。
IDN 論理ネットワークインタフェースの名前または IP アドレスを入力します。
ファイルを /etc/hostname.idnX として保存します。ここの X は、起動時にアクティブ化する IDN ドライバのインスタンスに対応します。
IDN のメンバーであるドメインの場合は、SSP の domain_status(1M) コマンドで表示されるとおりに、起動時に、起動された他の IDN メンバーと自動的にリンクされます。Solaris の rc スクリプトは、/etc/hostname.idnX ファイルと連動して、IDN 上の論理ネットワークインタフェースを有効にします。これで IDN は、ドメイン間の標準 TCP/IP ネットワークとして使用可能になります。
IDN の自動リンクには、SSP が提供するサービスが必要です。SSP のイベント検出デーモンである edd(1M) が、ドメインの起動と、実際のリンクを行うための IDN イベントハンドラの実行を認識します。SSP 上の負荷によっては、起動イベントの認識、および IDN イベントハンドラのリンク処理に必要な時間に遅延が生じる場合があります。その結果、ドメインへの IDN リンクが完全に動作するようになる前に、ドメインの起動サイクルが完了することもあります。この遅延は、秒単位の値になることはありません。
IDN インタフェースを構成する方法は、他のネットワークインタフェースと同じです。ここで示す情報は、必要に応じて参照してください。
以下の手順は、IDN にリンクされている各ドメインの各 IDN インタフェースについて実行する必要があります。これらの手順を実行する前に、ドメインが IDN にリンクされている必要はありません。
各ドメイン内の IDN インタフェースを plumb します。
# ifconfig idn0 plumb |
上記の例で、idn0 は IPv4 の利用に基づいたインタフェース名です。IPv6 の正しい使用方法については、IPv6 のマニュアルを参照してください。なお、IPv6 は、Solaris 7 オペレーティング環境ではサポートされていません。
IP_address は、それぞれのホストに対して指定された IDN インタフェースに割り当てられた IP アドレスとして定義されます (詳細は、『InterDomain Networks ユーザーマニュアル』の「ドメインの IP アドレス」および hosts(4) マニュアルページを参照してください)。
IDN インタフェースを設定します。
# ifconfig idn0 IP_address netmask 255.255.255.0 ¥ broadcast IP_subnet_address up |
上記の例では、基本の IDN を設定していると仮定しています。サイト固有のネットマスクを使用する場合は、ネットマスク値をサイト固有の値に置き換えてください。
IDN からのリンクが解除されているドメインでは、IDN インタフェースを構成解除する必要はありません。ただし、IDN 全体を削除するには、IDN の各ドメインの各 IDN インタフェースについて以下の手順を実行する必要があります。
IDN インタフェースの構成を解除します。
# ifconfig idn0 down |
この手順を実行すると、指定した IDN インタフェースに対する TCP/IP スタックが削除されます。
IDN インタフェースを unplumb します。
# ifconfig idn0 unplumb |
IDN の性能や資源使用状況に影響を与える変数がいくつかあります。この節では、これらの変数やパラメタの設定方法について説明し、最小値、最大値、およびデフォルトの値を示します。
OpenBootTM PROM (OBP) には、IDN を有効にするために変更する必要のある IDN 関連の変数が 1 つあります。この変数は、SMR (Shared Memory Region: 共有メモリー領域) サイズ変数である idn-smr-size です。この変数には、SMR のサイズをメガバイト単位で指定します。値を 0 に設定すると、IDN ネットワーキングが無効になります。0 以外の値は、SMR のために予約されたカーネル空間のメガバイト数を示します。idn-smr-size のデフォルト値は、0 です。
SMR が大きいほど、データ転送に利用できるバッファの数が多くなります。ただし、ある一定のサイズを超えると、SMR を大きくしてもそれ以上の利点はありません。idn-smr-size の推奨値は、通常の用途に十分な 32 メガバイトです。最大値は、96 メガバイトです。
idn-smr-size の値は、OBP プロンプトでのみ設定することができます。新たな値を有効にするには、ドメインを再起動する必要があります。ただし、idn.conf ファイル中の idn_smr_size 変数を使用して、SMR の実際のサイズを削減することができます。
IDN 内にあるすべてのドメインでは、idn-smr-size が同じ値である必要があります。idn-smr-size の値が正しくないドメインがある場合、またはこの値を IDN 全体で変更したい場合は、対象のドメインを再起動して OBP プロンプトを表示し、この変数を設定し直します。
netcon(1M) ウィンドウで、スーパーユーザーとしてドメインにログインします。
ドメインを起動または停止して OBP プロンプトを表示し、以下の例のように setenv コマンドを使用して OBP 変数を設定します。
<#O> ok setenv idn-smr-size size |
ドメインを再起動します。
再起動に成功したら、OBP の設定を確認します。
<#O> ok cd /memory <#O> ok .properties |
2 番目のコマンドにより、以下の例のような、OBP 変数とその設定の一覧が表示されます。
idn-smr-size 00 00 00 20 idn-smr-addr 00 00 00 0a 7d 3f 00 00 00 00 00 00 02 00 00 00 dr-max-mem 00 00 9c 40 reg 0000000a 00000000 00000000 80000000 available 0000000a 7fff0000 00000000 00004000 0000000a 7fcd8000 00000000 00016000 0000000a 00000000 00000000 7189e000 name memory |
SMR の割り当てに成功した場合は、idn-smr-addr の値は、SMR のベース物理アドレス (例 0xA7D3F0000) とバイト単位のサイズ (例 0x2000000) を表す、0 でない値になります。
ndd(1M) ドライバパラメタを変更して、性能や資源使用状況が最適になるようにシステムを調整できます。この節では、変更可能なパラメタ、パラメタの変更方法、各パラメタに指定できる値の範囲について説明します。
現在のパラメタの設定を読み取ります。
# ndd /dev/idn parameter |
IDN ドライバがサポートするすべての ndd(1M) パラメタを表示するには、以下のコマンドを使用します。
# ndd /dev/idn "?" |
ドライバパラメタを変更します。
# ndd -set /dev/idn parameter value |
この節で説明するドライバパラメタを変更するには -set 構文を使用する必要があります。また、この節に示すドライバパラメタは、以下に記載する場合以外は、随時変更可能です。
以下の表に ndd(1M) コマンドに指定できる各パラメタの名前とそれぞれの簡単な説明を示します。ndd(1M) の使用法の詳細は、マニュアルページの ndd(1M) を参照してください。
表 3-1 ndd(1M) パラメタ
名前 |
最小値 |
最大値 |
デフォルト値 |
説明 |
---|---|---|---|---|
idn_modunloadable |
0 |
1 |
0 |
IDN ドライバを (使用されていないという前提で) 読み込み不能に設定する 2 進フラグ。値を 0 に設定するとこのフラグはオフになり、1 に設定するとオンになります。この値は、随時変更可能です。 |
idn_slabpool |
− |
− |
− |
ドメインが接続され、そのドメインが IDN のマスタードメインである場合は、このパラメタは、IDN スラブプールを表示し、利用可能なスラブの数とどのスラブが各ドメインに割り当てられているかを示します。この値は読み取り専用です。 |
idn_buffers |
− |
− |
− |
ドメインが持つ未処理の SMR 入出力バッファーの数。この数は、このドメインが接続された他のドメインを考慮した数です。この値は読み取り専用です。 |
idn_mboxtbl |
− |
− |
− |
ドメインに割り当てられたメールボックステーブルを表示します。ドメインが IDN のメンバーでない場合は、テーブルは表示されません。メールボックスヘッダークッキー、準備完了かつ使用可能な状態、あるいはそのいずれかの状態のポインタの値、各チャネルサービスが準備完了かつ使用可能な状態である、あるいはそのいずれかの状態であるかどうかを示す情報が表示されます。この値は読み取り専用です。 |
idn_mboxtbl_all |
− |
− |
− |
idn_mboxtbl と同じ内容を、IDN 全体について表示します。このパラメタは、マスタードメインとの関連で実行される場合にだけ意味があります。これは、マスタードメインが広域メールボックス領域へのポインタを保持するためです。 |
idn_mainmbox |
− |
− |
− |
他の IDN メンバードメインに対する送受信メールボックス用にドメインが保持するメールボックス管理構造体の詳細情報が含まれています。この値は読み取り専用です。 |
idn_global |
− |
− |
− |
ドメインに関する広域状態情報 (たとえば、使用可能なチャネル、使用可能なチャネルに接続されたドメインの数、SMR の物理アドレスなど) を表示します。IDN 内の各ドメインの接続状態の要約も表示します。この値は読み取り専用です。 |
idn_domain |
− |
− |
− |
ドメインに関する特定の状態情報 (たとえば、未処理のタイマーの数、投票チケット、未処理のバッファーの数) を表示します。この値は読み取り専用です。 |
idn_domain_all |
− |
− |
− |
idn_domain と類似の情報を表示しますが、目的のドメインが接続されたすべてのドメインに関する情報が含まれます。この値は読み取り専用です。 |
idn_bind_net |
− |
− |
− |
ドメイン内の特定のプロセッサにユーザーが特定のチャネルサーバー (インタフェース) を結合できるようにします。これにより、IDN データの実際の受信処理をドメイン内のどのプロセッサから指示するかを細かく制御できます。デフォルトでは、サーバーは結合されていません。したがって、サーバーは通常のスレッドで処理時間を直接競い合います。この引数は、channel=cpuid 形式で指定します。たとえば、0=25 は、idn0 インタフェースで受信するデータの処理を担当するチャネルサーバーを cpuid 25 に結合します。この値は随時変更可能です。 |
IDN では、IDN ドライバ用の driver.conf(4) ファイルを使用して特定の調整可能なパラメタと構成パラメタ、またはそのいずれかを設定できます。このファイルは、以下に示すパスにあります。
/platform/SUNW,Ultra-Enterprise-10000/kernel/drv/idn.conf
これらのパラメタを変更するには、driver.conf(4) ファイルを編集する必要があります。ほとんどのパラメタは、グローバルパラメタです。bind_cpu パラメタのみが、インスタンス (インタフェース) ごとに作用します。パラメタの値は、modload(1M) コマンドを使用して IDN ドライバを読み込むと有効になります。
IDN パラメタを設定するための手順は、ドメインの現在の状態によって異なります。ドメインが起動され稼動しているが、IDN にリンクされていない場合は、「再起動しないで IDN パラメタを設定する」の指示に従って、ドメインを再起動せずに IDN パラメタを設定します。ドメインが稼動していないか、またはドメインを再起動する場合は、「再起動しないで IDN パラメタを設定する」の指示に従って IDN パラメタを設定します。
ドメインが IDN にリンクされていないことを確認します。
netcon(1M) ウィンドウで、ディレクトリを idn.conf ファイルが存在するディレクトリに変更します。
% cd /platform/SUNW,Ultra-Enterprise-10000/kernel/drv/ |
使用する新しい値を反映するように、idn.conf ファイルを編集します。
すべての IDN ネットワークインタフェースを unplumb します。
ndd(1M) コマンドを使用して、idn_modunloadable パラメタを適切な値に設定します。
% ndd -set /dev/idn idn_modunloadable 1 |
modunload(1M) コマンドを使用して、IDN ドライバモジュールをアンロードします。
% modunload -i id |
id の値は、IDN モジュール ID 番号の ID に対応する必要があります。IDN モジュール ID 番号の入手方法の詳細は、modinfo(1M) マニュアルページを参照してください。
IDN ネットワークインタフェースを再度 plumb します。
netcon(1M) ウィンドウで、ディレクトリを idn.conf ファイルが存在するディレクトリに変更します。
% cd /platform/SUNW,Ultra-Enterprise-10000/kernel/drv/ |
テキストエディタを使用してこのファイルを編集し、IDN のパラメタと値を設定します。
以下に idn.conf ファイルの例を示します。
name="idn" parent="pseudo" instance=0 bind_cpu=10; name="idn" parent="pseudo" instance=1; name="idn" parent="pseudo" instance=2 bind_cpu=35; idn_pil=4; idn_protocol_nservers=2; |
すべての必須パラメタについて、同一 IDN 内にある各ドメインの idn.conf ファイルを編集する必要があります。その他のパラメタについては、目的のドメインの idn.conf ファイルのみを編集します。
各エントリは複数の行で構成できますが、セミコロンで終了する必要があります。上の例では、インスタンス 0 チャネルサーバー (idn0) は、CPU 10 に結合されます (システムに CPU 10 があるという仮定で)。(idn1) 用のインスタンス 1 チャネルサーバーはシステム内のいずれの CPU にも結合されず、(idn2) 用のインスタンス 2 チャネルサーバーは CPU 35 に結合されます (システムに CPU 35 があるという仮定で)。
ドメインを再起動します。
一致させる必要があるパラメタの設定を変更した場合は、IDN 内の各ドメインを再起動する必要があります。一致させる必要のないパラメタの設定を変更した場合は、IDN 内の 1 つのドメインを再起動するだけですみます。一致させる必要のあるパラメタの一覧は、「一致させる必要があるパラメタ」を参照してください。
modload(1M) コマンドによる IDN の読み込み時に特定のパラメタが設定されるように、idn.conf(4) ファイルにそれらのパラメタの値を定義しておくことができます。このファイルに IDN のインスタンスを追加することもできます。各 IDN インスタンスに対して、idn.conf(4) ファイルに以下の行 (n はインスタンスの番号) を追加します。
name="idn" parent="pseudo" instance=n; |
ドメインが IDN にリンクされている間は、すべての idn.conf(4) ファイルパラメタを変更できます。ただし、値を有効にするには、ドメインを再起動する必要があります。
以下の表にパラメタの名前、パラメタの最小値、最大値、デフォルト値、またそれらの値の単位を示します。
以下の表に示したパラメタは、経験を積んだ IDN ユーザー以外は使用しないでください。値を変更すると、IDN の動作に悪影響を及ぼす場合があります。
名前 |
最小値 |
最大値 |
デフォルト値 |
説明 |
---|---|---|---|---|
bind_cpu |
− |
− |
-1 |
対応するチャネルサーバーがオンラインになった後に、そのチャネルサーバーに結合する cpuid を指定します。このパラメタは、特定の CPU インスタンスに関連付ける必要があります。指定されたcpuid がドメイン内の有効な CPU でない場合は、チャネルサーバーは結合されません。この値には、CPU の ID を指定します (-1 は非結合)。 |
idn_awolmsg_interval |
0 |
3600 |
30 |
ドメインごとに、コンソール上に AWOL メッセージが表示される頻度を制御します。この値は秒単位で指定します。 |
idn_checksum |
0 |
1 |
1 |
SMR メールボックスに対する検査合計の検証を設定する 2 進フラグです。値を 0 に設定するとこのフラグはオフになり、1 に設定するとオンになります。 |
idn_dmv_pending_max |
8 |
512 |
128 |
単一のプロセッサが IDN ドライバに対して保留できる未処理の DMV 割り込みの最大数を制御します。このパラメタは、着信クロスドメイン割り込みのデータのカプセル化のために使用するキューの構造体も記述します。この値は数で指定します。 |
idn_history |
0 |
1 |
0 |
IDN が特定の IDN イベントの内部ログをオンにするかどうかを設定する 2 進フラグです。このパラメタは、問題の分析のためのみに使用します。サポート担当者が後のデバッグのために情報を収集することが可能になります。値を 0 に設定するとこのフラグはオフになり、1 に設定するとオンになります。 |
idn_hiwat |
1024 |
1048576 |
262144 |
IDN STREAM のキューの高ウォーターマークを制御します。この値はバイト単位で指定します。 |
idn_lowat |
1 |
524288 |
1 |
IDN STREAM のキューの低ウォーターマークを制御します。この値はバイト単位で指定します。 |
idn_max_nets |
1 |
32 |
8 |
IDN ドライバ上に plumb できるネットワークチャネルまたはインタフェースの最大数を制御します。この値は一般的な単位または個数で指定します。 |
idn_mbox_per_net |
31 |
511 |
127 |
各メールボックステーブル (チャネルとインタフェース、あるいはそのいずれか) のメールボックスエントリの数を制御します。この値は奇数である必要があります。この値は一般的な単位または個数で指定します。 |
idn_msgwait_cfg |
10 |
300 |
40 |
CFG (構成) メッセージに対する応答待ち時間の最小値を制御します。この値は秒単位で指定します。 |
idn_msgwait_cmd |
10 |
300 |
40 |
(通常マスタードメインへの) CMD (コマンド) メッセージに対する応答待ち時間の最小値を制御します。この値は秒単位で指定します。 |
idn_msgwait_con |
10 |
300 |
20 |
CON (接続) メッセージに対する応答待ち時間の最小値を制御します。この値は秒単位で指定します。 |
idn_msgwait_data |
10 |
300 |
30 |
DATA (切断) 起動呼び出しに対する応答待ち時間の最小値を制御します。この値は秒単位で指定します。 |
idn_msgwait_fin |
10 |
300 |
40 |
FIN (切断) メッセージに対する応答待ち時間の最小値を制御します。この値は秒単位で指定します。 |
idn_msgwait_nego |
10 |
300 |
20 |
NEGO (ネゴシエーション) メッセージに対する応答待ち時間の最小値を制御します。この値は秒単位で指定します。 |
idn_netsvr_spin_count |
0 |
10000 |
500 |
チャネルサーバーが、プロセッサとの結合を放棄する前に着信パケットのポーリングを行う回数を制御します。この値は一般的な単位または回数で指定します。 |
idn_netsvr_wait_max |
0 |
6000 |
1600 |
チャネルサーバーが永久に休眠状態になる前に休眠する期間を示すクロック刻みの最大数を制御します。 |
idn_netsvr_wait_min |
0 |
3000 |
40 |
着信データパケットが見つからないときにチャネルサーバーが休眠する期間を示す最初のクロック刻みの値を制御します。この値はクロック刻みで指定します (100 パルス刻みは、1 秒に相当します)。 |
idn_netsvr_wait_shift |
1 |
5 |
1 |
チャネルサーバーが休眠状態から目覚めたときにパケットを見つけることができないたびに、チャネルサーバーの休眠時間を増加させる割合を示します。この値を 1 に設定すると毎回休眠時間が倍になっていきます。休眠時間は、idn_netsvr_wait_max で指定された最大値まで増加します。この値は一般的な単位または数で指定します。 |
idn_nwr_size |
0 |
SMR 全体 |
SMR 全体 |
ネットワークベースの通信に使用する、SMR 内の Network Region (NWR) のサイズを制御します。この値はメガバイト単位で指定します。 |
idn_pil |
1 |
9 |
8 |
ソフト割り込みの優先レベルを制御します。このレベルでクロスドメイン割り込みが処理されます。この値は数値で指定します。 |
idn_protocol_nservers |
1 |
16 |
4 |
リモート IDN メンバードメインからの IDN 接続管理メッセージの処理を任されるスレッドの数を制御します。この値は個数で指定します。 |
idn_reclaim_max |
0 |
128 |
0 |
ドメインが、未処理の利用されていないバッファーの再利用を試みる最大の回数を制御します。この値が 0 の場合は、ドメインは、最小しきい値 (idn_reclaim_min) に達した後、できるだけ多くのバッファーの再利用を試みます。この値はバッファー単位で指定します。 |
idn_reclaim_min |
1 |
128 |
5 |
未処理 (利用されていない) バッファーのしきい値を制御します。この値を超えると、ドメインはバッファーの再利用を試みます。この値はバッファー単位で指定します。 |
idn_retryfreq_con |
1 |
60 |
2 |
リンクしようとするドメインが CON (接続) フェーズに達したことの確認の再試行間隔の最小時間を制御します。この値は秒単位で指定します。 |
idn_retryfreq_fin |
1 |
60 |
3 |
リンク解除しようとするドメインが FIN (切断) フェーズに達したことの確認の再試行間隔の最小時間を制御します。この値は秒単位で指定します。 |
idn_retryfreq_nego |
1 |
60 |
2 |
IDN 接続の開始の再試行間隔の最小時間を制御します。この値は秒単位で指定します。 |
idn_sigbpil |
1 |
9 |
3 |
ソフト割り込みの優先レベルを制御します。このレベルで SSP の sigblock 要求が処理されます。この値は数値で指定します。 |
idn_slab_bufcount |
4 |
1024 |
32 |
スラブごとに割り当てるバッファーの数を制御します。この値はバッファー単位で指定します。 |
idn_slab_mintotal |
2 |
16 |
8 |
マスタードメインが保持する利用可能なスラブの最小数を制御します。マスタードメインは、利用可能なスラブの総数がこの変数の値を下回ると、スレーブドメインに未使用スラブの返却を要求します。この値はスラブ単位で指定します。 |
idn_slab_prealloc |
0 |
10 |
0 |
ドメインの IDN へのリンク時に事前に割り当てるスラブの数を制御します。この値はスラブ単位で指定します。 |
idn_smr_bufsize |
512 |
524288 |
16384 |
IDN MTU サイズに変換される、SMR 入出力バッファーのサイズを制御します。この値は 2 の倍数をバイト単位で指定します。 |
idn_smr_size |
0 |
SMR 全体 |
0 |
SMR のサイズは、OBP 変数 idn-smr-size の値によって制限されます。SMR のサイズは、idn-smr-size 変数の最小値と idn_smr_size パラメタの最小値によって決まります。idn-smr-size がゼロの場合は、OBP 変数が idn.conf(4) パラメタを上書きします。 |
idn_window_incr |
0 |
32 |
8 |
アクティブなチャネルまたはインタフェース、あるいはその両方が追加されるたびに idn_window_max が大きくなる値を制御します。この値はバッファー単位で指定します。 |
idn_window_max |
8 |
256 |
64 |
未処理バッファーの基準しきい値を制御します。この値を超えると、ドメインは対応するドメインへのデータパケットの送信を停止します。この値はバッファー単位で指定します。 |
一部の IDN パラメタは、同一 IDN 内のすべてのドメインで値を一致させる必要があります。ドメインのリンクで構成情報を交換するときに、各ドメインは、リンク操作を進める前に、受信した情報がローカルパラメタと一致するかどうかを確認します。以下に同一 IDN 内のすべてのドメインで値を一致させる必要があるパラメタの名前を示します。
idn_nwr_size
idn_smr_bufsize
idn_slab_bufcount
idn_max_nets
idn_mbox_per_net
idn_checksum
IDN ドライバは、標準の Solaris カーネル統計情報メカニズムである kstat(3K) をサポートしています。netstat(1M) からのレポートをサポートするのに必要な最小セットに加えて、IDN ドライバはより詳細な統計情報をレポートするので、性能の調整や構成の管理に役立ちます。これらの統計情報は、標準の netstat(1M) または kstat(1M) コマンド行ユーティリティから利用するのが最も簡単です。
以下の例にある構文を使用してすべての統計情報を要求することができます。この例には、idn 引数と idn0 引数を使用した場合に受け取る統計情報が示されています。
# netstat -k idn idn: curtime 2048474 reconfigs 0 reconfig_last 0 reaps 0 reap_last 0 links 1 link_last 2042885 unlinks 1 unlink_last 2045246 buf_fail 1 buf_fail_last 2042935 slab_fail 1 slab_fail_last 2042935 reap_count 0 dropped_intrs 0 # netstat -k idn0 idn0: ipackets 3 ierrors 0 opackets 0 oerrors 0 collisions 0 rx_collisions 0 crc 0 buff 0 nolink 0 linkdown 0 inits 5 nocanput 0 allocbfail 0 notbufs 0 reclaim 0 smraddr 0 txmax 0 txfull 0 xdcall 3 sigsvr 10 mboxcrc 0 rbytes 238 obytes 238 multircv 0 multixmt 0 brdcstrcv 0 brdcstxmt 4 norcvbuf 0 noxmtbuf 0 ipackets64 3 opackets64 3 rbytes64 238 obytes64 238 fcs_errors 0 macxmt_errors 0 toolong_errors 0 macrcv_errors 0 |
以下の例のように、個々の名前、つまりインタフェースの統計情報を要求できます。この例では、論理ネットワークインタフェースとして idn0 と idn1 が使われています。この例にある数字と実際に受け取る出力とはかなり異なる場合があります。
# netstat -k idn0 idn1 idn0: ipackets 1386286 ierrors 0 opackets 1312137 oerrors 0 collisions 0 rx_collisions 0 crc 0 buff 0 nolink 0 linkdown 3561 inits 3 nocanput 131735 allocbfail 0 notbufs 0 reclaim 0 smraddr 0 txmax 0 txfull 0 xdcall 68783 sigsvr 63444 mboxcrc 0 rbytes 291362843 obytes 4225747350 multircv 0 multixmt 0 brdcstrcv 0 brdcstxmt 21 norcvbuf 131735 noxmtbuf 0 ipackets64 1386286 opackets64 1312131 rbytes64 13176264731 obytes64 12816667818 fcs_errors 0 macxmt_errors 16315 toolong_errors 0 macrcv_errors 0 idn1: ipackets 189387 ierrors 0 opackets 136365 oerrors 0 collisions 0 rx_collisions 0 crc 0 buff 0 nolink 0 linkdown 0 inits 3 nocanput 54938 allocbfail 0 notbufs 0 reclaim 0 smraddr 0 txmax 0 txfull 0 xdcall 11788 sigsvr 453 mboxcrc 0 rbytes 1797429854 obytes 1226840176 multircv 0 multixmt 0 brdcstrcv 0 brdcstxmt 10 norcvbuf 54938 noxmtbuf 0 ipackets64 189387 opackets64 136364 rbytes64 1797429854 obytes64 1226840176 fcs_errors 0 macxmt_errors 0 toolong_errors 0 macrcv_errors 0 |
この節には、IDN ドライバに対して実行される netstat(1M) コマンドに関連する kstat(3K) 変数を示します。idnX というエントリには、それぞれのネットワークインタフェースについてレポートされる変数の別々のインスタンスが存在します。(この表で、n/a は IDN では使用されないことを表します。)
以下の表に、netstat -k idn0 または kstat -n idn0 を使用した際に利用できるインスタンスごとの統計情報を示します。
表 3-3 インタフェースごとのkstat(3K) 統計情報
統計情報 |
説明 |
---|---|
allocbfail |
IDN ドライバが着信メッセージ用に STREAMS バッファーを割り当てることに失敗した回数。 |
brdcstrcv |
インタフェースによって受信されたブロードキャストパケットの総数。 |
brdcstxmt |
インタフェースによって送信されたブロードキャストパケットの総数。 |
buff |
着信データパケットのサイズが SMR 入出力バッファーのサイズを超えた回数。 |
collisions |
n/a (送信衝突)。常にゼロ (0)。 |
crc |
再利用時に破壊されたデータ (ヘッダー) バッファーを検出した回数、または破壊されたデータ (ヘッダー) バッファーをリモートドメインから受信した回数。 |
fcs_errors |
受信したパケットのうち、IDN パケットヘッダーの CRC (巡回冗長検査) に失敗したパケットの数。 |
ierrors |
入力エラーの総数 (たとえば、STREAMS バッファーの割り当ての失敗、メールボックスの破壊、無効なバッファーの指定など)。 |
inits |
IDN ドライバの初期化回数。 |
ipackets |
IDN ドライバが各チャネル (ネットワークインタフェース) で受信したパケットの数。 |
ipackets64 |
インタフェースによって受信されたパケットの総数の 64 ビットカウンタ。 |
linkdown |
指定されたドメインへの既存の IDN 接続が接続状態でなかったことを検出した回数。 |
macrcv_errors |
受信されたパケットのうち、受信インタフェースのアドレスと異なる着信先アドレスを含むパケットの数。 |
macxmt_errors |
内部 IDN 送信エラー (たとえば、接続の障害) が原因でインタフェースがパケット送信に失敗した回数。 |
mboxcrc |
ドメインが、破壊されたメールボックスヘッダーを持つ送信または受信メールボックスを検出した回数。 |
multircv |
インタフェースによって受信されたマルチキャストパケットの総数。 |
multixmt |
インタフェースによって送信されたマルチキャストパケットの総数。 |
nocanput |
IDN ドライバがプロトコルスタックへのデータのプッシュを試みたときに STREAMS キューが満杯であった回数。 |
nolink |
指定された相手先ドメインとローカルドメインとの接続が確立されていなかった回数。 |
norcvbuf |
着信パケットを受信するためのバッファーを割り当てられなかった回数。 |
notbufs |
ドメインが送信メッセージ用に SMR 入出力バッファーを割り当てることに失敗した回数。 |
noxmtbuf |
送信パケットを送信するための送信バッファーを割り当てられなかった回数。 |
obytes |
インタフェースによって送信されたバイトの総数。 |
obytes64 |
インタフェースによって送信されたバイト総数の 64 ビットカウンタ。 |
oerrors |
出力エラーの総数 (たとえば、送信メールボックスの破壊、SMR 入出力バッファーの割り当ての失敗、データパケットのヘッダーの破壊など)。 |
opackets |
IDN ドライバが各チャネルで送信したパケットの数。 |
opackets64 |
インタフェースによって送信されたパケット総数の 64 ビットカウンタ。 |
rbytes |
インタフェースによって受信されたバイトの総数。 |
rbytes64 |
インタフェースによって受信されたバイト総数の 64 ビットカウンタ。 |
reclaim |
ドメインが送信バッファーの再利用を試みたが、そのバッファーでエラー (たとえば、ヘッダーの破壊、不正な SMR オフセット) を検出した回数。 |
rx_collisions |
n/a (受信衝突)。常にゼロ (0)。 |
sigsvr |
クロスドメインコールを受信した後に、ドメインがチャネルサーバーに対してメールボックスの読み取りを開始するようにシグナルを送信する必要があった回数。 |
smraddr |
ドメインが、SMR への無効なオフセットを指定した SMR 入出力バッファーを検出した回数 (これは、特に受信先ドメインのメールボックスの受信バッファーに関係します)。 |
toolong_errors |
受信されたパケットのうち、予想した IDN MTU サイズよりも大きかったパケットの数。 |
txfull |
受信メールボックスが満杯状態のときに試みられたパケット伝送の回数。 |
txmax |
未処理パケットの数が idn_window_emax の値を超えたときに試みられたパケット伝送の回数。 |
xdcall |
着信パケットを受け取ったことを返答するために、ドメインがクロスドメインコールを実行する必要があった回数。 |
以下の表に、netstat -k idn または kstat -n idn を使用した際に利用できる広域統計情報を示します。
表 3-4 kstat(3K)広域統計情報
統計情報 |
説明 |
---|---|
buf_fail |
ドメインが SMR 入出力バッファーの割り当てに失敗した回数。 |
buf_fail_last |
最後に SMR バッファーの割り当てに失敗した時点の lbolt のタイムスタンプ。 |
curtime |
広域 kstats に保存された他のタイムスタンプの基準となる、kstats が収集された時点の lbolt のスナップショット。 |
dropped_intrs |
不明なメッセージ (プロトコル) タイプ、または不正な IDN バージョンが原因で、ドメインによってドロップされたクロスドメインコール (DMV 割り込み) の総数。 |
link_last |
最後にリンク要求、つまり接続要求が発生した時点の lbolt のタイムスタンプ。 |
links |
ドメインが参加した接続操作の回数 (各ドメイン接続は 1 つのリンクとして数えられます)。 |
reap_count |
ドメインがマスタードメインからの取得要求に応じて、取得できたスラブの総数 (この数はドメインが存在する間の累計値です)。 |
reap_last |
最後に取得が発生した時点の lbolt のタイムスタンプ。 |
reaps |
SMR スラブをいくつか取得するようにドメインがマスタードメインから要求された回数。 |
reconfig_last |
最後の再構成時の lbolt のタイムスタンプ。 |
reconfigs |
ドメインが再構成に参加した回数。 |
slab_fail |
ドメインがマスタードメインからの SMR スラブの割り当てに失敗した回数。 |
slab_fail_last |
最後に SMR スラブの割り当てに失敗した時点の lbolt のタイムスタンプ。 |
unlink_last |
最後に切断要求が発生した時点の lbolt のタイムスタンプ。 |
unlinks |
ドメインが切断操作に参加した回数 (各切断は 1 つのリンク解除として数えられます)。 |