例:ほとんどロスレスなトラフィックを持つネットワークの共有バッファー・プールの推奨構成
スイッチは、ポートとキューのメモリ割り当てを最小限に抑えるためにバッファー領域をいくつか予約しますが、システムが残りのバッファー領域を使用して、ネットワーク トラフィックの特定の組み合わせに対するバッファー割り当てを最適化する方法を設定できます。
この例では、ほとんどロスレストラフィックを伝送するネットワークをサポートするために、グローバル共有バッファープールの推奨設定を示しています。グローバル共有バッファー・プールは、スイッチ上のすべてのポートがバッファーが必要な場合に動的に共有するメモリー・スペースです。グローバルな共有メモリ領域をバッファーの異なるタイプに割り当てることで、ネットワーク トラフィックのさまざまな組み合わせをサポートできます。
バッファー構成の変更は、混乱を招くイベントです。バッファーの再プログラミングが完了するまで、 トラフィックはすべての ポートで停止します。
デフォルトの共有バッファー設定(ロスレストラフィック、ベストエフォートトラフィック、マルチキャストトラフィックがバランスのとれたネットワークの場合)または、ネットワークトラフィック(ほとんどはベストエフォートユニキャストトラフィック、イーサネット一時停止が有効なリンク上のベストエフォートトラフィック、主にマルチキャストトラフィック、またはほとんどはロスレストラフィック)に、推奨される共有バッファー構成のいずれかを使用します。デフォルト設定または推奨される設定のいずれかによって、ほとんどのネットワークのニーズを満たすバッファ割り当てが提供されます。
ロスレスバッファについては、PFC(Priority-Based Flow Control)を有効にしてロスレストランスポートを保証するトラフィックを処理するバッファを意味します。ロスレス バッファは、イーサネットの一時停止(IEEE 802.3x)を有効にしたリンク上のベストエフォート型トラフィックには使用されません。
推奨される設定から開始した後、共有バッファの設定を微調整できますが、バッファの設定ミスによるトラフィックロスを防ぐには注意して行ってください。
要件
この例では、以下のハードウェアとソフトウェアのコンポーネントを使用しています。
ジュニパーネットワークス QFX3500 スイッチ
QFX シリーズの Junos OS リリース 12.3 以降
概要
グローバル共有バッファーに割り当てられた使用可能な(ユーザー構成可能な)バッファー領域の割合を設定できます。グローバル共用バッファー・プールに割り振らないスペースは、専用バッファー・プールに追加されます。デフォルト設定では、使用可能なバッファー領域の 100% がグローバル共有バッファーに割り当てられます。
イングレスとエグレスの共有バッファー プールをパーティション化して、ネットワークが主に伝送するトラフィックのタイプにバッファーを割り当て、他のトラフィックに対するバッファーを減らすことができます。イングレス共有バッファー プールに割り当てられたバッファー領域から、領域を以下に割り当てることができます。
ロスレス バッファー - すべてのロスレス イングレス トラフィックの共有バッファー プールの割合。ロスレス バッファーの最小値は 5% です。
-
ロスレス ヘッドルーム バッファー - 一時停止が主張されている間に受信したパケットの共有バッファー プールの割合。イーサネット PAUSE がポートで設定されている場合、または PFC(Priority-Based Flow Control)がポートの優先度に設定されている場合、ポートが接続されたピアに一時停止メッセージを送信する際、ポートが一時停止メッセージを送信してからピアがトラフィックを一時停止した後に最後のパケットが到着するまでの間に到着するパケットを、ポートがヘッドルーム バッファを使用して保存します。ロスレス ヘッドルーム バッファの最小値は 0(ゼロ)パーセントです。(損失のないヘッドルーム バッファーは、最小値を 5% 未満にできる唯一のバッファーです)。
メモ:QFXバーチャルシャーシとEX4600/EX4650バーチャルシャーシでは、ロスレスヘッドルームバッファの最小値は3%です。
損失性バッファー - すべてのベストエフォート型イングレス トラフィック(ベストエフォートユニキャスト、マルチエスティネーション、ストリクト高優先度トラフィック)の共有バッファー プールの割合。損失バッファの最小値は5%です。
イングレスロスレス、ロスレスヘッドルーム、およびロスリーバッファパーティションの合計パーセンテージ値は、正確に100%でなければなりません。バッファーのパーセンテージの合計が 100% 以上または 100% 未満の場合、スイッチはコミット エラーを返します。ロスレス ヘッドルーム バッファー パーティションの値が 0(ゼロ)の場合でも、すべてのイングレス バッファー パーティションを明示的に設定する必要があります。
スイッチに十分なリソースがないバッファー設定をコミットすると、コミット エラーを返すのではなく、エラーがログに記録されることがあります。この場合、コンソールにsyslogメッセージが表示されます。例えば:
user@host# commit configuration check succeeds Message from syslogd@host at Jun 13 11:11:10 ... host dc-pfe: Not enough Ingress Lossless headroom.(Already allocated more). Dedicated : 14340 Lossy : 47100 Lossless 4239 Headroom 21195 Avail : 20781 commit complete
エグレス共有バッファー プールに割り当てられたバッファー領域から、領域を次のように割り当てることができます。
ロスレス バッファー - すべてのロスレス エグレス キューの共有バッファー プールの割合。ロスレス バッファーの最小値は 5% です。
損失のあるバッファー - すべてのベストエフォート型エグレス キュー(ベストエフォートユニキャスト、およびストリクト高優先度キュー)の共有バッファー プールの割合。損失バッファの最小値は5%です。
マルチキャスト バッファー - すべてのマルチデスティネーション(マルチキャスト、ブロードキャスト、宛先ルックアップの失敗)エグレス キューの共有バッファー プールの割合。マルチキャスト バッファの最小値は 5% です。
エグレスロスレス、ロスレス、マルチキャストバッファパーティションの合計パーセンテージ値は、正確に100%でなければなりません。バッファーのパーセンテージの合計が 100% 以上または 100% 未満の場合、スイッチはコミット エラーを返します。すべてのエグレス バッファー パーティションは明示的に設定する必要があり、5% 以上の値を持つ必要があります。
大部分がロスレス トラフィックを伝送するネットワークをサポートするように共有バッファーを設定するには、ロスレス バッファーに割り当てるバッファー スペースを増やす必要があり、ロスレス バッファーに割り当てるバッファスペースを減らす必要があります。この例では、ほとんどロスレストラフィックを伝送するネットワークをサポートするために推奨するグローバル共有バッファープール割り当てを設定する方法を示します。
トポロジ
表 1 は、この例の設定コンポーネントを示しています。
コンポーネント |
設定 |
---|---|
ハードウェア |
QFX3500スイッチ |
イングレス共有バッファー |
イングレス共有バッファーに割り当てられた利用可能なイングレス バッファー領域の割合:100% ロスレス トラフィック(ロスレス バッファー パーティション)に割り当てられたイングレス バッファー 領域の割合:15% ロスレス ヘッドルーム トラフィック(ロスレス ヘッドルーム バッファ パーティション)に割り当てられたイングレス バッファ スペースの割合:80% ベストエフォート型トラフィック(損失バッファ パーティション)に割り当てられたイングレス バッファー 領域の割合:5% |
エグレス共有バッファー |
エグレス共有バッファーに割り当てられた利用可能なエグレス バッファー領域の割合:100% ロスレス キュー(ロスレス バッファ パーティション)に割り当てられたエグレス バッファ スペースの割合:90% ベストエフォート型キュー(損失バッファ パーティション)に割り当てられたエグレス バッファ スペースの割合:5% マルチキャスト トラフィックに割り当てられたエグレス バッファ スペースの割合(マルチキャスト バッファ パーティション):5% |
構成
CLI クイックコンフィギュレーション
ほとんど損失のないトラフィックを伝送するネットワークで推奨される共有バッファー設定を迅速に構成するには、以下のコマンドをコピーしてテキスト ファイルに貼り付け、改行を削除し、ネットワーク構成に合わせて変数と詳細を変更し、コマンドを 階層レベルの [edit]
CLI にコピー アンド ペーストします。
[edit class-of-service shared-buffer] set ingress percent 100 set ingress buffer-partition lossless percent 15 set ingress buffer-partition lossless-headroom percent 80 set ingress buffer-partition lossy percent 5 set egress percent 100 set egress buffer-partition lossless percent 90 set egress buffer-partition lossy percent 5 set egress buffer-partition multicast percent 5
ほとんど損失のないトラフィックを持つネットワークのグローバル共有バッファープールの設定
手順
主にロスレストラフィックを伝送するネットワークに対して、グローバルなイングレスおよびエグレスの共有バッファー割り当てとパーティションを設定するには:
イングレスグローバル共有バッファープールに使用される利用可能な(非予約済み)バッファーの割合を設定します。
[edit class-of-service shared-buffer] user@switch# set ingress percent 100
ロスレス、ロスレスヘッドルーム、およびロスリートラフィックのグローバルイングレスバッファパーティションを設定します。
[edit class-of-service shared-buffer] user@switch# set ingress buffer-partition lossless percent 15 user@switch# set ingress buffer-partition lossless-headroom percent 80 user@switch# set ingress buffer-partition lossy percent 5
エグレスグローバル共有バッファープールに使用される利用可能な(非予約済み)バッファの割合を設定します。
[edit class-of-service shared-buffer] user@switch# set egress percent 100
ロスレスキュー、ロスレスキュー、マルチキャストキューのグローバルエグレスバッファパーティションを設定します。
[edit class-of-service shared-buffer] user@switch# set egress buffer-partition lossless percent 90 user@switch# set egress buffer-partition lossy percent 5 user@switch# set egress buffer-partition multicast percent 5
結果
設定の結果を表示します。
rroot@dcbg-tp-pa-02> show configuration class-of-service shared-buffer ingress { percent 100; buffer-partition lossless { percent 15; } buffer-partition lossy { percent 5; } buffer-partition lossless-headroom { percent 80; } } egress { percent 100; buffer-partition lossless { percent 90; } buffer-partition lossy { percent 5; } buffer-partition multicast { percent 5; } }
検証
共有バッファー構成が正しく作成されていることを確認します。
共有バッファー構成の検証
目的
イングレスとエグレスのグローバル共有バッファー プールが、共有バッファー タイプ間で正しく設定され、パーティション化されていることを確認します。
アクション
オペレーション・モード・コマンド show class-of-service shared-buffer
を使用して、グローバル共有バッファー構成をリストします。
user@switch> show class-of-service shared-buffer root@dcbg-tp-pa-02> show class-of-service shared-buffer Ingress: Total Buffer : 9360.00 KB Dedicated Buffer : 2158.00 KB Shared Buffer : 7202.00 KB Lossless : 1080.30 KB Lossless Headroom : 5761.60 KB Lossy : 360.10 KB Lossless Headroom Utilization: Node Device Total Used Free 0 5761.60 KB 0.00 KB 5761.60 KB Egress: Total Buffer : 9360.00 KB Dedicated Buffer : 2704.00 KB Shared Buffer : 6656.00 KB Lossless : 5990.40 KB Multicast : 332.80 KB Lossy : 332.80 KB
意味
操作コマンドは show class-of-service shared-buffer
、バッファーパーティショニングを含む、イングレスとエグレスのグローバル共有バッファ設定をすべて表示します。
イングレス共有バッファーの場合、コマンド出力は以下を示しています。
スイッチ バッファ プールの合計は 9360 KB(9 MB)です。
専用バッファー・プールは 2158 KB です。これは、イングレス共有バッファープールを利用可能な(ユーザー設定可能な)バッファー領域の100%として設定した場合の、グローバルなイングレス専用バッファープールのサイズです。これは、予約されたイングレス専用イングレス バッファ プールの最小サイズです(ユーザー設定ではありません)。使用可能なバッファー・プールの 100% 未満として共有バッファーを構成すると、残りのバッファー・スペースが専用バッファー・プールに追加されます。
イングレス共有バッファー・プールが使用可能なバッファーの 100% として構成されている場合、イングレス共用バッファー・プールの合計サイズは 7202 KB です。
イングレス共有バッファープールは、割り当てるためにパーティション分割されます。
1080 KB~ロスレス トラフィック
5761.60 KB からロスレス ヘッドルーム トラフィック
360.10 KB から損失の多いユニキャスト トラフィック
[ロスレス ヘッドルーム使用率] フィールドは、一時停止されたトラフィック用に予約されたバッファー領域の量を示しています。使用可能な損失のないヘッドルーム・バッファー領域の合計 5761.60 KB のうち、現在バッファー・スペースは使用されていないので、5761.60 KB のバッファー・スペースはすべて解放されます。
エグレス共有バッファーの場合、コマンド出力は以下を示しています。
スイッチ バッファ プールの合計は 9360 KB(9 MB)です。
専用バッファー・プールは 2704 KB です。これは、エグレス共有バッファープールを利用可能な(ユーザーが設定可能な)バッファスペースの100%として設定した場合の、グローバルなエグレス専用バッファープールのサイズです。これは、予約されたエグレス専用バッファー プールの最小サイズです(ユーザーは設定できません)。使用可能なバッファー・プールの 100% 未満として共有バッファーを構成すると、残りのバッファー・スペースが専用バッファー・プールに追加されます。
エグレス共有バッファー プールが利用可能なバッファーの 100% として設定されている場合、エグレス共有バッファー プールの合計サイズは 6656 KB です。これは、スイッチがイングレス専用バッファスペースよりも多くのエグレス専用バッファスペースを予約するため、イングレス共有バッファプールよりも小さくなります。(専用バッファー・スペースが多いほど共有バッファー・スペースが少なくなり、共有バッファー・スペースが増えるということは、専用バッファー・スペースが少なくて済むということです。
エグレス共有バッファープールは、割り当てるためにパーティション分割されます。
5990.40 KB からロスレス トラフィックへ
マルチキャスト トラフィックに対する 332.80 KB
332.80 KB から損失の多いユニキャスト トラフィック
出力値は、QFX3500およびQFX3600スイッチで有効です。QFX5100およびEX4600スイッチは、バッファが大きいため(9MBではなく12MB)、QFX5100スイッチとEX4600スイッチでは、各バッファーサイズとサイズが大きくなります。