0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

ubuntu 22.04 の FCドライバインストール

Posted at

課題

対象サーバには Brocade OEM の Emulex LPe35002 というFCカードが刺さっている。

$ lspci | grep Emulex
b1:00.0 Fibre Channel: Emulex Corporation LPe35000/LPe36000 Series 32Gb/64Gb Fibre Channel Adapter (rev 10)
b1:00.1 Fibre Channel: Emulex Corporation LPe35000/LPe36000 Series 32Gb/64Gb Fibre Channel Adapter (rev 10)

これに ubuntu 22.04 をインストールして FC-SAN のディスクを割り当てようとしたところ、内部ストレージしか認識しない。

以下は RockyLinux 9.1 のインストーラで認識させたもの。 3.64TiB のものが FC-SAN 接続先にあるストレージのディスク。
image.png

色々ググって調べたところ、 ubuntu 22.04 の FCドライバが古いのでは?というQAを見かけた。

ubuntu 22.04 の FCドライバのバージョンは 14.0.0.4

$ modinfo lpfc
filename:       /lib/modules/5.15.0-70-generic/kernel/drivers/scsi/lpfc/lpfc.ko
version:        0:14.0.0.4
author:         Broadcom
description:    Emulex LightPulse Fibre Channel SCSI driver 14.0.0.4
license:        GPL
srcversion:     AA59CA7813B3B325F81A3F1
...

Brocade のサイトを見ると、最新ドライバは 14.0.639.23 が提供されているがLinux系は RHEL, SUSE しか無い。 (ubuntu 22.04用のソースコードはあるが、ドライバパッケージは未提供)

FCドライバ更新

Brocadeのサイト カーネルモジュール用のソースコード を取得する。

ビルド

$ tar xzf lpfcdriver-ubuntu22.04-14.0.639.23.tar.gz
$ cd lpfcdriver-ubuntu22.04-14.0.639.23/
$ make -j4
GNUmakefile setting EXTRA_CFLAGS to -DCONFIG_SCSI_LPFC_DEBUG_FS
make -C /lib/modules/5.15.0-71-generic/build M=/tmp/lpfcdriver-ubuntu22.04-14.0.639.23 CONFIG_SCSI_LPFC=m modules
make[1]: Entering directory '/usr/src/linux-headers-5.15.0-71-generic'
warning: the compiler differs from the one used to build the kernel
  The kernel was built by: gcc (Ubuntu 11.3.0-1ubuntu1~22.04.1) 11.3.0
  You are using:           gcc (Ubuntu 11.3.0-1ubuntu1~22.04) 11.3.0
  CC [M]  /tmp/lpfcdriver-ubuntu22.04-14.0.639.23/lpfc_mem.o

  ...

  LD [M]  /tmp/lpfcdriver-ubuntu22.04-14.0.639.23/lpfc.ko
  BTF [M] /tmp/lpfcdriver-ubuntu22.04-14.0.639.23/lpfc.ko
Skipping BTF generation for /tmp/lpfcdriver-ubuntu22.04-14.0.639.23/lpfc.ko due to unavailability of vmlinux
make[1]: Leaving directory '/usr/src/linux-headers-5.15.0-71-generic'

カーネルモジュール更新

現バージョンの確認。

$ modinfo lpfc
filename:       /lib/modules/5.15.0-71-generic/kernel/drivers/scsi/lpfc/lpfc.ko
version:        0:14.0.0.4
...

念の為バックアップしておく。

$ sudo cp /lib/modules/5.15.0-71-generic/kernel/drivers/scsi/lpfc/lpfc.ko /lib/modules/5.15.0-71-generic/kernel/drivers/scsi/lpfc/lpfc.ko.bak

モジュール更新し、再ロード

$ sudo cp lpfc.ko /lib/modules/5.15.0-71-generic/kernel/drivers/scsi/lpfc/lpfc.ko
$ sudo modprobe lpfc
$ modinfo lpfc
filename:       /lib/modules/5.15.0-71-generic/kernel/drivers/scsi/lpfc/lpfc.ko
supported:      external
version:        0:14.0.639.23
author:         Broadcom
description:    Emulex LightPulse Fibre Channel SCSI driver 14.0.639.23
license:        GPL v2
srcversion:     219A0B35AC907142F4FD9AD
alias:          pci:v000010DFd0000F500sv*sd*bc*sc*i*
alias:          pci:v000010DFd0000F400sv*sd*bc*sc*i*
alias:          pci:v000010DFd0000E300sv*sd*bc*sc*i*
depends:        scsi_transport_fc,nvme-fc
retpoline:      Y
name:           lpfc
vermagic:       5.15.0-71-generic SMP mod_unload modversions 

...

以上の操作で 14.0.0.4 -> 14.0.639.23 に更新された。

動作確認

割り当てたボリュームを認識したぽい。

$ lsscsi
[0:3:111:0]  disk    DELL     PERC H755 Front  5.21  /dev/sda 
[1:0:0:0]    disk    DellEMC  ME5              I200  /dev/sdb 
...

multipath でも見えている。

$ sudo multipath -ll
mpatha (****************************) dm-4 DellEMC,ME5
size=3.6T features='0' hwhandler='1 alua' wp=rw
|-+- policy='service-time 0' prio=50 status=active
...
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?