物理 NIC においてバッファ枯渇による大量のパケット損失が観測された
search cancel

物理 NIC においてバッファ枯渇による大量のパケット損失が観測された

book

Article ID: 421014

calendar_today

Updated On:

Products

VMware vSphere ESXi

Issue/Introduction

免責事項:これは英文の記事 High amount of packet loss observed on physical NIC(s) caused by buffer exhaustion の日本語訳です。
記事はベストエフォートで翻訳を進めているため、ローカライズ化コンテンツは最新情報ではない可能性があります。最新情報は英語版の記事で参照してください。

 

エラーを示している NIC がある場合は、ハードウェアベンダーに問い合わせて物理 NIC エラーのトラブルシューティングを行ってください。これらのエラーは、単に ESXi ホストに対して報告されているに過ぎないためです。本ドキュメントの目的は、ドロップ事象そのものに関する追加情報を提供し、ベンダーによる調査の一助とすることにありますが、これらのドロップやエラーは、あくまで VMware の管理外であるハードウェアやソフトウェア上(ESXi の外側)で発生しているものです。

この記事では、物理 NIC(vmnic)で発生するパケットドロップについて説明します。具体的には、物理 NIC のバッファ不足が原因で発生するドロップです。この問題は、ホスト上の1つの NIC のみに発生する場合もあれば、複数の NIC に発生する場合もあります。同様に、単一のホストに限定される場合もあれば、複数のホストで発生する場合もあります。

少なくとも1台の仮想マシンが、それがパケットドロップが発生している NIC を使用していれば、この動作の影響を受ける可能性があります。

特定の環境では、vCenter UIに「物理 NIC エラー率が高くなっています。(High pNic error rate)」というアラームが表示される場合があります。vSAN -- Alarm about high pNIC error rate being detected を参照ください。

また、1台または複数のホストにおいて、パケットロスに関連するログが確認される可能性があります。Error stats for pnic reported in the hostd logs を参照ください。

以下のコマンド(「vmnicX」は対象の NIC 識別子、例:「vmnic3」に置き換えてください)を実行すると、「Receive packets dropped」カウンタが 0 より大きい値を示します。

esxcli network nic stats get -n vmnicX

さらに、ホスト上のすべての NIC のプライベート NIC 統計を表示する以下のコマンドを実行すると、バッファに関連するカウンタの値が 0 より大きく、しばしば前述の Receive packets dropped と同じ値であることが確認できる場合があります。 

/usr/lib/vmware/vm-support/bin/nicinfo.sh | less

上記のコマンドはベンダー固有のドライバー統計情報を取得するため、異なる NIC ドライバが使用されているホスト間や NIC 間で出力が同一にならないこと、またドライバーバージョン間でも差異が生じることが一般的であることをご承知おきください。

さらに、ベンダーによっては、上記の統計情報においてバッファエラーを全く分類していなかったり、異なる名称を使用していたりする場合があります。例えば、多くの Cisco 製 NIC ではカウンターに「rx_no_bufs」というラベルを使用しますが、Mellanox 製 NIC では同じエラーを「outOfBuffer」というラベルのカウンターで記録します。

注: 特定の Mellanox カードでは、バッファ枯渇が発生しているにもかかわらず、上記の「stats get」コマンドの標準出力に記録されない既知の問題があります。詳細については、 Receive Missed Errors detected on Mellanox pNICs after updating the driver or ESXi を参照してください。

Environment

VMware ESXi (all version)

Cause

物理 NIC には、処理待ちのパケットを一時的に「格納」しておくためのキューがあり、このキューはバッファ、あるいはリングと呼ばれます。 特定の環境や条件下では、パケットを(次の処理へ)渡す前にこのバッファが満杯になり、その結果パケットがドロップされることがあります。

Resolution

バッファやリングは VMware によって管理されているものではなく、実際には NIC およびそのドライバの構成要素である点にご留意ください。

そのため、リングサイズの拡張やその他の緩和策を実施すると、他の箇所で予期しない問題を引き起こす可能性があることから、NIC のチューニングに関するガイダンスやその他の対処方法については、サーバーベンダーへお問い合わせいただくことを推奨します。

詳細については、Troubleshooting NIC errors and other network traffic faults in ESXi をご参照ください。

この事象は一般的にトラフィック量が多すぎることを示唆しているため、サーバーベンダーへ問い合わせるのと並行して、ネットワーク上で予期しないトラフィックの増加が発生していないか調査することも有効です。この事象は、現在の構成においてハードウェアの処理能力を超えるトラフィックが発生した結果であることが多いですが、ブロードキャストストームや、その他断続的あるいは予期しないトラフィックの急増によって発生する場合もあります。

Additional Information

High amount of packet loss observed on physical NIC(s) caused by buffer exhaustion