なにかの技術メモ置き場

なにかの技術メモ置き場

@インフラエンジニア

CentOS8でハードウェアRAIDのディスクが認識されない part1

f:id:none06:20200606195322j:plain

事象

ハードウェアRAIDで構成した論理ディスクにCentOS8をインストールしようとしたところ、ディスクが候補に表示されない。

環境

構成

用途 ホスト名 OS RAIDコントローラ 備考
インストール対象マシン - CentOS 8.1.1911 LSI MegaRAID SAS 2108 -
PXEサーバ pxe01 CentOS 8.1.1911 - -

直接原因

インストーラのOSにRAIDコントローラのドライバが存在しない。

根本原因

ドライバが存在しないのは、CentOS8の仕様。
CentOSWikiに情報があった。
https://wiki.centos.org/ja/Manuals/ReleaseNotes/CentOS8.1911
→7. 既知の問題点

CentOS-8 では、いくつかのストレージアダプターのサポートが終了しました。こちらのリスト upstream documentation からアダプターのデバイスIDを探して確認する事ができます。 ELRepo は、この点について、現在でも、よく使われているアダプターのために driver update disks (DUD) を提供しています。ELRepo パッケージにて提供されるデバイスIDのリストは こちら から確認できます。

対処

インストーラ起動時にRAIDコントローラのドライバをインストールすることで、インストーラのOSがディスクを認識できるようになる。

操作

Wikiから以下のサイトに飛ぶ。
https://elrepo.org/linux/dud/el8/x86_64/

「MegaRAID」「SAS」の観点で探すと、以下の3つに絞られる。
dd-megaraid_sas-07.707.50.00-1.el8_0.elrepo.iso
dd-megaraid_sas-07.707.51.00-1.el8_1.elrepo.iso
dd-megaraid_sas-07.710.50.00-1.el8_2.elrepo.iso

手持ちのRAIDカードにどのバージョンが適合するのか調べるのが面倒だったので、3つとも試した。結果として1つのみ成功したので、以降の手順は成功例で記載する。
el8_0、el8_1、el8_2がそれぞれCentOS8.0、8.1、8.2用のドライバ。今回は8.1を使用する。

当方のインストール環境はPXEサーバ経由なので、DUDをPXEサーバに配置する。
※USBや光学メディアからOSをインストールする場合は、USBや光学メディアにDUDを格納するらしい。

[root@pxe01 ks]# curl -O https://elrepo.org/linux/dud/el8/x86_64/dd-megaraid_sas-07.707.51.00-1.el8_1.elrepo.iso
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100  662k  100  662k    0     0   563k      0  0:00:01  0:00:01 --:--:--  563k
[root@pxe01 ks]# ls -l /tftpboot/pxe/ks/dd-megaraid_sas-07.707.51.00-1.el8_1.elrepo.iso
-rw-r--r-- 1 root root 677888  6月  6 18:09 /tftpboot/pxe/ks/dd-megaraid_sas-07.707.51.00-1.el8_1.elrepo.iso

PXEのエントリを作成する。

[root@pxe01 ~]# cat /tftpboot/pxe/pxelinux.cfg/default
label X
        MENU LABEL ^X. CentOS-8.1.1911-x86_64 Installer
        kernel CentOS-8.1.1911-x86_64/isolinux/vmlinuz
        append initrd=CentOS-8.1.1911-x86_64/isolinux/initrd.img nameserver=172.16.0.1 inst.repo=http://pxe01/pxe/CentOS-8.1.1911-x86_64/ inst.dd=http://pxe01/pxe/ks/dd-megaraid_sas-07.707.51.00-1.el8_1.elrepo.iso

準備は以上。
これで再度インストーラを起動すると、ディスクが認識されるようになる。

参考

無事CentOS8をインストールできたマシンでいくつか情報表示してみた。

[root@kvm02 ~]# lspci -v | grep -i megaraid
01:00.0 RAID bus controller: Broadcom / LSI MegaRAID SAS 2108 [Liberator] (rev 05)
        Kernel driver in use: megaraid_sas
        Kernel modules: megaraid_sas
[root@kvm02 ~]# lsmod | grep -i megaraid
megaraid_sas          155648  2
[root@kvm02 ~]# rpm -qa | grep -i megaraid
kmod-megaraid_sas-07.707.51.00-1.el8_1.elrepo.x86_64

おまけ

RAIDカード
f:id:none06:20200606195322j:plain

筐体:PRIMERGY TX1320 M1
f:id:none06:20200606195343j:plain