はじめに

こんにちは、うしぃです。
前回は NIC が“InfiniBand controller”として認識されてしまい、躓いたところで終わりました。
私は 100GbE、つまり Ethernet 環境を構築したいので、NIC を“Ethernet controller”として認識させる必要があります。
人を検知すると、音と光でアラームを発生させる装置となっております。
今回は NIC を“Ethernet controller”として認識させる手順を紹介したいと思います。

Mellanox NIC のモード変更

NIC を Ethernet 環境で使うための設定はいたって簡単です。手順は大きく分けて以下の 3 つのみです。

【1】Mellanox NIC 用ドライバソフト (MLNX-OFED) のインストール
【2】NIC のモード変更
【3】サーバーの再起動


では、それぞれについて詳しく見ていきましょう!


【1】MLNX-OFED のインストール
まず初めに、NIC のモード変換に必要なファームウェア (FW) を含む、Mellanox NIC 用のドライバソフト(MLNX-OFED)をインストールします。(ドライバの種類と詳細については単語帳に記載します。)
MLNX-OFED のインストール手順は以下です。


(1) OFED を対象のサーバーにアップロード
・下記 URL より OFED の tgz ファイルをダウンロード
http://www.mellanox.com/page/products_dyn?product_family=26&mtag=linux_sw_drivers
・対象のサーバーに SCP サーバー等を用いて tgz ファイルをアップロード
※私はノート PC から“WinSCP”を用いてアップロードしています。


(2) tgz ファイルの解凍
・下記コマンドを実行;
[root@localhost ~]# tar xvzf MLNX_OFED_LINUX-4.0-1.0.1.0-rhel7.2-x86_64.tgz
※今回は root ディレクトリにファイルを置きましたが、それ以外のディレクトリにファイルがある際には“cd”コマンドで目的のディレクトリに変更してください。


(3) ディレクトリを変更し、install スクリプトを実行[root@localhost ~]# cd MLNX_OFED_LINUX-4.0-1.0.1.0-rhel7.2-x86_64/
[root@localhost MLNX_OFED_LINUX-4.0-1.0.1.0-rhel7.2-x86_64]# ./mlnxofedinstall
※install スクリプトを実行すると、下記のようにインストーラーが起動し、インストールが始まります(図 1)。

図 1 MLNX-OFED のインストール

※MLNX-OFED をインストールすると、NIC のファームウェアも自動でアップデートされます。
(インストールのオプションで除外可能)

【2】NIC のモード変更
続いて、MLNX-OFED に含まれる“Mellanox Firmware Tool (MFT)”を使い、NIC を Ethernet モードに変更します (InfiniBand → Ethernet)。

(1) MFT の起動
MFT を使用するためには“Mellanox Software Tool (MST)” を起動させる必要があります。(ここでは詳しい説明は省きます)

以下コマンドを実行し、MST を起動させます。
[root@localhost ~]# mst start

図 2 MST の起動

図 2 に示されているように、“Success”と表示されていれば、MST の起動は成功です。

(2) NIC の ID を確認し、情報を確認する
ID 確認;
[root@localhost ~]# ibv_devinfo | grep vendor_part_id

図 3 NIC の ID 確認

図 3 から、NIC の ID が 4115であることが分かります。

(3) Ethernet モードへの切り替え以下のコマンドを実行するだけです!
[root@localhost ~]# mlxconfig -d /dev/mst/mt4115_pciconf0 set LINK_TYPE_P1=2LINK_TYPE_P2=2
上記コマンドの P1、P2 はポートを表しており、P1=2、P2=2 とすることでそれぞれのポートを Ethernet モードに切り替えます。
※InfiniBand モードにしたいときは「1」に設定する。

図 4 Ethernet モードへの切り替え

【3】サーバーの再起動
サーバーを再起動したらすべてが完了です!

再起動後、“Ethernet controller”として認識されているのか確認すると、、、
(コマンド:[root@localhost ~]# lspci | grep Mellanox )

図5 lspci コマンドの実行結果

図 5 からもわかる通り、きちんと“Ethernet controller”として認識されていました!!

また、100GbE の帯域でリンクアップするのか、サーバー 2 台を直接つなぎ、確認してみました!
確認には以下のコマンドを使用します。
[root@localhost ~]# ethtool ens3f0 (ens3f0 は NIC のインタフェース名です)

図 6 100GbE 帯域でのリンクアップの確認

図 6 から、100GbE でリンクアップしていることを確認することができました!

以上で、100GbE のネットワーク環境を構築するための、サーバーの準備が整いました!

これで、今回の課題は解決です!


今回の記事で紹介した NIC のモード変換の詳しい手順については、以下 Mellanox 社のユーザーマニュアルをご参照ください。
MFT_user_manual_4_6_0.pdf

おわりに

今回は、NIC をサーバーに搭載した後の設定について記事を書かせていただきました。
記事の最後に載せたユーザーマニュアルは英語版しか存在せず、さらにページ数も多いです。。。
それも相まって、今回は以下の点で苦労しました。。。

・記載箇所がどこなのかを探すこと
 →2 つのマニュアルにまたがって記載されていて、探すだけでも苦労しました、、、
・マニュアルの内容を読み解き、理解すること
 →英語でシンプルに表現されているため、もう少し詳しく説明が欲しいということも多々ありました。

英語というだけで、マニュアルを読みたくなくなってしまう方もいると思います。
(私も最初は拒否反応が出ていました 笑)
そのため、Mellanox 社の製品を使用する際に、私の記事も参考にしていただけると幸いです。

次回は、Mellanox スイッチを題材とした記事を掲載予定ですので、引き継続きブログに目を通していただけると幸いです。よろしくお願いします!

最後になりますが、私が担当している“Mellanox 社”の紹介です。


◆ Mellanox 社の概要 ◇本社:ヨークナム (イスラエル)、サニーベル (アメリカ)
◇広帯域、低レイテンシーインターコネクトのリーディングカンパニー
・EDR 100 Gbps InfiniBand、10 / 25 /40 / 50 / 56 / 100 ギガビット Ethernet
・アプリケーションのデータ処理時間を大幅に削減
・データセンタサービス基盤の ROI を劇的に向上

Mellanox 社の紹介ページ