家庭向け(仮) 40GbE NIC 導入方法

家庭向け(仮) 40GbE NIC の入手

比較的安価な家庭向けの 10 GbE NIC が 出荷され普及期を迎えつつある 10 GbE 環境市場ですが、100Base-TX や 1 GbE の普及を経験してきた世代にとっては何度も通ってきた流れと言えます。
今や、新品であっても 2万円程度の予算があれば、40 GbE NIC が手に入り、10万程度の予算があれば、100GbE環境が手に入るというのですから、自宅環境のアップグレードパスも明るいですね。

そして、今回、私の自宅にも 40 GbE 普及期がやってきました。
しかし、私が入手したのは、新品の 40 GbE NICではなく、中古になります。
ConnectX-3 InfiniBand HCA 40GbE Single Port FDR CA05954-2101
なお、某オークションでは、2枚で 5,000円 程度で調達可能です。

InfiniBand?

Infiniband というのは、HPC向けインフラで使われてきた製品です。
今回の 40 GbE には関係がほぼありません。

富士通のサーバー向けのオプション製品である 「CA05954-2101」は、Infiniband の FDR(56Gbps)用のカードなのですが、FWをアップデートすることで、Infiniband FDR / Ethernet 40GbE の切り替えができ、40 GbE NICとして利用できる拡張カードです。
元々は、Mellanox ConnectX-3 VPI という製品のOEMです。

外部URL: Mellanox ConnectX-3 VPI

FWの入手

外部URL:IB HCAカード(56Gb)(PY-HC301/302) ファームウェア アップデートツール V2.42.5000

OEM なので、Mellanox の FWは はじかれてしまうため、 富士通のHPからFWをダウンロードしましょう。

Mellanox Firmware Tools (MFT)の入手

Windows 上でFWを更新するためのコマンドラインツールである Mellanox Firmware Tools (MFT) をダウンロードし、インストールします。
外部URL:Mellanox Firmware Tools (MFT)

FWの更新準備

手に入れた 家庭向け 40 GbE NIC を PCに接続し、Windows クライアント上でFWの更新を行う準備を行います。

管理者権限で、CMDを起動し、MFTのインストールパスへ移動します。

  cd C:\Program Files\Mellanox\WinMFT

mst コマンドを使い、認識している Mellanox HWを確認します。

C:Program FilesMellanoxWinMFT>mst status -v
MST devices:
mt26448_pci_cr0        bus:dev.fn=02:00.0
mt26448_pciconf0       bus:dev.fn=02:00.0
mt4099_pci_cr0         bus:dev.fn=06:00.0
mt4099_pciconf0        bus:dev.fn=06:00.0 

アップデート対象の 40GbE NIC のステータスを確認します。

C:Program FilesMellanoxWinMFT>flint -d mt4099_pci_cr0 query
 Image type:            FS2
 FW Version:            2.11.1250 
 FW Version(Running):   2.11.1250
 FW Release Date:       5.9.2017
 Product Version:       02.42.50.00
 Device ID:             4099
 Description:           Node             Port1            Port2            Sys image
 GUIDs:                 0002c903001cfab0 0002c903001cfab1 0002c903001cfab2 0002c903001cfab3
 MACs:                                       0002c91cfab0     0002c91cfab1
 VSD:
 PSID:                  FJT1060100019

FWの更新

ダウンロードしてきた、富士通用のFW 242500F1.bin を同階層に配置し、FWの更新を実行します。

 C:Program FilesMellanoxWinMFT>flint -d mt4099_pci_cr0 -i 242500F1.bin burn 

FWの更新後、再起動をします。

Infiniband から Ethernet への変更

FWの更新と再起動を行うことで、ポートの設定を40GbEに変更できるようになります。

 C:Program FilesMellanoxWinMFT>mlxconfig -d mt4099_pci_cr0 s LINK_TYPE_P1=ETH
Device #1:
-------
 Device type:    ConnectX3
  Device:         mt4099_pci_cr0 
 Configurations:                              Next Boot       New
          LINK_TYPE_P1                        VPI(3)          ETH(2) 
 Apply new Configuration? (y/n) [n] : y
 Applying… Done!
 -I- Please reboot machine to load new configurations.  
C:Program FilesMellanoxWinMFT>mlxconfig -d mt4099_pci_cr0 s LINK_TYPE_P2=ETH
 Device #1:
-------
 Device type:    ConnectX3
 Device:         mt4099_pci_cr0 
 Configurations:                              Next Boot       New
          LINK_TYPE_P2                        VPI(3)          ETH(2) 
 Apply new Configuration? (y/n) [n] : y
 Applying… Done!
 -I- Please reboot machine to load new configurations.  

また、SR-IOV も有効化しておきます。
※ 環境に合わせて有効化を検討ください。

C:Program FilesMellanoxWinMFT>mlxconfig -d mt4099_pci_cr0 s SRIOV_EN=1 
Device #1:
------------
  Device type:    ConnectX3
  Device:         mt4099_pci_cr0 
 Configurations:                              Next Boot       New
          SRIOV_EN                            False(0)        True(1) 
 Apply new Configuration? (y/n) [n] : y
 Applying… Done!
 -I- Please reboot machine to load new configurations. 

設定した内容を確認します。

C:Program FilesMellanoxWinMFT>mlxconfig -d mt4099_pci_cr0 query 

Device #1:
------------
  Device type:    ConnectX3
  Device:         mt4099_pci_cr0 
  Configurations:                              Next Boot
          SRIOV_EN                            True(1)
          NUM_OF_VFS                          8
          LINK_TYPE_P1                        ETH(2)
          LINK_TYPE_P2                        ETH(2)
          LOG_BAR_SIZE                        3
          BOOT_PKEY_P1                        0
          BOOT_PKEY_P2                        0
          BOOT_OPTION_ROM_EN_P1               True(1)
          BOOT_VLAN_EN_P1                     False(0)
          BOOT_RETRY_CNT_P1                   0
          LEGACY_BOOT_PROTOCOL_P1             PXE(1)
          BOOT_VLAN_P1                        1
          BOOT_OPTION_ROM_EN_P2               True(1)
          BOOT_VLAN_EN_P2                     False(0)
          BOOT_RETRY_CNT_P2                   0
          LEGACY_BOOT_PROTOCOL_P2             PXE(1)
          BOOT_VLAN_P2                        1
          IP_VER_P1                           IPv4(0)
          IP_VER_P2                           IPv4(0)
          CQ_TIMESTAMP                        True(1)

再起動後、正しく認識していることを確認します。
※ 今回は作業を 空いていた PCIe x1 スロットで行っているため、Bus Type が x1 となっています。

Follow me!

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です