ナビゲーションリンクをスキップ | |
印刷ビューの終了 | |
Oracle Solaris 管理: ネットワークインタフェースとネットワーク仮想化 Oracle Solaris 11 Information Library (日本語) |
この Oracle Solaris リリースでのネットワーク構成
7. プロファイルでのデータリンクおよびインタフェース構成コマンドの使用
dladm コマンドを使用したデータリンクプロパティーの設定
データリンクプロパティーに関するステータス情報を取得する方法
動的再構成を使用してネットワークインタフェースカードを交換する方法
10. Oracle Solaris 上での無線インタフェース通信の構成
dladm コマンドは、データリンクの基本的な構成を実行するためだけでなく、データリンクプロパティーを設定したり、ネットワークの要求に従ってそれらのプロパティーをカスタマイズしたりするために使用することもできます。
注 - dladm コマンドを使用してデータリンクプロパティーをカスタマイズできるのは、e1000g のように、リンクのネットワークドライバが GLDv3 フレームワーク用に変換されている場合です。特定のドライバがこの機能をサポートしているか確認するには、ドライバのマニュアルページを参照してください。
カスタマイズ可能なデータリンクプロパティーは、ある特定の NIC ドライバがサポートするプロパティーに依存します。dladm コマンドを使用して構成可能なデータリンクプロパティーは、2 つのカテゴリのいずれかに該当します:
Ethernet 用のリンク速度や自動ネゴシエーション、またはすべてのデータリンクドライバに適用可能な MTU サイズなど、特定メディアタイプの任意のドライバに適用可能な「公開プロパティー」。
特定メディアタイプの NIC ドライバの特定のサブセットに固有の「非公開プロパティー」。これらのプロパティーはそのサブセットに固有のものとなる可能性がありますが、それは、これらのプロパティーが、ドライバに関連付けられたハードウェアに密接に関連しているか、あるいはデバッグ関連のチューニング可能パラメータのように、ドライバ実装自体の詳細に密接に関連しているからです。
リンクプロパティーは通常、デフォルト設定を持ちます。ただし、特定のネットワークシナリオでは、データリンクの特定のプロパティー設定を変更する必要がある場合もあります。これらのプロパティー設定は、公開プロパティー、非公開プロパティーのいずれかになります。たとえば、NIC は、自動ネゴシエーションを正しく実行しない古いスイッチと通信する可能性があります。また、スイッチは、ジャンボフレームをサポートするように構成されている可能性があります。あるいは、特定のドライバで、パケットの送信やパケットの受信を制御するドライバ固有のプロパティーを変更する必要がある可能性もあります。Oracle Solaris では、これらすべての設定を、単一の管理ツール dladm によって設定し直せるようになりました。
次の節は、特定のデータリンクプロパティーを設定するための手順を、例とともに提供します。選択されたプロパティーは公開プロパティーであり、すべての NIC ドライバに共通するものです。別の節は、ドライバに固有のデータリンクプロパティーについて説明します。この節のあとに、e1000g ドライバの選択された非公開プロパティーを構成するための手順が続きます。
ネットワーク設定でのジャンボフレームのサポートの有効化は、大部分のネットワークシナリオでの一般的なタスクです。ジャンボフレームをサポートするには、データリンクの最大伝送単位 (MTU) のサイズを増やす必要があります。次の手順には、データリンクを識別するためのカスタマイズされた名前の使用が含まれています。カスタマイズされた名前の概要やそのネットワーク構成での使用方法については、「Oracle Solaris のネットワークスタック」を参照してください。
詳細は、『Oracle Solaris の管理: セキュリティーサービス』の「管理権限を取得する方法」を参照してください。
# dladm show-phys
この手順は特に、ネットワーク構成がデータリンクに対してカスタマイズされた名前を使用している場合に実行します。カスタマイズされた名前を使用する場合、データリンクは必ずしもハードウェアベースの名前で識別されなくなります。たとえば、Ethernet デバイスは bge0 です。しかし、そのデバイス上のデータリンクの名前が net0 に変更されます。したがって、net0 の MTU サイズを構成する必要があります。カスタマイズされた名前を使用したデータリンクに関する構成タスクの例については、「IP インタフェースの構成 (タスク)」を参照してください。
dladm show-linkprop -p property datalink
このコマンドは、指定されたプロパティーの設定を表示します。
# dladm show-link datalink
このコマンドは、MTU サイズなど、データリンクの情報を表示します。
# ipadm delete-ip interface
# dladm set-linkprop -p mtu=9000 datalink
# ipadm create-ip interface
# ipadm create-addr -T addr-type [-a address] addrobj
ipadm コマンドの詳細については、ipadm(1M) を参照してください。
# dladm show-linkprop -p mtu datalink
# dladm show-ether datalink
例 8-5 ジャンボフレームのサポートの有効化
ジャンボフレームのサポートを有効化する次の例は、次のシナリオに基づいています。
bge0 と bge1 の 2 つの bge NIC が、システムに含まれています。
デバイス bge0 は主インタフェースとして使用され、デバイス bge1 はテスト目的で使用されます。
bge1 ではジャンボフレームのサポートを有効にしますが、主インタフェースのデフォルトの MTU サイズは維持します。
ネットワーク構成は、データリンクに対してカスタマイズされた名前を使用しています。bge0 のリンク名は net0 です。bge1 のリンク名は net1 です。
# dladm show-phys LINK MEDIA STATE SPEED DUPLEX DEVICE net0 ether up 100Mb full bge0 net1 ether up 100Mb full bge1 net2 ether up 100Mb full nge3 # dladm show-linkprop -p mtu net1 LINK PROPERTY VALUE DEFAULT POSSIBLE net1 mtu 1500 1500 -- # ipadm delete-ip net1 # dladm set-linkprop -p mtu=9000 net1 # ipadm create-ip net1 # ipadm create-addr -T static -a 10.10.1.2/35 net1/v4 # dladm show-link web1 LINK CLASS MTU STATE BRIDGE OVER web1 phys 9000 up -- --
MTU の設定が 9000 になっていることがわかります。この例では、dladm コマンドを使用して net1 の MTU サイズを直接変更できています。ndd コマンドを使用する以前の方法では、net0 も削除する必要がありましたが、そのために、主インタフェースの動作が不必要に中断されていました。
ほとんどのネットワーク設定は、異なる速度機能を備えたシステムの組み合わせから構成されます。たとえば、比較的古いシステムと新しいシステムの間で通知される速度は、通信を可能にするために低い設定に変更する必要がある場合があります。デフォルトでは、NIC カードのすべての速度機能と二重機能が通知されます。この手順は、ギガビット機能をオフにしてメガビット機能のみを通知する方法を示します。
詳細は、『Oracle Solaris の管理: セキュリティーサービス』の「管理権限を取得する方法」を参照してください。
# dladm show-linkprop -p property datalink
# dladm set-linkprop -p property=value1 datalink
例 8-6 NIC のギガビット機能の通知の無効化
この例は、リンク net1 がギガビット機能を通知しないようにする方法を示します。
# dladm show-linkprop -p adv_1000fdx_cap net1 LINK PROPERTY VALUE DEFAULT POSSIBLE net1 adv_1000fdx_cap 1 -- 1,0 # dladm show-linkprop -p adv_1000hdx_cap web1 LINK PROPERTY VALUE DEFAULT POSSIBLE net1 adv_1000hdx_cap 1 -- 1,0
リンクのギガビット機能を通知するプロパティーは、adv_1000fdx_cap と adv_1000hdx_cap です。これらのプロパティーを無効にして通知されないようにするには、次のコマンドを入力します。
# dladm set-linkprop -p adv_1000fdx_cap=0 net1 # dladm set-linkprop -p adv_1000hdx_cap=0 net1
Ethernet パラメータの設定を一覧表示すると、次の出力が表示されます。
# dladm show-ether net1 LINK PTYPE STATE AUTO SPEED-DUPLEX PAUSE net1 current up yes 1G-f both
Ethernet パラメータ設定、リンクプロパティーのいずれかを表示することで、データリンクのプロパティーに関する情報を取得できます。
詳細は、『Oracle Solaris の管理: セキュリティーサービス』の「管理権限を取得する方法」を参照してください。
# dladm show-ether [-x] datalink
ここで、-x オプションを指定すると、リンクに関する追加のパラメータ情報が含められます。-x オプションを指定しないと、現在のパラメータ設定のみが表示されます。
# dladm show-linkprop datalink
例 8-7 Ethernet パラメータ設定の表示
この例は、指定されたリンクに関するパラメータ情報の拡張リストを表示します。
# 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 ギガビットの全二重で機能しています。その自動ネゴシエーション機能が有効化されており、ホストとリンクパートナーの両方が一時停止フレームを送受信できる双方向フロー制御が備わっています。
現在の設定にかかわらず、Ethernet デバイスの機能が表示されています。ネゴシエーションタイプは自動に設定可能であり、このデバイスは、毎秒 1 ギガビット、毎秒 100 メガビット、および毎秒 10 メガビットの速度を、全二重、半二重の両方でサポートできます。同様に、一時停止フレームはホストとリンクパートナーとの間でどちらの方向にも送受信できます。
net1 の機能が次のように通知されています: 自動ネゴシエーション、速度 - 二重、一時停止フレームのフロー制御。
同様に、net1 のリンクパートナーつまりピアパートナーが、次の機能を通知しています: 自動ネゴシエーション、速度 - 二重、一時停止フレームのフロー制御。
例 8-8 リンクプロパティーの表示
この例は、リンクのすべてのプロパティーを一覧表示する方法を示します。特定のプロパティーのみを表示する場合は、監視するその特定のプロパティーで -p オプションを使用します。
# 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
リンクの速度機能や二重機能の設定は、en_*_cap というラベルの付いた有効化速度プロパティーに手動で構成されます。たとえば、en_1000fdx_cap はギガビット全二重機能のプロパティーであり、en_100hdx_cap は 100 メガビット半二重機能のプロパティーです。これらの有効化速度プロパティーの設定は、ホストとそのリンクパートナーとの間で、対応する通知速度プロパティーによって通知されます。通知速度プロパティーには、adv_1000fdx_cap や adv_100hdx_cap のように、adv_*_cap というラベルが付けられます。
通常、ある特定の有効化速度プロパティーと対応する通知プロパティーの設定は、同一になります。ただし、NIC が Power Management などの一部の高度な機能をサポートしている場合は、それらの機能が、ホストとそのリンクパートナーとの間で実際に通知されるビット数の制限を設定する可能性があります。たとえば、Power Management を使用する場合、adv_*_cap プロパティーの設定が en_*_cap プロパティーの設定のサブセットにすぎなくなる可能性があります。有効化速度プロパティーや通知速度プロパティーの詳細については、dladm(1M) のマニュアルページを参照してください。
この手順と次の手順は、非公開プロパティーの構成方法を示します。どちらの手順も、e1000g ドライバに固有のプロパティーに適用されます。しかし、ほかの NIC ドライバの非公開プロパティーを構成する際にも、この一般的な手順を使用できます。
ファイル転送などの一括トラフィックでは通常、ネットワーク経由で大きなパケットのネゴシエーションが必要となります。そのような場合に、e1000g ドライバからより高いパフォーマンスを引き出すには、DMA バインディングを自動的に使用するようにドライバを構成します。その場合、パケットフラグメントサイズのしきい値が定義されます。フラグメントサイズがこのしきい値を超えた場合は、伝送に DMA バインディングが使用されます。フラグメントサイズがこのしきい値より小さい場合は、bcopy モードが使用され、事前に割り当てられた伝送バッファーにフラグメントデータがコピーされます。
このしきい値を設定するには、次の手順を実行します。
詳細は、『Oracle Solaris の管理: セキュリティーサービス』の「管理権限を取得する方法」を参照してください。
# dladm set-linkprop -p _tx_bcopy_threshold=value e1000g-datalink
このプロパティーでは、しきい値の有効な設定は、60 から 2048 までの範囲です。
注 - 公開プロパティーの構成と同じく、非公開プロパティーの設定を変更する前に、インタフェースの unplumb も行う必要があります。
# dladm show-linkprop -p _tx_bcopy_threshold e1000g-datalink
e1000g ドライバによって割り込みが発行されるレートを制御するパラメータは、ネットワークやシステムのパフォーマンスにも影響を与えます。通常、パケットごとに割り込みを生成することによって、ネットワークパケットがスタックの上位層に配信されます。また、割り込みレートはデフォルトで、カーネル内の GLD 層によって自動的に調整されます。ただし、ネットワークトラフィックの状態によっては、このモードが望ましくない場合があります。この問題の詳細については、1996 年の USENIX 技術会議で発表されたこのドキュメント (http://www.stanford.edu/class/cs240/readings/mogul.pdf) を参照してください。したがって、特定の環境でより良いパフォーマンスを得るには、割り込みレートの手動設定が必要になります。
割り込みレートを定義するには、次のパラメータを設定します。
_intr_throttling_rate は、ネットワークトラフィックの状態にかかわらず、割り込み表明間の遅延を決定します。
_intr_adaptive は、割り込みスロットリングレートの自動チューニングを有効にするかどうかを決定します。デフォルトでは、このパラメータは有効になっています。
詳細は、『Oracle Solaris の管理: セキュリティーサービス』の「管理権限を取得する方法」を参照してください。
# dladm show-phys
# dladm set-linkprop -p _intr_adaptive=0 e1000g-datalink
注 - 割り込みスロットリングレートの自動チューニングが有効になっていると、パラメータ _intr_throttling_rate の既存の設定は一切無視されます。
# dladm set-linkprop -p _intr_throttling_rate=value e1000g-datalink
注 - _intr_throttling_rate パラメータのデフォルト設定は、SPARC ベースシステムでは 550、x86 ベースシステムでは 260 です。最小割り込み間レベルを 0 に設定すると、割り込みスロットリングロジックが無効になります。
例 8-9 DMA バインディングの構成と割り込みスロットリングレートの設定
この例は、e1000g NIC を備えた x86 ベースシステムを使用します。ドライバは、パケットの伝送に DMA バインディングを使用する方法と bcopy モードを使用する方法の切り替えを行うしきい値設定で構成されます。割り込みスロットリングレートの設定も変更されます。さらに、e1000g データリンクは、OS によって割り当てられたデフォルトの汎用名を使用しています。したがって、カスタマイズされた名前 net0 を参照することによってデータリンクの構成が実行されます。
# dladm show-phys LINK MEDIA STATE SPEED DUPLEX DEVICE net0 ether up 100Mb full e1000g0 # dladm show-linkprop -p _tx_bcopy_threshold net0 LINK PROPERTY VALUE DEFAULT POSSIBLE net0 _tx_bcopy_threshold 512 512 -- # dladm show-linkprop -p _intr-throttling_rate LINK PROPERTY VALUE DEFAULT POSSIBLE net0 _intr-throttling_rate 260 260 -- # ipadm delete-ip net0 # dladm set-linkprop -p _tx_bcopy_threshold=1024 net0 # dladm set-linkprop -p _intr_adaptive=0 net0 # dladm set-linkprop -p _intr-throttling_rate=1024 net0 # ipadm create-ip net0 # ipadm create-addr -T static -a 10.10.1.2/24 net0/v4addr # dladm show-linkprop -p _tx_bocopy_threshold=1024 net0 LINK PROPERTY VALUE DEFAULT POSSIBLE net0 _tx_bcopy_threshold 1024 512 -- # dladm show-linkprop -p _intr_adaptive net0 LINK PROPERTY VALUE DEFAULT POSSIBLE net0 _intr-adaptive 0 1 -- # dladm show-linkprop -p _intr-throttling_rate LINK PROPERTY VALUE DEFAULT POSSIBLE net0 _intr-throttling_rate 1024 260 --