やっと記事にまとめました!
フォローしてくださった方々有難うございました!
今回使うInfinibandアダプタは、
ConnectX-2 MHQH19B-XTR(MT26428)
40Gb/s InfiniBandと10GbEがあります。
で今回はIp over IBに挑戦です。
ESXiホストは
VMware ESXi 6.0.0 Update 1
# esxcli software profile get (Updated) HP-ESXi-6.0.0-iso-600.9.2.38 Name: (Updated) HP-ESXi-6.0.0-iso-600.9.2.38 Vendor: esxi2 Creation Time: 2015-09-11T14:40:58 Modification Time: 2015-09-11T14:42:34 Stateless Ready: True Description: (Original Vendor):Hewlett-Packard 2015-09-11T14:40:58.489761+00:00: The following VIBs are installed: esx-base 6.0.0-1.17.3029758 nvme 1.0e.0.35-1vmw.600.1.17.3029758 xhci-xhci 1.0-2vmw.600.1.17.3029758 lsi-mr3 6.605.08.00-7vmw.600.1.17.3029758 lsi-msgpt3 06.255.12.00-8vmw.600.1.17.3029758 lsu-lsi-mpt2sas-plugin 1.0.0-4vmw.600.1.17.3029758 misc-drivers 6.0.0-1.17.3029758 tools-light 6.0.0-1.17.3029758 sata-ahci 3.0-22vmw.600.1.17.3029758 vsanhealth 6.0.0-3000000.2.0.1.17.2972216 ---------- (Original Vendor):Hewlett-Packard 2015-08-08T17:24:39.202030+00:00: The following VIBs are installed: lsu-lsi-lsi-mr3-plugin 1.0.0-2vmw.600.0.11.2809209 lsu-lsi-megaraid-sas-plugin 1.0.0-2vmw.600.0.11.2809209 tools-light 6.0.0-0.11.2809209 sata-ahci 3.0-21vmw.600.0.11.2809209 misc-drivers 6.0.0-0.11.2809209 esx-base 6.0.0-0.11.2809209 ---------- (Original Vendor):Hewlett-Packard 2015-08-08T17:13:37.063989+00:00: The following VIBs are installed: esx-base 6.0.0-0.6.2715440 ---------- (Original Vendor):Hewlett-Packard 2015-08-08T17:04:11.603022+00:00: The following VIBs are installed: esx-base 6.0.0-0.5.2615704 scsi-mpt2sas 19.00.00.00-1vmw.600.0.0.2494585 qlnativefc 2.0.12.0-5vmw.600.0.0.2494585 scsi-hpsa 6.0.0.44-4vmw.600.0.0.2494585 ---------- HP Custom Image Profile for ESXi 6.0.0 ISO # # vmware -v -l VMware ESXi 6.0.0 build-3029758 VMware ESXi 6.0.0 Update 1
こんな環境
たぶん、5.x系、6.0系でも大丈夫なはずです。
とりあえずどんなドライバがあるのかVMWareで探してみる。
VMware ESXi 6.0 MLNX Native EN 3.1.0.0 NIC Driver for Mellanox ConnectX3 Ethernet Adapters
MEL-mlnx-3.1.0.0-2775996
・MEL_bootbank_nmlx4-core_3.1.0.0-1OEM.600.0.0.2348722.vib
・MEL_bootbank_nmlx4-en_3.1.0.0-1OEM.600.0.0.2348722
もう一個
VMware ESXi 5.5Ux Driver CD for Mellanox ConnectX3/ConnectX2 Ethernet Adapters
MEL-mlnx-en-1.9.9.0-1OEM.550.0.0.1331820-1551135
・Mellanox_bootbank_net-mlx4-core_1.9.9.0-1OEM.550.0.0.1331820
・Mellanox_bootbank_net-mlx4-en_1.9.9.0-1OEM.550.0.0.1331820
VMware ハードウェア互換性ガイド (HCL)
「VMware Compatibility Guide」を見てみる
どうやらどれも「NICドライバしか無い」ようです。
まぁ、どんなもんかなにもせずに刺して起動してみる。
刺しただけで認識はしてる。
(ただHPのカスタム版を使用しているので通常だとどうなるのかはわからない)
とりあえずデバイス
# dmesg |grep mellanox 2015-09-11T14:58:51.252Z cpu14:33190)Device: 1315: Registered device: 0x430205b31060 pci#s00000001.00#0 com.mellanox.enDevice (parent=0x350e430205b32ded) 2015-09-11T14:58:51.252Z cpu14:33190)Device: 1315: Registered device: 0x430205b31060 pci#s00000001.00#1 com.mellanox.rdmaDevice (parent=0x350e430205b32ded) 2015-09-11T14:58:51.252Z cpu14:33190)Device: 1315: Registered device: 0x430205b31060 pci#s00000001.00#2 com.mellanox.mstDevice (parent=0x350e430205b32ded) # # lspci -v | grep Mellanox 0000:06:00.0 InfiniBand Serial bus controller: Mellanox Technologies MT26428 [ConnectX VPI - 10GigE / IB QDR, PCIe 2.0 5GT/s] [vmnic4]
うーん、嫌な予感
予感的中。
通常のVIBにはEtherドライバしか入ってない。
# esxcli software vib list |grep mlx net-mlx4-core 1.9.7.0-1vmw.600.0.0.2494585 VMware VMwareCertified 2015-08-08 net-mlx4-en 1.9.7.0-1vmw.600.0.0.2494585 VMware VMwareCertified 2015-08-08 nmlx4-core 3.0.0.0-1vmw.600.0.0.2494585 VMware VMwareCertified 2015-08-08 nmlx4-en 3.0.0.0-1vmw.600.0.0.2494585 VMware VMwareCertified 2015-08-08 nmlx4-rdma 3.0.0.0-1vmw.600.0.0.2494585 VMware VMwareCertified 2015-08-08
だめですね。。。
これEtherモードっぽい。
さて気を取り直してMellanoxで探してみる
http://www.mellanox.com/page/vmware_matrix_hcl?mtag=vmware_driver
これを見ると分かるのですが、
・NIC Driver
・OFED Drivers
と2つあります。
「IPoIBするにはOFED Driverが必要」です。
というわけでOFEDをダウンロードしましょ。
http://jp.mellanox.com/page/products_dyn?product_family=36&mtag=vmware_drivers
(MLNX-OFED-ESX-1.8.2.4-10EM-500.0.0.472560.zip)
これをSCPやvSpherecientでESXiのストレージに転送しておきます。
SSHしてからの
# esxcli software vib install -d /path/MLNX-OFED-ESX-1.8.2.4-10EM-500.0.0.472560.zip [DependencyError] VIB VMware_bootbank_net-mlx4-en_1.9.7.0-1vmw.600.0.0.2494585 requires com.mellanox.mlx4_core-9.2.3.0, but the requirement cannot be satisfied within the ImageProfile. Please refer to the log file for more details.
はい、怒られました。
どうやらESXiに新しいバージョンものが入っているため、蹴られるみたいです。
もう一回確認してみる
# esxcli software vib list |grep mlx net-mlx4-core 1.9.7.0-1vmw.600.0.0.2494585 VMware VMwareCertified 2015-08-08 net-mlx4-en 1.9.7.0-1vmw.600.0.0.2494585 VMware VMwareCertified 2015-08-08 nmlx4-core 3.0.0.0-1vmw.600.0.0.2494585 VMware VMwareCertified 2015-08-08 nmlx4-en 3.0.0.0-1vmw.600.0.0.2494585 VMware VMwareCertified 2015-08-08 nmlx4-rdma 3.0.0.0-1vmw.600.0.0.2494585 VMware VMwareCertified 2015-08-08
ということなので、標準のほうが新しいのですが、
これでは使えないので今入っているものを削除します。
結果ですが、6.0系は
「net-mlx4-core」
「net-mlx4-en」
「nmlx4-core」
「nmlx4-en」
「nmlx4-rdma」
すべて消しておかないとダメでした
# esxcli software vib remove -n=net-mlx4-en -n=net-mlx4-core Removal Result Message: The update completed successfully, but the system needs to be rebooted for the changes to be effective. Reboot Required: true VIBs Installed: VIBs Removed: VMware_bootbank_net-mlx4-core_1.9.7.0-1vmw.600.0.0.2494585, VMware_bootbank_net-mlx4-en_1.9.7.0-1vmw.600.0.0.2494585 VIBs Skipped:
で再起動
気を取り直して再度
「MLNX-OFED-ESX-1.8.2.4-10EM-500.0.0.472560.zip」をインストール
# esxcli software vib install -d /vmfs/volumes/datastore1/patch/MLNX-OFED-ESX-1.8.2.4-10EM-500.0.0.472560.zip Installation Result Message: The update completed successfully, but the system needs to be rebooted for the changes to be effective. Reboot Required: true VIBs Installed: Mellanox_bootbank_net-ib-cm_1.8.2.4-1OEM.500.0.0.472560, Mellanox_bootbank_net-ib-core_1.8.2.4-1OEM.500.0.0.472560, Mellanox_bootbank_net-ib-ipoib_1.8.2.4-1OEM.500.0.0.472560, Mellanox_bootbank_net-ib-mad_1.8.2.4-1OEM.500.0.0.472560, Mellanox_bootbank_net-ib-sa_1.8.2.4-1OEM.500.0.0.472560, Mellanox_bootbank_net-ib-umad_1.8.2.4-1OEM.500.0.0.472560, Mellanox_bootbank_net-mlx4-core_1.8.2.4-1OEM.500.0.0.472560, Mellanox_bootbank_net-mlx4-ib_1.8.2.4-1OEM.500.0.0.472560, Mellanox_bootbank_scsi-ib-srp_1.8.2.4-1OEM.500.0.0.472560 VIBs Removed: VIBs Skipped:
ということなのでまた再起動します。
確認してみる。
# esxcli software vib list|grep Mel net-ib-cm 1.8.2.4-1OEM.500.0.0.472560 Mellanox PartnerSupported 2015-09-13 net-ib-core 1.8.2.4-1OEM.500.0.0.472560 Mellanox PartnerSupported 2015-09-13 net-ib-ipoib 1.8.2.4-1OEM.500.0.0.472560 Mellanox PartnerSupported 2015-09-13 net-ib-mad 1.8.2.4-1OEM.500.0.0.472560 Mellanox PartnerSupported 2015-09-13 net-ib-sa 1.8.2.4-1OEM.500.0.0.472560 Mellanox PartnerSupported 2015-09-13 net-ib-umad 1.8.2.4-1OEM.500.0.0.472560 Mellanox PartnerSupported 2015-09-13 net-mlx4-core 1.8.2.4-1OEM.500.0.0.472560 Mellanox PartnerSupported 2015-09-13 net-mlx4-ib 1.8.2.4-1OEM.500.0.0.472560 Mellanox PartnerSupported 2015-09-13 net-mst 2.0.0.0-1OEM.550.0.0.472560 Mellanox PartnerSupported 2015-08-08 scsi-ib-srp 1.8.2.4-1OEM.500.0.0.472560 Mellanox PartnerSupported 2015-09-13
さてInfiniband になったかな?
# esxcfg-nics -l|grep Mellanox vmnic128 0000:06:00.0 nmlx4_en Down 0Mbps Half 00:02:c9:0e:28:da 1500 Mellanox Technologies MT26428 [ConnectX VPI - 10GigE / IB QDR, PCIe 2.0 5GT/s]
なってねぇですよw
どうやら
nmlx4-core
nmlx4-en
nmlx4-rdma
も消しておいたほうがよさそう。
(5系は消さなくても大丈夫みたいです)
# esxcli software vib remove -n=nmlx4-core -n=nmlx4-en -n=nmlx4-rdma Removal Result Message: The update completed successfully, but the system needs to be rebooted for the changes to be effective. Reboot Required: true VIBs Installed: VIBs Removed: VMware_bootbank_nmlx4-core_3.0.0.0-1vmw.600.0.0.2494585, VMware_bootbank_nmlx4-en_3.0.0.0-1vmw.600.0.0.2494585, VMware_bootbank_nmlx4-rdma_3.0.0.0-1vmw.600.0.0.2494585 VIBs Skipped:
元気よく再起動
もっかい確認
# esxcfg-nics -l|grep Mellanox vmnic_ib0 0000:06:00.0 ib_ipoib Down 0Mbps Half 00:02:c9:0e:28:db 1500 Mellanox Technologies MT26428 [ConnectX VPI - 10GigE / IB QDR, PCIe 2.0 5GT/s]
「ib_ipoib」きました!
その他の変更
http://www.mellanox.com/related-docs/prod_software/Mellanox_MLX4_EN_Driver_for_VMware_ESXi-5.1_and_5.5_User_Manual.pdf
このあたりに従って設定。
# esxcli system module parameters list -m=mlx4_core Name Type Value Description ---------------------- ------------ ----- ------------------------------------------------------------------------------------------------------------------- debug_level int Enable debug tracing if > 0 enable_qos bool Enable Quality of Service support in the HCA (default: off) heap_initial int Initial heap size allocated for the driver. heap_max int Maximum attainable heap size for the driver. internal_err_reset int Reset device on internal errors if non-zero (default 1, in SRIOV mode default is 0) log_mtts_per_seg int Log2 number of MTT entries per segment (1-7) log_num_mac int Log2 max number of MACs per ETH port (1-7) log_num_mgm_entry_size int log mgm size, that defines the num of qp per mcg, for example: 10 gives 248.range: 9<= log_num_mgm_entry_size <= 12 log_num_vlan int Log2 max number of VLANs per ETH port (0-7) msi_x int attempt to use MSI-X if nonzero mtu_4k int configure 4k mtu (mtu_4k > 0) port_type_array array of int Array of port types: HW_DEFAULT (0) is default 1 for IB, 2 for Ethernet skb_mpool_initial int Driver's minimum private socket buffer memory pool size. skb_mpool_max int Maximum attainable private socket buffer memory pool size for the driver.
MTUの変更があります。
# esxcli system module parameters set -m=mlx4_core -p=mtu_4k=1 # esxcli system module parameters list -m=mlx4_core|grep mtu mtu_4k int 1 configure 4k mtu (mtu_4k > 0)
どうやらこれだけではMTUの変更は出来ない?みたいでOpenSMが必要らしい。
(ibstatなんかのツールが入っているのでどちらにせよ入れた方がよい)
https://vibsdepot.v-front.de/wiki/index.php/Ib-opensm
(ib-opensm-x64-3.3.15-6.x86_64.vib)
OpenSMをインストールします。
# cd /tmp/ # wget http://vibsdepot.v-front.de/depot/INTL/ib-opensm-x64-3.3.15/ib-opensm-x64-3.3.15-6.x86_64.vib # esxcli software vib install -v /tmp/ib-opensm-x64-3.3.15-6.x86_64.vib [InstallationError] ('Intel_bootbank_ib-opensm-x64_3.3.15-6', 'The VIB Intel_bootbank_ib-opensm-x64_3.3.15-6 does not contain a signature.') vibs = Intel_bootbank_ib-opensm-x64_3.3.15-6 Please refer to the log file for more details.
怒られた
「–no-sig-check」で再度インストール
# esxcli software vib install -v /tmp/ib-opensm-x64-3.3.15-6.x86_64.vib --no-sig-check Installation Result Message: Operation finished successfully. Reboot Required: false VIBs Installed: Intel_bootbank_ib-opensm-x64_3.3.15-6 VIBs Removed: VIBs Skipped:
再起動
設定を書かないとダメみたい。
ポートが2つある場合は両方の配下に配置。
# vi /tmp/partitions.conf key0=0x7fff,ipoib,mtu=5 : ALL=full; # # cp /tmp/partitions.conf /scratch/opensm/0x0002c903000e28db/
また再起動
(これでMTUを4096まで上げられますが意味があるのかなぁ)
とりあえず対向も繋げてあげると、40GpsでLinkUpしました。
# esxcfg-nics -l |grep ip Name PCI Driver Link Speed Duplex MAC Address MTU Description vmnic_ib0 0000:06:00.0 ib_ipoib Up 40000Mbps Full 00:02:c9:0e:28:db 1500 Mellanox Technologies MT26428 [ConnectX VPI - 10GigE / IB QDR, PCIe 2.0 5GT/s]
良い感じ?
とりあえずこれで動くはずです。。。
サブネットマネージャは動いてるのかな。
ps |grep opensm 35183 35183 opensm-static 35184 35183 opensm-static 35185 35183 opensm-static 35186 35183 opensm-static 35187 35183 opensm-static 35188 35183 opensm-static 35189 35183 opensm-static 35190 35183 opensm-static 35191 35183 opensm-static 35192 35183 opensm-static 35193 35183 opensm-static 35194 35183 opensm-static 35195 35183 opensm-static 35196 35183 opensm-static 35197 35183 opensm-static 35198 35183 opensm-static 35199 35183 opensm-static 35236 35183 opensm-static 35237 35183 opensm-static 35238 35183 opensm-static 35239 35183 opensm-static 35255 35183 opensm-static
動いているようです。
ほか情報を見てみると
# ./opt/opensm/bin/ibstat CA 'mlx4_0' CA type: MT26428 Number of ports: 1 Firmware version: 2.9.8350 Hardware version: b0 Node GUID: 0x0002c903000e28da System image GUID: 0x0002c903000e28dd Port 1: State: Active Physical state: LinkUp Rate: 40 Base lid: 1 LMC: 0 SM lid: 1 Capability mask: 0x0251086a Port GUID: 0x0002c903000e28db Link layer: InfiniBand
速度を測ってみます。
# ./iperf -c *.*.*.* ------------------------------------------------------------ Client connecting to *.*.*.*, TCP port 5001 TCP window size: 32.5 KByte (default) ------------------------------------------------------------ [ 3] local *.*.*.* port 21482 connected with *.*.*.* port 5001 [ ID] Interval Transfer Bandwidth [ 3] 0.0-10.0 sec 3.02 GBytes 2.59 Gbits/sec
こんな感じ。
あとは、
「構成」
「ネットワーク」
「ネットワークの追加」
から「VMKernel」でネットワークアダプタを追加してあげればOK。
あと、これ純正じゃないので、ESXiのアップデート来たら上書きされるパターン。。
[tegaki]難しいです。。。[/tegaki]
Thank you from Pensacola, Florida. This article helped me.