CentOS Stream 9でConnectXを使いたい

前回、dm-cacheを使ってHDD + SSD(キャッシュ)の構成を構築して、思ったよりよさそうだったので、ML30 Gen9で改めて構築しようと思います。

4LFFの構成なのでSAS 4TB*4をRAID6構成とし、M.2 SSDをキャッシュに使い、10GbEでVMホストとつなぐ構成としようと思います。

そこで10GbEのNICとして、サーバ室に転がっていたMellanoxのカードを指すと、CentOS Stream9で認識しませんでした。

lspciで確認すると以下の表示でした。おそらく初代のConnectXかと思います。

# lspci | grep Mellanox
09:00.0 Ethernet controller: Mellanox Technologies MT26448 [ConnectX EN 10GigE, PCIe 2.0 5GT/s] (rev b0)

kmod-mlx4があるようなので、それのために、カーネルバージョンを少し下げます。

# dnf -y install kernel-5.14.0-390.el9.x86_64

ブートするカーネルを変えます。まず確認すると5.14.0-390がindex=1です。

# grubby --info ALL
index=0
kernel="/boot/vmlinuz-5.14.0-391.el9.x86_64"
args="ro crashkernel=1G-4G:192M,4G-64G:256M,64G-:512M resume=/dev/mapper/cs-swap rd.lvm.lv=cs/root rd.lvm.lv=cs/swap rd.lvm.lv=cs/usr"
root="/dev/mapper/cs-root"
initrd="/boot/initramfs-5.14.0-391.el9.x86_64.img"
title="CentOS Stream (5.14.0-391.el9.x86_64) 9"
id="8fec1ce594324816a2b1f6cd08fabc90-5.14.0-391.el9.x86_64"
index=1
kernel="/boot/vmlinuz-5.14.0-390.el9.x86_64"
args="ro crashkernel=1G-4G:192M,4G-64G:256M,64G-:512M resume=/dev/mapper/cs-swap rd.lvm.lv=cs/root rd.lvm.lv=cs/swap rd.lvm.lv=cs/usr"
root="/dev/mapper/cs-root"
initrd="/boot/initramfs-5.14.0-390.el9.x86_64.img"
title="CentOS Stream (5.14.0-390.el9.x86_64) 9"
id="8fec1ce594324816a2b1f6cd08fabc90-5.14.0-390.el9.x86_64"
index=2
kernel="/boot/vmlinuz-5.14.0-247.el9.x86_64"
args="ro crashkernel=1G-4G:192M,4G-64G:256M,64G-:512M resume=/dev/mapper/cs-swap rd.lvm.lv=cs/root rd.lvm.lv=cs/swap rd.lvm.lv=cs/usr"
root="/dev/mapper/cs-root"
initrd="/boot/initramfs-5.14.0-247.el9.x86_64.img"
title="CentOS Stream (5.14.0-247.el9.x86_64) 9"
id="8fec1ce594324816a2b1f6cd08fabc90-5.14.0-247.el9.x86_64"
index=3
kernel="/boot/vmlinuz-0-rescue-8fec1ce594324816a2b1f6cd08fabc90"
args="ro crashkernel=1G-4G:192M,4G-64G:256M,64G-:512M resume=/dev/mapper/cs-swap rd.lvm.lv=cs/root rd.lvm.lv=cs/swap rd.lvm.lv=cs/usr"
root="/dev/mapper/cs-root"
initrd="/boot/initramfs-0-rescue-8fec1ce594324816a2b1f6cd08fabc90.img"
title="CentOS Stream (0-rescue-8fec1ce594324816a2b1f6cd08fabc90) 9"
id="8fec1ce594324816a2b1f6cd08fabc90-0-rescue"

起動するカーネルを1に変更して再起動します。

# grubby --set-default-index=1
# reboot

バージョンが変わっていることを確認します。

# uname -r
5.14.0-390.el9.x86_64

kmod-mlx4のrpmをダウンロードして、インストールします。

# dnf -y install https://cbs.centos.org/kojifiles/packages/kmod-mlx4/5.14.0~390/1.el9s/x86_64/kmod-mlx4-5.14.0~390-1.el9s.x86_64.rpm
# modprobe mlx4_en

dmesgを見るとカードを認識したようなので、ethtoolで確認をしてみると、10Gで使えそうな雰囲気になっています。

# ethtool ens1
Settings for ens1:
        Supported ports: [ TP ]
        Supported link modes:   10000baseT/Full
        Supported pause frame use: No
        Supports auto-negotiation: No
        Supported FEC modes: Not reported
        Advertised link modes:  10000baseT/Full
        Advertised pause frame use: No
        Advertised auto-negotiation: No
        Advertised FEC modes: Not reported
        Speed: Unknown!
        Duplex: Unknown! (255)
        Auto-negotiation: off
        Port: Twisted Pair
        PHYAD: 0
        Transceiver: internal
        MDI-X: Unknown
        Supports Wake-on: d
        Wake-on: d
        Current message level: 0x00000014 (20)
                               link ifdown
        Link detected: no

これで10GbEでESXiとつないで、HDD*4 (RAID6) + SSDでキャッシュを組んでiSCSIでマウントしてみました。Readに関してはそこそこの帯域が出ているんじゃないでしょうか?Writeに関してはNWというよりバックエンド側の速度で頭打ちっぽいですね。

コメントを残す

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

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)