JavaScript is required to for searching.
ナビゲーションリンクをスキップ
印刷ビューの終了
Oracle Solaris 11.1 での仮想ネットワークの使用     Oracle Solaris 11.1 Information Library (日本語)
このドキュメントの評価
search filter icon
search icon

ドキュメントの情報

はじめに

1.  Oracle Solaris でのネットワーク仮想化およびリソース管理

2.  Oracle Solaris での仮想ネットワークの作成および管理

3.  Oracle Solaris でのネットワークリソースの管理

クライアント、送信リング、および受信リングの操作

MAC クライアントとリング割り当て

VLAN でのリング割り当て

リング割り当てのためのデータリンクプロパティー

受信および送信リングを操作するためのコマンド

リング情報の取得および解釈

データリンクのリング割り当て機能の表示

データリンク上でのリングの使用とリングの割り当ての表示

クライアントを構成してリングを割り当てる方法

プールおよび CPU の操作

CPU プールをデータリンク用に構成する方法

リンクに CPU を割り当てる方法

フロー上のリソースの管理

フローを構成する方法

4.  Oracle Solaris でのネットワークトラフィックとリソース使用状況の監視

索引

ドキュメントの品質向上のためのご意見をください
簡潔すぎた
読みづらかった、または難し過ぎた
重要な情報が欠けていた
内容が間違っていた
翻訳版が必要
その他
Your rating has been updated
貴重なご意見を有り難うございました!

あなたの貴重なご意見はより良いドキュメント作成の手助けとなります 内容の品質向上と追加コメントのためのアンケートに参加されますか?

クライアント、送信リング、および受信リングの操作

NIC 上にある受信 (Rx) リングと送信 (Tx) リングはそれぞれ、システムがネットワークパケットの受信と送信を行うために使用するハードウェアリソースです。以降のセクションでは、リングの概要について説明したあと、ネットワークプロセスにリングを割り当てるために使用される手順を示します。また、リングを割り当てるコマンドを発行したときに、このメカニズムがどのように動作するかを示す例も提供されます。

MAC クライアントとリング割り当て

VNIC やその他のデータリンクなどの MAC クライアントは、システムとほかのネットワークノードの間の通信を可能にするために NIC 上に構成されます。各クライアントは構成されたあと、Rx リングと Tx リングの両方を使用して、それぞれネットワークパケットを受信または送信します。MAC クライアントは、ハードウェアベースまたはソフトウェアベースのどちらかです。ハードウェアベースのクライアントは、次の条件のいずれかを満たします。

これらのいずれの条件も満たさないクライアントは、ソフトウェアベースの MAC クライアントです。

NIC によっては、ハードウェアベースのクライアントにリングを排他的使用のために割り当てることができます。nxge などの NIC は、動的なリング割り当てをサポートしています。このような NIC では、ハードウェアベースのクライアントを構成できるだけではありません。リングが割り当てに使用できる状態のままにあると仮定すると、このようなクライアントに割り当てるリングの数を決定できる柔軟性もあります。リングの使用は、常にプライマリインタフェース (たとえば、net0) のために最適化されます。プライマリインタフェースは、プライマリクライアントとも呼ばれます。ほかのクライアントによって排他的使用のために割り当てられていない使用可能なリングはすべて、プライマリインタフェースに自動的に割り当てられます。

ixge などのほかの NIC は、静的なリング割り当てのみをサポートしています。これらの NIC では、ハードウェアベースのクライアントだけを作成できます。各クライアントには、クライアントごとに固定されたリングのセットが自動的に構成されます。この固定されたセットは、NIC ドライバの初期構成中に決定されます。静的なリング割り当てのためのドライバの初期構成についての詳細は、『Oracle Solaris 11.1 カーネルのチューンアップ・リファレンスマニュアル』を参照してください。

ソフトウェアベースのクライアントは、リングを排他的に使用できません。代わりに、これらのクライアントは、ほかの既存のソフトウェアベースのクライアントまたはプライマリクライアントとリングを共有します。ソフトウェアベースのクライアントが使用するリングは、リング割り当てで優先順位を持つハードウェアベースのクライアントの数によって異なります。

プライマリクライアントとその他のセカンダリクライアントの区別を理解することが重要です。プライマリクライアントは、NIC の物理的なデータリンクです。インストール中に Oracle Solaris によって提供される汎用名に基づいて、プライマリクライアントには netN という名前が付けられます。ここで、N はインスタンス番号です。データリンクの汎用名については、『Oracle Solaris 11 ネットワーキングの紹介』の「ネットワークデバイスとデータリンク名」を参照してください。VNIC は、物理的なデータリンク上に作成されるセカンダリクライアントです。これらのクライアントがハードウェアベースのクライアントである場合は、リングを排他的に使用できます。それ以外の場合、これらのクライアントはソフトウェアベースです。

VLAN でのリング割り当て

VLAN でのリングの割り当て処理は、その VLAN が作成された方法によって異なります。VLAN は、次の 2 つの方法のどちらかで作成されます。

dladm create-vlan サブコマンドで作成された VLAN は、ベースとなるインタフェースと同じ MAC アドレスを共有します。その結果、その VLAN は、ベースとなるインタフェースの Rx リングと Tx リングも共有します。dladm create-vnic コマンドを使用して VNIC として作成された VLAN には、ベースとなるインタフェースとは異なる MAC アドレスが割り当てられます。このような VLAN へのリングの割り当ては、ベースとなるリンクへの割り当てとは独立して行われます。そのため、NIC がハードウェアベースのクライアントをサポートしていると仮定すると、その VLAN には独自の専用リングを割り当てることができます。

リング割り当てのためのデータリンクプロパティー

リングを管理するために、dladm コマンドを使用して、次の 2 つのリングプロパティーを設定できます。

各プロパティーを次の 3 つの指定可能な値のいずれかに設定できます。

現在のリングの割り当てと使用に関する情報を表示するために、次の追加の読み取り専用のリングプロパティーが使用できます。

受信および送信リングを操作するためのコマンド

データリンクの受信および送信リングの使用を管理するには、次の主体 dladm サブコマンドを使用します。

リング情報の取得および解釈

このセクションでは、データリンクのリング関連のプロパティーを表示する dladm show-linkprop 出力について説明します。

データリンクのリング割り当て機能の表示

このセクションでは、リング関連のプロパティーに関するコマンド出力の例を示したあと、取得できる情報の種類について説明します。これらの例では、次の NIC が使用されています。

例 3-1 nxge のリング情報

次の例は、nxge のリング情報を示しています。

# dladm show-linkprop net0
LINK    PROPERTY            PERM  VALUE  DEFAULT  POSSIBLE
...
net0    rxrings             rw    --     --       sw,<1-7>
...
net0    txrings             rw    --     --       sw,<1-7>
...
net0    rxrings-available   r-    5      --       --
net0    txrings-available   r-    5      --       --
net0    rxhwclnt-available  r-    2      --       --
net0    txhwclnt-available  r-    2      --       --
...

net0 では、POSSIBLE フィールドの値は、rxringstxrings に対して sw<1-7> です。これらの値は、nxge がソフトウェアベースのクライアントだけでなく、ハードウェアベースのクライアントをサポートしていることを示します。範囲 <1-7> は、クライアントに対して設定できる Rx リングまたは Tx リングの数の制限を示しています。この範囲はまた、NIC が受信側と送信側の両方に対して動的なリング割り当てをサポートしていることも示しています。

さらに、*rings-available プロパティーは、ハードウェアベースのクライアントに割り当てるために 5 つの Rx リングと 5 つの Tx リングが使用可能なことを示しています。

ただし、*clnt-available プロパティーは、使用可能な Rx リングを排他的に使用できるクライアントを 2 つしか構成できないことを示しています。同様に、使用可能な Tx リングを排他的に使用できるクライアントは 2 つしか構成できません。

例 3-2 ixgbe のリング情報

次の例は、ixgbe のリング情報を示しています。

# dladm show-linkprop net1
LINK   PROPERTY            PERM  VALUE  DEFAULT  POSSIBLE
...
net1   rxrings             rw     --    --       sw,hw
...
net1   txrings             rw     --    --       sw,hw,<1-7>
...
net1   rxrings-available   r-     0     --       --
net1   txrings-available   r-     5     --       --
net1   rxhwclnt-available  r-     0     --       --
net1   txhwclnt-available  r-     7     --       --
...

net1 では、rxringstxrings の両方に対する POSSIBLE フィールドの値 swhw は、ixgbe がハードウェアベースのクライアントとソフトウェアベースのクライアントの両方をサポートしていることを示しています。Rx リングでは、静的なリング割り当てのみがサポートされています。つまり、ハードウェアがハードウェアベースの各クライアントに、固定された Rx リングのセットを割り当てます。ただし、Tx リングの場合、範囲 <1–7> は、動的割り振りがサポートされていることを示しています。ハードウェアベースのクライアントに割り当てる Tx リングの数 (この例では、最大 7 リング) を判定できます。

さらに、*rings-available プロパティーは、ハードウェアベースのクライアントに割り当てるために 5 つの Tx リングが使用可能であるが、割り当て可能な Rx リングはないことを示しています。

最後に、*hwclnt-available プロパティーに基づいて、ハードウェアベースの 7 つの Tx クライアントを Tx リングを排他的に使用するように構成できます。ただし、動的な Rx リング割り当てがサポートされていないため、Rx リングを排他的に使用できるハードウェアベースのクライアントを作成することはできません。

どちらかの *rings-available プロパティーの VALUE フィールドにあるゼロ (0) は、次のどちらかを示すことがあります。

rxrings および txringsPOSSIBLE フィールドと、rxrings-available および txrings-availableVALUE フィールドと比較することによって、この 0 の意味を確認できます。

たとえば、次のように txrings-available0 であるとします。

# dladm show-linkprop net1
LINK   PROPERTY            PERM  VALUE  DEFAULT  POSSIBLE
...
net1   rxrings             rw    --     --       sw,hw
net1   txrings             rw    --     --       sw,hw,<1-7>
net1   rxrings-available   r-    0      --       --
net1   txrings-available   r-    0      --       --
...

この出力では、rxrings-availableVALUE フィールドが 0 であるのに対して、rxringsPOSSIBLE フィールドは sw,hw です。これらの情報を組み合わせると、使用可能な Rx リングがないのは NIC が動的なリング割り当てをサポートしていないためであることがわかります。送信側では、txrings-availableVALUE フィールドが 0 であるのに対して、txringsPOSSIBLE フィールドは sw,hw,<1-7> です。これらの情報を組み合わせると、使用可能な Tx リングがないのはすべての Tx リングがすでに割り当てられているためであることがわかります。ただし、txringsPOSSIBLE フィールドが示しているように、動的なリング割り当てはサポートされています。そのため、Tx リングが使用可能になったら、これらのリングを割り当てることができます。

例 3-3 e1000g のリング情報

次の例は、e1000g のリング情報を示しています。

# dladm show-linkprop net2
LINK   PROPERTY             PERM  VALUE  DEFAULT  POSSIBLE
...
net2   rxrings             rw     --      --     --
...
net2   txrings             rw     --      --     --
...
net2   rxrings-available   r-     0       --     --
net2   txrings-available   r-     0       --     --
net2   rxhwclnt-available  r-     0       --     --
net2   txhwclnt-available  r-     0       --     --
...

この出力は、e1000g ではリング割り当てがサポートされていないため、リングもハードウェアベースのクライアントも構成できないことを示しています。

データリンク上でのリングの使用とリングの割り当ての表示

次の 2 つの読み取り専用のデータリンクプロパティーによって、リングが現在、データリンク上の既存のクライアントによってどのように使用されているかに関する情報が提供されます。

リングの使用と、どのリングがクライアントに配布されているかに関する情報を取得するには、dladm show-linkprop サブコマンドと dladm show-phys -H サブコマンドの両方を使用します。

次の例は、Rx および Tx リングの使用と、これらのリングがクライアント間でどのように配布されているかに関して、この 2 つのコマンドによって生成された異なるタイプの出力を示しています。

例 3-4 プライマリクライアントのリングの使用

プライマリクライアントは、NIC の物理的なデータリンク上に構成されたインタフェースです。この例の場合、NIC は ixgbe カードです。デフォルトでは、そのデータリンクは net0 です。net0 上の IP インタフェースはプライマリクライアントです。

# dladm show-linkprop net0
LINK   PROPERTY              PERM  VALUE  DEFAULT  POSSIBLE
...
net0   rxrings              rw    --     --       sw,hw
net0   rxrings-effective    r     2      --       --
net0   txrings              rw    --     --       sw,hw,<1-7>
net0   txrings-effective    r     8      --       --
net0   txrings-available    r-    7      --       --
net0   rxrings-available    r-    0      --       --
net0   rxhwclnt-available   r-    3      --       --
net0   txhwclnt-available   r-    7      --       --
...
# dladm show-phys -H net0
LINK   RINGTYPE   RINGS   CLIENTS
net0   RX         0-1     <default,mcast>
net0   TX         0-7     <default>net0
net0   RX         2-3     net0
net0   RX         4-5     --
net0   RX         6-7     --

この出力では、プライマリクライアント net0 でのリングの使用と配布に関する次の情報が提供されます。

例 3-5 セカンダリクライアントのリングの使用

この例では、net0 上の VNIC クライアント vnic1 および ixgbe カードの物理的なデータリンクの構成を前提にしています。

# dladm show-linkprop vnic1
LINK    PROPERTY            PERM  VALUE  DEFAULT  POSSIBLE
...
vnic1   rxrings             rw    hw     --       sw,hw 
vnic1   rxrings-effective   r-    2      --       -- 
vnic1   txrings             rw    hw     --       sw,hw,<1-7> 
vnic1   txrings-effective   r-    1      --       -- 
...
# dladm show-linkprop net0
LINK    PROPERTY            PERM  VALUE  DEFAULT  POSSIBLE
...
net0  rxrings             rw     --    --       sw,hw 
net0  rxrings-effective   r-     2     --       -- 
net0  txrings             rw     --    --       sw,hw,<1-7>
net0  txrings-effective   r-     --    --       -- 
net0  txrings-available   r-     6     --       -- 
net0  rxrings-available   r-     0     --       -- 
net0  rxhwclnt-available  r-     3     --       -- 
net0  txhwclnt-available  r-     6     --       -- 
...
# dladm show-phys -H net0
LINK     RINGTYPE   RINGS     CLIENTS
net0   RX         0-1       <default,mcast>
net0   TX         0,2-7     <default>net0
net0   RX         2-3       net0 
net0   RX         4-5       vnic1 
net0   RX         6-7       --
net0   TX         1         vnic1

これらの 3 つのコマンドの出力を組み合わせると、次の情報が提供されます。

vnic1 は、静的なリング割り当てでハードウェアベースのクライアントとして構成されていることに注意してください。その結果、net0 上に作成できる使用可能な Tx ハードウェアクライアント (txhwclnt-available) の数は 6 に削減されています。

クライアントを構成してリングを割り当てる方法

この手順では、リング割り当てに対するサポートの種類に基づいて、データリンク上にクライアントを構成する方法について説明します。「データリンクのリング割り当て機能の表示」および 「データリンク上でのリングの使用とリングの割り当ての表示」で説明されているように、データリンクのリングプロパティーを表示する dladm コマンドの出力を解釈できることを確認してください。これらの情報は、クライアントを構成するうえで役立ちます。

  1. データリンクのリングプロパティーを表示します。
    # dladm show-linkprop datalink

    この出力から、次の内容を判定します。

    • NIC がハードウェアベースのクライアントをサポートしているかどうか

    • NIC がサポートしているリング割り当てのタイプ

    • ハードウェアベースのクライアントに割り当てるためのリングの可用性

    • リンク上に構成できるハードウェアベースのクライアントの可用性

  2. 前の手順で得られた情報に応じて、次のいずれかを実行します。
    • NIC が動的なリング割り当てをサポートしている場合は、次の構文を使用してハードウェアベースのクライアントを作成します。

      # dladm create-vnic -p rxrings=number[,txrings=number] -l link vnic

      このクライアントが以前に作成されている場合は、次の構文を使用します。

      # dladm set-linkprop -p rxrings=number[,txrings=number] vnic

      注 - NIC によっては、Rx リングまたは Tx リングのどちらかで動的なリング割り当てをサポートしているが、両方のタイプではサポートしていないものがあります。number は、動的なリング割り当てがサポートされているリングのタイプに対して指定してください。


    • NIC が静的なリング割り当てをサポートしている場合は、次の構文を使用してハードウェアベースのクライアントを作成します。

      # dladm create-vnic -p rxrings=hw[,txrings=hw] -l link vnic

      このクライアントが以前に作成されている場合は、次の構文を使用します。

      # dladm set-linkprop -p rxrings=hw[,txrings=hw] vnic

      注 - NIC によっては、Rx リングまたは Tx リングのどちらかで静的なリング割り当てをサポートしているが、両方のタイプではサポートしていないものがあります。hw は、静的なリング割り当てがサポートされているリングのタイプに対して指定してください。


    • NIC がソフトウェアベースのクライアントのみをサポートしている場合は、次の構文を使用してクライアントを作成します。

      # dladm create-vnic -p rxrings=sw[,txrings=sw] -l link vnic

      このクライアントが以前に作成されている場合は、次の構文を使用します。

      # dladm set-linkprop -p rxrings=sw[,txrings=sw] vnic
  3. (オプション) 新しく作成されたクライアントのリング情報を確認します。
    # dladm show-linkprop vnic
  4. (オプション) データリンクのリングが異なるクライアントの間でどのように配布されているかを確認します。
    # dladm show-phys -H datalink

参照

仮想ネットワーク内のネットワークトラフィックを処理するためにフローを使用する方法や、システムリソース (Rx および Tx リングを含む) を割り当てる方法を示す例については、例 3-8 を参照してください。