ナビゲーションリンクをスキップ | |
印刷ビューの終了 | |
![]() |
Oracle Solaris 11.1 ネットワークパフォーマンスの管理 Oracle Solaris 11.1 Information Library (日本語) |
PFC では、IEEE 802.1p の CoS 値を含むように標準 PAUSE フレームが拡張されます。PFC では、PAUSE フレームの送信時にリンク上のすべてのトラフィックを停止する代わりに、PFC フレーム内で有効になっている CoS 値のトラフィックだけを停止します。PFC フレームは、トラフィックを一時停止する必要のある、有効になっている優先順位に対して送信されます。送信側ホストがその優先順位のトラフィックを停止する一方で、ほかの無効になっている優先順位のトラフィックは影響を受けません。PFC フレームで指定された時間間隔のあと、または、送信側ホストが別の PFC フレームを受信したあと、それらのパケットの伝送が再開されます。優先順位に基づく一時停止により、その優先順位のパケットが破棄されることはなくなります。優先順位が定義されていないパケットに対しては、PAUSE フレームは送信されません。したがって、トラフィックフローは継続し、トラフィックの輻輳時にパケットが破棄される可能性があります。
優先順位は、pfcmap データリンクプロパティーの 8 ビットマスク (0–7) で表されます。最下位ビットは優先順位 0 を表し、最上位ビットは優先順位 7 を表します。このマスクの各ビットは、それに対応する優先順位に対して PFC が有効かどうかを示します。デフォルトでは、pfcmap は 1111111 に設定され、したがって、すべての優先順位に対して PFC が有効になります。受信側ホストで輻輳が発生した場合、リンク上で伝送される任意のパケットについて、送信側ホストに PFC フレームが送信されます。
pfcmap プロパティーのほかに、次のプロパティーにより、優先順位の定義とマッピングに関する情報が提供されます。
pfcmap-lcl-effective は、ローカルホストで有効になっている PFC マッピングを示します。このプロパティーは読み取り専用です。このプロパティーは、pfcmap プロパティーの値または pfcmap-rmt-effective プロパティーの値のどちらかを反映します。
pfcmap-rmt-effective は、リモートピアで有効になっている PFC マッピングを示します。このプロパティーも読み取り専用です。
PFC フレームが正しく送信されるには、通信を行うホストの DCB 構成情報が対称でなければなりません。Oracle Solaris 11 システムは、リモートピアの PFC 構成と一致するように自身の PFC 構成を自動的に調整できます。
これら 2 つのプロパティーは、ピア間で PFC 情報が同期されているかどうかを間接的に示します。ローカルピアとリモートピアの間で PFC 情報が一致しているデータリンクの場合、pfcmap に設定されている値にかかわらず、pfcmap-lcl-effective と pfcmap-rmt-effective の値は同じになります。ローカルホストで同期機能が無効になっている場合、pfcmap-lcl-effective にはローカルホストの pfcmap プロパティーの値が反映されます。
これらのプロパティー構成によって提供される PFC 情報の例については、「PFC 構成情報の取得」を参照してください。
PFC TLV ユニットは、ホストがピアホストから受信した情報に関してどのように動作するかを制御します。この TLV ユニットには構成可能なプロパティーが 1 つだけあり、それは willing です。デフォルトでは、このプロパティーは on に設定され、ローカルホストは自身の PFC 優先順位定義をリモートピアの PFC 定義と同期することができます。特定のエージェントの情報の自動同期を防止するには、次のようにプロパティーを off に切り替えます。
# lldpadm set-agenttlvprop -p willling=off -a agent pfc
この agent は、エージェントが有効になっているデータリンクによって識別されます。
ほとんどの場合、PFC のデフォルトの構成で十分です。この構成は LLDP が有効になっている場合に自動的に設定されます。ただし、PFC の構成時に使用できる各種オプションを示すために、この手順では手動の PFC 構成手順を示します。この手順では、自動構成は存在しないものとします。手順を理解しやすくするために、構成はすべて net0 に対して実行します。
「DCBX を有効にする方法」を参照してください。
デフォルトでは、PFC、ETS、およびエッジ仮想ブリッジング (EVB) が有効になります。PFC だけを使用すると仮定します。したがって、ほかの 2 つの値を LLDP エージェントの dot1–tlv プロパティーから削除する必要があります。dot1–tlv の取り得る値のリストについては、表 7-3 を参照してください。
# lldpadm set-agenttlvprop -p dot1-tlv-=etscfg,evb net0
# dladm show-linkprop -p flowctrl net0
プロパティーの値のリストに pfc が含まれていない場合は、次のコマンドを発行します。
# dladm set-linkprop -p flowctrl=pfc net0
たとえば、CoS 優先順位 6 だけを有効にするには、次のコマンドを入力します。
# dladm set-linkprop -p pfcmap=01000000 net0
# lldpadm show-agenttlvprop -p willing -a net0 pfc
PFC TLV プロパティー willing が off に設定されている場合は、次のコマンドを発行します。
# lldpadm set-agenttlvprop -p willing=on -a net0 pfc
このセクションでは、LLDP と DCB の構成後の PFC に関連する情報の例をいくつか示します。
次のコマンドは、PFC に関連する情報を表示します。
dladm show-linkprop -p pfcmap,pfc-lcl-effective,pfc-rmt-effective datalink
このコマンドは、優先順位の定義およびデータリンク上で有効になっている PFC マッピングを表示します。
dladm show-phys -D pfc datalink
このコマンドは、NIC で有効になっている優先順位に関連する、物理リンクの PFC 情報を表示します。
lldpadm show-agenttlvprop -a agent pfc
この agent は、LLDP が有効になっているデータリンクによって識別されます。したがって、LLDP エージェントの名前はデータリンクの名前と同じです。このコマンドは、ホストが PFC マッピングをピアと同期する機能を制御する PFC TLV プロパティーを表示します。
lldpadm show-agent -lv -o "PFC Pending" agent
このコマンドは、ローカルホストとピアの間で PFC マッピング情報が一致しないことをユーザーに警告します。
次の例は、前述のコマンドで表示される情報の種類を示します。
例 8-1 PFC 関連のデータリンクプロパティーの表示
この例では、優先順位ベースのフロー制御に関連するデータリンクプロパティーのステータスを表示する方法を示します。
# dladm show-linkprop -p pfcmap,pfc-lcl-effective,pfc-rmt-effective net0 LINK PROPERTY PERM VALUE DEFAULT POSSIBLE net0 pfcmap rw 11111111 11111111 00000000-11111111 net0 pfcmap-lcl-effective r- 11111111 -- -- net0 pfcmap-rmt-effective r- 01000000 -- --
出力は、ローカルホストの PFC マッピングがデフォルト値で、8 つの優先順位がすべて有効になっていることを示しています。pfcmap-lcl-effective と pfcmap-rmt-effective の値が一致していないことは、ローカルホストが PFC 情報をリモートピアと同期していないことを示しています。この不一致の原因として考えられるのは、同期を有効にするプロパティーがオフになっていることです。あるいは、ピアが PFC TLV ユニットをネットワークに送信していません。次のコマンドを入力して、この構成を確認できます。
例 8-2 ローカルホストで PFC 情報を同期する機能の表示
この例では、ホストがピアの PFC 構成に合わせて調整する機能の、現在のステータスを表示する方法を示します。
# lldpadm show-agenttlvprop -a net0 pfc AGENT TLVNAME PROPERTY PERM VALUE DEFAULT POSSIBLE net0 pfc willing rw off on on,off
同期を有効にするには、次のコマンドを発行します。
# lldpadm set-agenttlvprop -p willing=on -a net0 pfc # dladm show-linkprop -p pfcmap,pfc-lcl-effective,pfc-rmt-effective net0 LINK PROPERTY PERM VALUE DEFAULT POSSIBLE net0 pfcmap rw 11111111 11111111 00000000-11111111 net0 pfcmap-lcl-effective r- 01000000 -- -- net0 pfcmap-rmt-effective r- 01000000 -- --
2 番目の出力で、ローカルホストは自身の PFC マッピング (11111111) を破棄しています。代わりに、ローカルホストはピアと同期して、有効な PFC マッピングはピアの PFC マッピングと同じになっています。この値の収束により、ホストは PFC PAUSE フレームを正常に交換できます。
例 8-3 ホストとピアの間で PFC 情報が対称であることの確認
この例では、実際の実行時にホストとピアの間で PFC 情報が同期されているか、あるいは不一致が発生しているかを確認する方法を示します。
# lldpadm show-agent -lv -o "PFC Pending" net0 PFC Pending: True
PFC Pending は、ホストとピアの間で PFC 情報が収束しない場合に True ステータスを返します。不一致が解決されたあとは、PFC Pending のステータスは False に戻ります。
エージェントによって通知されるすべての情報を表示するには、lldpadm show-agent コマンドの verbose オプションを使用します。
# lldpadm show-agent -v agent
例 8-4 CoS 優先順位定義の表示
この例では、特定のデータリンクの現在の CoS 優先順位定義を pfcmap プロパティーの値に基づいて表示する方法を示します。たとえば、pfcmap が 01000000 に構成されているとします。対応する物理リンクの優先順位マッピングを表示するには、次のように操作します。
# dladm show-phys -D pfc net0 LINK COS PFC PFC_EFFECT CLIENTS ixgbe0 0 YES NO net0,vnic1 1 YES YES vnic2 2 YES NO vnic3 3 YES NO vnic4 4 YES NO vnic5 5 YES NO vnic6 6 YES NO vnic7 7 YES NO vnic8
物理リンク net0 では、データリンク上に構成されているすべての VNIC クライアントに対して優先順位が有効になっています。ただし、ローカルホストは自身の PFC マッピングをピアの PFC マッピングに合わせて調整するため、PFC_EFFECT フィールドの値で示されているように、CoS 0 および 2-7 では優先順位が無効になっています。したがって、vnic2 を除くすべての VNIC のトラフィックに対して、リソースが使用可能かどうかにかかわらず、PFC フレームの交換は行われません。この構成では、vnic2 以外のすべての VNIC を通過するトラフィックで、パケットの破棄が許可されます。vnic2 のトラフィックに対しては、トラフィックの輻輳が発生すると、このクライアントでのパケットロスを防止するために PFC PAUSE フレームが送信されます。
アプリケーション TLV ユニットには、ホスト上のアプリケーションに使用する優先順位の情報が含まれています。優先順位はアプリケーション優先順位表で定義されます。表の各エントリには、アプリケーションの名前およびアプリケーションに割り当てられた優先順位が含まれます。アプリケーション TLV はこの表をほかのホストとのアプリケーション優先順位情報の伝送に使用します。
表のエントリには次の形式が使用されます。
protocol-id/selector/ priority
protocol-id と selector のペアによってアプリケーションが識別されます。Priority には、対応するアプリケーションの優先順位を示す 0 から 7 までの値が含まれます。
アプリケーションの優先順位に関するこの情報をほかのホストと交換するには、アプリケーション TLV を次のように設定します。
# lldpadm set-agenttlvprop -p property=value -a agent appln
たとえば、FCoE トラフィックの場合、プロトコル ID は 0x8906、セレクタ ID は 1 です。このアプリケーションに優先順位 4 が割り当てられているとします。アプリケーション TLV の設定用パラメータを示す 表 7-3 に基づいて、次のコマンドを入力します。
# lldpadm set-agenttlvprop -p apt=8906/1/4 -a net0 appln # lldpadm show-agenttlvprop -a net0 appln AGENT TLVNAME PROPERTY PERM VALUE DEFAULT POSSIBLE net0 appln apt rw 8906/1/4 -- --