トップ  »  Tech  »  Hardware

ここでは、DELL PowerEdgeサーバにCentOS/RHELをインストールして使っている環境でのRAIDコントローラドライバの更新についてメモしておきます。

ポイントは2つあります。

  • CentOS/RHEL用のRAIDコントローラドライバを更新する場合
  • CentOS/RHELのカーネルを更新した場合

デバイスドライバの更新

ここではCentOS/RedHatEnterpriseLinuxを例にしてRAIDコントローラのドライバを更新する手順について記述します。


例えば、OSインストール時にデフォルトのドライバでRAIDコントローラを認識して動作した場合でも、DELL配布のドライバの方がバージョンが新しい場合があります。そういう時に、最新版ドライバに更新処理をします。


まず、最新版のデバイスドライバをDELLサポートサイトから入手します。


ここで機種と型番、使用OS、カテゴリにSAS RAIDを指定します。CentOS 4なので選択メニューから「RedHatEnterpriseLinux 4.0」を選ぶ。

http://satospo.sakura.ne.jp/tech_image/hardware/pe860_sas5ir_firm2_site.png

RHEL4.0向けのSAS 5i/Rドライバは、これらがヒットします。

Thursday, August 23, 2007  7:46 AM 13191655 mptlinux-3.02.83.12-5-SAS-5ir.tgz
Thursday, August 23, 2007  7:46 AM     6926 mptlinux-3.02.83.12-5-SAS-5ir.txt

ここで、ファイル mptlinux-3.02.83.12-5-SAS-5ir.tgz をダウンロードします。アーカイブをダウンロードして任意の場所に展開しておきます。ファイルの内容は、

  • dkms-2.0.13-1.noarch.rpm
  • mptlinux-3.02.83.12-5dkms.noarch.rpm
  • mptlinux-3.02.83.12-5-rhel4.i686.dd.gz
  • mptlinux-3.02.83.12-5-rhel4.x86_64.dd.gz
  • mptlinux-3.02.83.12-5-SAS5ir.txt
  • mptlinux-3.02.83.12-5-sles9sp3.x86_64.dd.gz
  • mptlinux-3.02.83.12-src.tar.gz

このような構造になっています。末尾がdd.gzになっているのは、OSインストール時に使うデバイスドライバのフロッピーディスクイメージファイルです。


現在動いてるOS(CentOS)上でドライバを更新するには、次のパッケージを利用します。

  • dkms-2.0.13-1.noarch.rpm
  • mptlinux-3.02.83.12-5dkms.noarch.rpm

まずdkmsパッケージがインストールされているかを確認します。

[root]# rpm -qa | grep dkms

何も表示されなければdkmsはインストールされていません。


ドライバに先立って、dkmsをインストールします。

[root]# rpm -ivh dkms-2.0.13-1.noarch.rpm

続いて mptlinux を更新します。rpmのオプションは -Uvh です。

[root]# rpm -Uvh mptlinux-3.02.83.12-5dkms.noarch.rpm
Preparing...                ########################################### [100%]
   1:mptlinux               ########################################### [100%]
~以下省略~

インストール後は、システムを再起動します。ドライバのバージョンはdkmsコマンドで確認できるようになります。

[root]# dkms status
mptlinux, 3.02.83.12, 2.6.9-55.0.12.ELsmp, i686: installed (original_module exists)

DELL製のデバイスドライバをLinux上で使うには、上記のdkmsが使われます。このあたりはマニュアルにサラりとしか書かれていないので、アップデート処理はなかなか解りづらいですね。


Linux kernelアップデート時の対応

DELL dkmsでドライバをインストールしていて、なおかつDELL OpenManageを使用している場合、Linuxのkernelアップデート後にデバイスドライバを再構築する必要があります。デバイスドライバを再構築しない場合は、DELL OpenManage等が正常に稼動しません。


DELL SAS5/iR、SAS6/iRシリーズ等はCentOS5/RHEL5標準ドライバでも稼動するので、DELLドライバを組み込まなくてもOSの動作やデータへのアクセスに支障はありません。


以下では、CentOS5を例とし、kernelをアップデートする場合の手順を記載します。

1. yumでkernelをアップデートする

2. CentOSを再起動し、新kernelで起動する

3. /etc/redhat-releaseファイルの内容を更新する

kernelをアップデートすると、redhat-releaseファイルも最新版に更新される。そのままではDELL OpenManageが動作しないので、RHELの製品名を再度書き足す。

CentOSデフォルト CentOS release 5.2 (Final)
変更後 CentOS release 5.2 (Tikanga Final)

4. 現在のkernelバージョンをunameコマンドで確認する

[root]# uname -r
2.6.18-92.1.22.el5

5. dkmsコマンドでインストールされているデバイスドライバ名とバージョンを確認する

[root]# dkms status
mptlinux, 4.00.38.02, 2.6.18-92.1.22.el5, i686: installed (original_module exists)
mptlinux, 4.00.38.02, 2.6.18-92.el5, i686: installed-weak from 2.6.18-92.1.22.el5

この例では、mptlinuxのバージョン4.00.38.02がインストールされている。ドライバモジュールはkernelのバージョン毎に必要となります。


6. 現在のkernel用にドライバを再構築します

[root]# dkms build -m <モジュール名> -v <モジュールのバージョン> -k <カーネルのバージョン>
[root]# dkms install -m <モジュール名> -v <モジュールのバージョン> -k <カーネルのバージョン>

確認。

[root]# dkms status
  モジュールが installed となっていることを確認する。

例:mptlinux 4.00.38.02 を kernel 2.6.18-92.1.22.el5用に構築する場合。

[root]# dkms build -m mptlinux -v 4.00.38.02 -k 2.6.18-92.1.22.el5
[root]# dkms install -m mptlinux -v 4.00.38.02 -k 2.6.18-92.1.22.el5

7. ドライバのビルドとインストール後に、システムを再起動する

システム起動後にDELL OpenManageが起動し、ストレージコントローラにアクセスできることを確認します。

[root]# omreport storage vdisk
[root]# omreport storage controller

以上で、CentOSのkernelアップデートとドライバの更新作業は完了です。


参考サイト