ナビゲーションリンクをスキップ | |
印刷ビューの終了 | |
Oracle Solaris 11.1 での固定ネットワーク構成を使用したシステムの接続 Oracle Solaris 11.1 Information Library (日本語) |
システムのデータリンクの表示 (dladm show-link)
データリンクの物理属性の表示 (dladm show-phys)
データリンクの名前変更 (dladm rename-link)
動的再構成を使用してネットワークインタフェースカードを交換する方法
5. Oracle Solaris を実行するノートパソコン上での無線ネットワークの構成
A. 比較マップ: ifconfig コマンドと ipadm コマンド
基本的なデータリンク構成に加えて、dladm コマンドを使用してデータリンクプロパティーを設定し、ネットワークの要件に応じてそれらをカスタマイズすることもできます。
データリンクプロパティーに対しては、3 つの dladm サブコマンドを使用します。
dladm show-linkprop [-p property] [datalink] は、データリンクプロパティーとそれらの現在値を表示します。-p property オプションを使用しなかった場合は、データリンクのすべてのプロパティーが一覧表示されます。データリンクを指定しなかった場合は、すべてのデータリンクのすべてのプロパティーが一覧表示されます。
dladm set-linkprop -p property=value datalink は、データリンクのプロパティーに値を割り当てます。
dladm reset-linkprop -p property datalink は、特定のプロパティーをそのデフォルト値にリセットします。
カスタマイズ可能なデータリンクプロパティーは、ある特定の NIC ドライバがサポートするプロパティーに依存します。dladm コマンドを使用して構成可能なデータリンクプロパティーは、2 つのカテゴリのいずれかに該当します。
Ethernet 用のリンク速度や自動ネゴシエーション、またはすべてのデータリンクドライバに適用可能な最大転送単位 (MTU) サイズなど、特定メディアタイプの任意のドライバに適用可能な「公開プロパティー」。
特定メディアタイプの NIC ドライバの特定のサブセットに固有の「非公開プロパティー」。これらのプロパティーはそのサブセットに固有のものとなる可能性がありますが、それは、これらのプロパティーが、ドライバに関連付けられたハードウェアに密接に関連しているか、あるいはデバッグ関連のチューニング可能パラメータのように、ドライバ実装自体の詳細に密接に関連しているからです。
リンクプロパティーには通常、デフォルト値があります。ただし、特定のネットワークシナリオでは、特定のプロパティーの値を変更する必要がある場合もあります。たとえば、NIC は、自動ネゴシエーションを正しく実行しない古いスイッチと通信する可能性があります。また、スイッチは、ジャンボフレームをサポートするように構成されている可能性があります。または、特定のドライバで、パケットの送信やパケットの受信を制御するドライバ固有のプロパティーを変更する必要がある可能性もあります。以降のセクションでは、選択したプロパティーについて説明し、それらの値をネットワーク環境で機能するように変更する方法について説明します。
MTU は、あるプロトコルによってシステムから転送できるパケットの最大サイズを定義します。大部分の NIC ドライバでは、MTU サイズがデフォルトで 1500 に定義されています。しかし、ジャンボフレームがネットワークを通過する場合は、デフォルト値では不十分です。ジャンボフレームをサポートするには、MTU サイズを少なくとも 9000 にする必要があります。
MTU サイズをデフォルト値から変更するには、次のコマンドを入力します。
# dladm set-linkprop -p mtu=new-size datalink
MTU サイズを変更したあとは、データリンク上の IP インタフェースを再構成できます。
次の例は、ジャンボフレームのサポートを有効にする手順を示しています。この例は、データリンク上の既存の IP インタフェース構成がすでに削除されていることを前提にしています。
# dladm show-linkprop -p mtu net1 LINK PROPERTY VALUE DEFAULT POSSIBLE net1 mtu 1500 1500 -- # dladm set-linkprop -p mtu=9000 net1 # dladm show-link web1 LINK CLASS MTU STATE BRIDGE OVER web1 phys 9000 up -- --
ほとんどのネットワーク設定は、異なる速度機能を備えたシステムの組み合わせから構成されます。各システムは、ネットワーク内のほかのシステムに速度機能を通知して、各システムがネットワークトラフィックをどのように送受信するかを知らせます。次の対になったデータリンクプロパティーは、システムによって通知される速度機能を制御します。
adv_10gfdx_cap/en_10gfdx_cap
adv_1000fdx_cap/en_1000fdx_cap
adv_1000hdx_cap/en_1000hdx_cap
adv_100fdx_cap/en_100fdx_cap
adv_100hdx_cap/en_100hdx_cap
adv_10fdx_cap/en_10fdx_cap
adv_10hdx_cap/en_10hdx_cap
それぞれのリンク速度機能は、通知速度 (adv_*_cap) と有効化通知速度 (en_*_cap) からなる一組のプロパティーで参照されます。さらに、プロパティー名に含まれる *fdx* と *hdx* が示すように、全二重機能と半二重機能のどちらに対してもデータリンク速度の情報が提供されます。通知速度プロパティーは、特定のデータリンク速度が通知されるかどうかを示す読み取り専用プロパティーです。特定のデータリンク速度が通知されるかどうかを決定するには、対応する en_*_cap プロパティーを設定します。
デフォルトでは、データリンクのすべての速度機能と二重機能が通知されます。しかし、新しいシステムが古いシステムと通信していて、自動ネゴシエーションが無効または未サポートになっている場合もあります。これらの 2 つのシステム間の通信を有効にするには、古いシステムと新しいシステム間の通知速度を低い値に変更する必要がある場合があります。場合によっては、システムのギガビット機能をオフにする必要があり、低速な速度機能のみが通知されます。この場合は、全二重機能と半二重機能の両方について、次を入力します。
# dladm set-linkprop -p en_1000fdx_cap=0 datalink # dladm set-linkprop -p en_1000hdx_cap=0 datalink
このコマンドは、全二重機能と半二重機能について、システムのギガビット機能の通知をオフにします。
これらのプロパティーの新しい値を表示するには、dladm show-linkprop コマンドを使用します。
# dladm show-linkprop -p adv_10gfdx_cap datalink # dladm show-linkprop -p adv_1000hdx_cap datalink
通常、特定の有効化速度プロパティーと対応する通知プロパティーの値は同一です。ただし、NIC が Power Management などの一部の高度な機能をサポートしている場合は、それらの機能が、ホストとそのリンクパートナーとの間で実際に通知されるビット数の制限を設定する可能性があります。たとえば、Power Management を使用する場合、adv_*_cap プロパティーの設定が en_*_cap プロパティーの設定のサブセットにすぎなくなる可能性があります。
データリンクが開かれたときにストリーム上にプッシュされる STREAMS モジュールを、最大 8 個まで設定できます。これらのモジュールは通常、仮想プライベートネットワーク (VPN) やファイアウォールなど、他社製のネットワークソフトウェアによって使用されます。そのようなネットワークソフトウェアに関するドキュメントは、ソフトウェアベンダーから提供されています。
特定のデータリンク上にプッシュするモジュールのリストは、autopush プロパティーによって制御されます。また、autopush プロパティーの値は、dladm set-linkprop サブコマンドを使用することによって設定されます。
また、別個の autopush コマンドを使用して、データリンクのストリーム上にモジュールをドライバ単位でプッシュすることもできます。このコマンドは、ドライバごとに設定された構成ファイルを使用して、プッシュするモジュールの情報を取得します。ただし、ドライバは常に NIC にバインドされます。データリンクのベースとなる NIC が取り外されると、そのリンクの autopush プロパティーの情報も失われます。
したがって、このためには autopush コマンドではなく dladm コマンドを使用すべきです。特定のデータリンクでドライバ単位とリンク単位の両方のタイプの autoputsh 構成が存在している場合は、dladm set-linkprop で設定されたリンク単位の情報が使用され、ドライバ単位の情報は無視されます。
データリンクが開かれたときに STREAMS にモジュールをプッシュするには、同じ dladm set-linkprop コマンドを使用して、autopush プロパティーのモジュールを指定します。たとえば、vpnmod および bufmod モジュールをリンク net0 の上にプッシュするには、次を入力します。
# dladm set-linkprop -p autopush=vpnmod.bufmod net0
このセクションと次のセクションでは、非公開プロパティーの構成方法を示します。どちらのセクションも、e1000g ドライバ固有のプロパティーに適用されます。ただし、これらのセクションの一般情報は、ほかの NIC ドライバの非公開プロパティーを構成するときに適用されます。
ファイル転送などの一括トラフィックでは通常、ネットワーク経由で大きなパケットのネゴシエーションが必要となります。そのような場合に、e1000g ドライバからより高いパフォーマンスを引き出すには、ダイレクトメモリーアクセス (DMA) バインディングを自動的に使用するようにドライバを構成し、その中でパケットフラグメントサイズのしきい値を定義します。フラグメントサイズがこのしきい値を超えた場合は、パケットの伝送に DMA バインディングが使用されます。フラグメントサイズがこのしきい値以下である場合は、bcopy モードが使用され、事前に割り当てられた伝送バッファーにフラグメントデータがコピーされます。
# dladm set-linkprop -p _tx_bcopy_threshold=value datalink
このプロパティーでは、しきい値の有効な値は 60 から 2048 までの範囲です。
注 - すべてのデータリンクは、汎用名を使用して自動的に命名されます。ベースとなる NIC が e1000g であるデータリンクに対してこの非公開プロパティーが構成されていることを確認してください。プロパティーを設定する前に、dladm show-phys を使用して確認してください。
公開プロパティーの構成と同じく、非公開プロパティーの値を変更する前に IP インタフェースも削除する必要があります。
たとえば、次のような手順を実行します。
# dladm show-phys LINK MEDIA STATE SPEED DUPLEX DEVICE net0 Ethernet up 100Mb full nge0 net1 Ethernet up 100Mb full e1000g0 # dladm set-linkprop -p _tx_bcopy_threshold=1024 net1
e1000g ドライバによって割り込みが発行されるレートを制御するプロパティーは、ネットワークやシステムのパフォーマンスにも影響を与えます。通常、パケットごとに割り込みを生成することによって、ネットワークパケットがスタックの上位層に配信されます。また、割り込みレートはデフォルトで、カーネル内の GLD 層によって自動的に調整されます。ただし、ネットワークトラフィックの状態によっては、このモードが望ましくない場合があります。この問題の詳細については、1996 年の USENIX 技術会議で発表されたこのドキュメント (http://www.stanford.edu/class/cs240/readings/mogul.pdf) を参照してください。したがって、特定の環境でより良いパフォーマンスを得るには、割り込みレートの手動設定が必要になります。
割り込みレートを定義するには、次のプロパティーを設定します。
_intr_throttling_rate は、ネットワークトラフィックの状態にかかわらず、割り込み表明間の遅延を決定します。
_intr_adaptive は、割り込みスロットリングレートの自動チューニングを有効にするかどうかを決定します。デフォルトでは、このプロパティーは有効になっています。
最初に、割り込みスロットリングレートの自動チューニングをオフにします。次に、割り込みスロットリングレートプロパティーを手動で設定します。
割り込みスロットリングレートを変更する必要がある e1000g NIC を含む x86 ベースのシステムがあるとします。また、e1000g0 のデータリンク名が net1 であるとします。次のコマンドを入力します。
# dladm set-linkprop -p _intr_adaptive=0 net1 # dladm set-linkprop -p _intr-throttling_rate=1024 net1
データリンクプロパティーに関する情報を取得するには、次のいずれかのコマンドを使用できます。
dladm show-linkprop [-p property ] [datalink]
dladm show-ether datalink
この方法については、「データリンクプロパティーのカスタマイズ」で説明しています。データリンクプロパティーの完全な一覧を表示するには、プロパティーを指定せずにコマンドを入力します。例:
# dladm show-linkprop net1 LINK PROPERTY VALUE DEFAULT POSSIBLE net1 speed 1000 -- -- net1 autopush -- -- -- net1 zone -- -- -- net1 duplex half -- half,full net1 state unknown up up,down net1 adv_autoneg_cap 1 1 1,0 net1 mtu 1500 1500 -- net1 flowctrl no bi no,tx,rx,bi net1 adv_1000fdx_cap 1 1 1,0 net1 en_1000fdx_cap 1 1 1,0 net1 adv_1000hdx_cap 1 1 1,0 net1 en_1000hdx_cap 1 1 1,0 net1 adv_100fdx_cap 0 0 1,0 net1 en_100fdx_cap 0 0 1,0 net1 adv_100hdx_cap 0 0 1,0 net1 en_100hdx_cap 0 0 1,0 net1 adv_10fdx_cap 0 0 1,0 net1 en_10fdx_cap 0 0 1,0 net1 adv_10hdx_cap 0 0 1,0 net1 en_10hdx_cap 0 0 1,0
dladm show-ether コマンドでオプションを使用しなかった場合は、データリンクの現在の Ethernet プロパティー値のみが表示されます。デフォルトで提供されるものより詳細な情報を取得するには、-x オプションを使用します。次は、このコマンドの使用方法を示す例です。
# dladm show-ether -x net1 LINK PTYPE STATE AUTO SPEED-DUPLEX PAUSE net1 current up yes 1G-f both -- capable -- yes 1G-fh,100M-fh,10M-fh both -- adv -- yes 100M-fh,10M-fh both -- peeradv -- yes 100M-f,10M-f both
-x オプションを使用すると、このコマンドは指定されたリンクの組み込み機能や、ホストとリンクパートナーとの間で現在通知されている機能も表示します。次は、直前の例で表示された情報についての説明です。
Ethernet デバイスの現在の状態については、リンクは稼働しており、毎秒 1 ギガビットの全二重で機能しています。その自動ネゴシエーション機能が有効化されており、ホストとリンクパートナーの両方が一時停止フレームを送受信できる双方向フロー制御が備わっています。この情報は、出力の 1 行目に表示されています。
後続の行には、データリンク速度機能に関する情報、通知される実際のデータリンク速度、およびピアシステムからの情報が次のように表示されています。
Ethernet デバイスの機能が一覧表示されています。ネゴシエーションタイプは自動に設定できます。さらに、このデバイスは毎秒 1 ギガビット、毎秒 100 メガビット、および毎秒 10 メガビットの速度を、全二重、半二重の両方でサポートできます。同様に、一時停止フレームはホストとリンクパートナーとの間でどちらの方向にも送受信できます。
net1 の機能が次のように通知されています: 自動ネゴシエーション、速度 - 二重、一時停止フレームのフロー制御。
同様に、net1 のリンクパートナーつまりピアパートナーが、次の機能を通知しています: 自動ネゴシエーション、速度 - 二重、一時停止フレームのフロー制御。