前回、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というよりバックエンド側の速度で頭打ちっぽいですね。