ここでは、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」を選ぶ。
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アップデートとドライバの更新作業は完了です。
参考サイト
- DELL SAS6/iR Integratedアダプタ ハードウェアマニュアル
- DELL RAIDコントローラ マニュアルページ