Mellanox ネットワーク製品 トラブルシューティング集 その1
Mellanox製品に限らず、ネットワーク製品には、さまざまなトラブルがあります。 皆様も経験したことも多いでしょう。 ここではトラブルの原因を探るために、ISO Open System Interface(ISO 7階層ともいわれています)を参考にして、いくつかのトラブルを解決する過程を示したいと思います。
私自身も、トラブルに悩んだ日々が思い出しつつ、その対処法をご紹介しましょう。
Mellanox ネットワーク製品のマニュアルを見ましょう。
ConnectX®-4 VPI Single and Dual QSFP28 Adapter Card User Manual
P/N:MCX453A-FCAT, MCX454A-FCAT, MCX455A-FCAT, MCX456A-FCAT,
MCX455A-ECAT, MCX456A-ECAT Rev 2.0
には、トラブルシューティングに関して次のような記載があります。
まずは一般的なトラブルに関してその対処法が示されています。
そして、Linux系とWindows系とOS ごとに記載があります。
これらは、見かけ上簡単に記載されていますが、基本的な考え方は、いかに障害箇所を特定するか、そして、各種ツールを使うことにより、原因を見つけるということになります。
それでは、アダプターカードのインストールからリンクアップさせるまでの過程で経験した障害について、対処法も含めて紹介しましょう。
1) サーバーがアダプタを認識しない。(物理層)
- アダプタが正しくPCI-Eバスに装着されているか確認する
きわめて稀ですが、正しく装着されているように見えますが、実は、PCI-Eスロットに異物(不導体)が混入され、斜めに挿入されているのが分からずに接触不良またはショート状態になって、アダプタやマザーボードを壊すということがありました。
また、 - 他のPCI-Eバスに挿入する
- 最新のドライバを使用する
- 最新のBIOSを使用する。
特に古いバージョンのマザーボードでは、最新のデバイスを認識しなかったりする可能性があります。
2) アダプタカードは認識したが、ケーブルを接続しても、リンクアップしない (物理層、データリンク層)
- 多くがケーブル、インターフェースモジュールなどの障害を思い浮かべると思われます。ただ、見逃せないのが接触不良です。 きちんと接続したつもりでも、実は繋がっていなかったというーケースが散見されます。 ケーブル/モジュールの接続し直しも大事なトラブルシューティングの方法です。
- リンクアップしないという障害の場合は単純に動作した実績のあるものと交換することでに故障個所の切り分けすることができます。 このような場合に備えて、動作確認されたケーブルやモジュールを用意しておくと、素早く対応が可能となりますね。
- ケーブルやモジュールを事前に動作確認を行ったものと交換しても、リンクアップしないということがあります。 スイッチや、ネットワーク機器のポートに不具合があることが考えられます。 この場合も、動作が確認されているスイッチやネットワークカードがあれば、交換作業で障害の切り分けが素早くできます。 ネットワークカード等は、保守用として持っておくことができますが、スイッチは高価なものもありますので検証作業用に用意することはなかなか難しいところもありますので悩むところですね。 また、2台のマシンの間ですので、どちらか、または両サイドの障害かは1発で切り分けができない場合もあるので、障害を特定するためには、いろいろな組み合わせで行うことが必要になります。
- 設定されている、通信速度やDuplexは、双方とも合っているでしょうか。
アダプタカードにはAutoモードで、速度設定や、Duplexno設定ができますが、スイッチ製品はAutoモードはなく、速度やDuplexは決めうちで設定します。 従って、設定速度が合わずLink Upしないとの指摘が多数ございます。 - ファームウェアがサポートしていない、モジュールやケーブルを使用していないかを確認する。ファームウェアは、実体はソフトウェアですが、実質はハードウェアとして扱われています。 Mellanoxは、接続されたモジュールやケーブルが使用可能かどうかということをファームウェアで判断しますので、新しいケーブルや、モジュールを使用する場合、ファームウェアのアップデートが必要な場合があります。
Mellanoxアダプタ用ドライバは、インストール時にアダプタカードのファームウェアのバージョンを確認し、期待するバージョンより古いと判断すると、自動的にファームウェアもアップデートします。 (もちろんアップデートしないオプションもあります) ただ、一度インストールしてから、ドライバのアップグレードが行われない場合、 ファームウェアは古いままですので、ファームウェアが認識できないケーブルが使われたような場合は、Link Upはしません。 Ethernet スイッチ製品では、すべてMLNX-OSというスイッチOSが稼働しているので、MLNX-OSのアップグレードとともに、ファームウェアのアップグレードが施されます。 もちろん、ファームウェアのアップグレードをしないオプションがありますが、使わないということは聞いたことがありません。
InfiniBandですと事情がちょっと変わります。 InfiniBandにはCPU/MLNX-OSが搭載され、管理ポートを通してスイッチ管理を行うManagedスイッチと、CPU/OSが搭載されず、ファームウェアのみで動作する、Externally-Managedスイッチがあります。 ManagedスイッチはOSのアップグレードでファームウェアが自動的にアップグレードされますが、External Managedスイッチは、意識的にファームウェアをアップデートしないと、ずっと古いままで使うこととなり、いずれは、認識しないケーブルやモジュールが出てきますので、アップグレードは小まめにやることを進めます。 また、MLNX-OSは、長期間アップグレードしないと、最新のバージョンのOSにアップグレードする前に、数段階を経てアップグレードしなくてはならなくなります。 1回あたり20-30分かかりますので、バージョンアップを小まめにやることを強くお勧めします。 - Mellanox製品ではありませんが、1Gb Ethernetでリンクアップしないという障害がありました。 接続相手先のポートを変えてみたりしたのですが、一向にリンクアップしません。 ただし、デバイスは正常に動作しているように見えます。 そのドライバには診断機能もあり、Loop Backもいろいろな段階でできるようです。 コントローラインターフェースの中でのLoop Back、Phyを含んだLoop Back、一旦ネットワークまでアクセスしてルーターとのLoop Backなど、いろいろなレベルでLoop Backができるようになっていました。 これにより故障個所を特定できるツールとなります。
さて、次回は、リンクアップしてからの、不可解な動作についてどの様にトラブルシューティングを行ったかを紹介しましょう。