ナビゲーションリンクをスキップ | |
印刷ビューの終了 | |
Oracle Solaris 11.1 での仮想ネットワークの使用 Oracle Solaris 11.1 Information Library (日本語) |
1. Oracle Solaris でのネットワーク仮想化およびリソース管理
2. Oracle Solaris での仮想ネットワークの作成および管理
3. Oracle Solaris でのネットワークリソースの管理
フローは、属性に従って構成されたネットワークパケットから成ります。フローを使用すると、ネットワークリソースをさらに詳細に割り当てることができます。フローの概要については、「フローを使用することによるネットワークリソースの管理」を参照してください。
リソースの管理にフローを使用するには、次の一般的な手順を実行します。
「フローを使用することによるネットワークリソースの管理」に示されている特定の属性に基づいてフローを作成します。
ネットワークリソースに関連するプロパティーを設定することによって、リソースのフローの使用をカスタマイズします。現在、設定できるのはパケットを処理するための帯域幅だけです。
# dladm show-link
# ipadm show-addr
# flowadm add-flow -l link -a attribute=value[,attribute=value] flow
フローを構成しているリンクを示します。
ネットワークパケットをフローに構成するときに使用できる次の分類のいずれかを示します。
IP アドレス
トランスポートプロトコル (UDP、TCP、または SCTP)
アプリケーションのポート番号 (たとえば、FTP ではポート 21)
DS フィールドの属性 (IPv6 パケットでのサービスの品質にのみ使用されます)DS フィールドについての詳細は、『Oracle Solaris 11.1 での IP サービス品質の管理』の「DS コードポイント」を参照してください。
特定のフローに割り当てる名前を示します。
フローとフローの属性についての詳細は、flowadm(1M) のマニュアルページを参照してください。
# dladm show-linkprop -p maxbw link
ここで、link は、そのフローが構成されているデータリンクです。
値の範囲が POSSIBLE フィールドに一覧表示されます。
# flowadm set-flowprop -p maxbw=value flow
設定する値は、リンクの帯域幅に対して許可される値の範囲内になければなりません。
注 - 現在、カスタマイズできるのはフローの帯域幅だけです。
# flowadm
注 - flowadm コマンド (サブコマンドなしで使用された場合) によって、flowadm show-flow コマンドと同じ情報が提供されます。
# flowadm show-flowprop flow
例 3-8 リンクとフローのプロパティーを設定することによるリソースの管理
この例では、データリンクとフローの両方にネットワークリソースを割り当てるための手順が結合されています。この例は、次の図に示す構成に基づいています。
この図は、互いに接続された 2 つの物理ホストを示しています。
Host1 の構成は次のとおりです。
ルーターゾーンとして機能する 1 つの非大域ゾーンが存在します。このゾーンには、次の 2 つのインタフェースが割り当てられています。net0 はインターネットに接続し、net1 は 2 番目のホストを含む内部ネットワークに接続します。
udpflow は、UDP トラフィックを分離し、UDP パケットのリソースの使用方法に対する制御を実装するために net0 上に構成されたフローです。フローの構成については、「フロー上のリソースの管理」を参照してください。
Host2 の構成は次のとおりです。
3 つの非大域ゾーンと、それぞれ対応する VNIC が存在します。これらの VNIC は、カードが動的なリング割り当てをサポートする net0 上に構成されています。リング割り当てについての詳細は、「クライアント、送信リング、および受信リングの操作」を参照してください。
各ゾーンのネットワーク処理の負荷は異なります。この例では、zone1 の負荷は高く、zone2 の負荷は中程度であり、zone3 の負荷は低いものとします。リソースは、それぞれの負荷に従ってこれらのゾーンに割り当てられています。
別の VNIC がソフトウェアベースのクライアントとして構成されています。MAC クライアントの概要については、「MAC クライアントとリング割り当て」を参照してください。
この例でのタスクには、次のものが含まれます。
フローの作成およびフロー制御の構成 – Host2 で受信される UDP パケットに対する個別のリソース制御を作成するために、net1 上にフローが作成されます。
Host2 上の VNIC のためのネットワークリソースのプロパティーの構成 – ゾーンごとの処理の負荷に基づいて、各ゾーンの VNIC に一連の専用リングが構成されます。また、ソフトウェアベースのクライアントの例として、専用リングのない別の VNIC も構成されます。
この例にはゾーン構成のための手順が含まれていないことに注意してください。ゾーンを構成するには、『Oracle Solaris 11.1 の管理: Oracle Solaris ゾーン、Oracle Solaris 10 ゾーン、およびリソース管理』の第 17 章「非大域ゾーンの計画と構成 (タスク)」を参照してください。
最初に、Host1 上のリンクと IP インタフェースに関する情報を表示します。
# ipadm NAME CLASS/TYPE STATE UNDER ADDR lo0 loopback ok -- -- lo0/v4 static ok -- 127.0.0.1/8 net0 ip ok -- -- net0/v4 static ok -- 10.10.6.5/24 net1 ip failed ipmp0 -- net1/v4 static ok -- 10.10.12.42/24
次に、Host2 への UDP トラフィックを分離するために、net1 上にフローを作成します。次に、そのフロー上にリソース制御を実装します。
# flowadm add-flow -l net1 -a transport=udp udpflow # flowadm set-flowprop -p maxbw=80 udpflow
次に、作成されたフローに関する情報を確認します。
flowadm FLOW LINK IPADDR PROTO LPORT RPORT DFSLD udpflow net1 -- udp -- -- -- # flowadm show-flowprop FLOW PROPERTY VALUE DEFAULT POSSIBLE udpflow maxbw 80 -- --
Host2 上で、ゾーンごとに net0 上に VNIC を構成します。各 VNIC 上にリソース制御を実装します。次に、各 VNIC をそれぞれ対応するゾーンに割り当てます。
# dladm create-vnic -l net0 vnic0 # dladm create-vnic -l net0 vnic1 # dladm create-vnic -l net0 vnic2 # dladm set-prop -p rxrings=4,txrings=4 vnic0 # dladm set-prop -p rxrings=2,txrings=2 vnic1 # dladm set-prop -p rxrings=1,txrings=1 vnic2 # zonecfg -z zone1 # zonecfg:zone1> add net # zonecfg:zone1:net> set physical=vnic0 # zonecfg:zone1:net> end # zonecfg:zone1> commit # zonecfg:zone1> exit # zoneadm -z zone1 reboot # zonecfg -z zone2 # zonecfg:zone2> add net # zonecfg:zone2:net> set physical=vnic1 # zonecfg:zone2:net> end # zonecfg:zone2> commit # zonecfg:zone2> exit # zoneadm -z zone2 reboot # # zonecfg -z zone3 # zonecfg:zone3> add net # zonecfg:zone3:net> set physical=vnic2 # zonecfg:zone3:net> end # zonecfg:zone3> commit # zonecfg:zone3> exit # zoneadm -z zone3 reboot #
Host2 内の一連の CPU である pool1 が、以前に zone1 で使用するように構成されていたとします。次のように、その CPU のプールを zone1 のネットワークプロセスも管理するようにバインドします。
# dladm set-prop -p pool=pool1 vnic0
最後に、プライマリインタフェースである net0 とリングを共有するソフトウェアベースのクライアントを作成します。
# dladm create-vnic -p rxrings=sw,txrings=sw -l net0 vnic3