vine/IDE-RAID

ハードウェアRAID (HighPoint? 372)

私が使用しているマザーボードEPoX 8KRA2には、IDE-RAIDコントローラが内蔵されていました。
長い間眠っていたのですが、OS(Linux)を再インストールする機会がありましたので,使えるようにしました.

IDE-RAIDコントローラ

内蔵されていたIDE-RAIDコントローラのチップ:

BIOS Configuration Utility

BIOSの起動画面で,Ctrl+hを押すと,BIOS Configuration Utilityの画面が表示される.この画面でRAID Arrayを作成する.

準備

HighPoint社のページからドライバをダウンロード
2005年05月現在は,Support –> Bios + Driver –> RocketRAID 133 と辿って行くことでドライバーをダウンロードすることができました.

hpt3xx-opensource-v2.0.tgz
が最新の用でしたが,私の環境(Vine-3.1)ではAbord/Resetを繰り返してしまい,動作も異常に遅いので一つ前のv1.35を使うことにしました.

他に設定ツールもあるのでこちらもダウンロード

ドライバのインストール

解凍

# mkdir htp3xx
# cd htp3xx
# tar zxvf ../hpt3xx-opensource-v1.35.tgz

コンパイル

KERNELDIR= の値は,Kernelのソースコードの位置です.
SUPPORT_SATA= シリアルATAなのかどうかの判定です.私の場合はシリアルATAではないので0としました.

# make KERNELDIR=/usr/src/linux-2.4.27 SUPPORT_SATA=0

ドライバの読み込み

SCSIモジュールの読み込み

# modprobe sd_mod

IDEドライバの読み込み

# insmod ./hpt37x2.0

読み込み結果を,/var/log/messageで確認する.

SCSI subsystem driver Revision: 1.00
HPT37x2 RAID Controller driver
Version 2.0, Compiled May  3 2005 23:28:01
scsi0 : hpt37x2
  Vendor: HPT3xx    Model: RAID 1 Array      Rev: 3.00
  Type:   Direct-Access                      ANSI SCSI revision: 00
 ANSI SCSI revision: 00
Attached scsi disk sda at scsi0, channel 0, id 0, lun 0
SCSI device sda: 321672959 512-byte hdwr sectors (164697 MB)
 sda:

うまくいくと,このような感じのメッセージが書き込まれているようです.
今回の場合は,/dev/sdaとして認識されていますので,後は普通のHDDとしてFDISKでパーティションを分けてフォーマットをしてマウントをすれば使えます.

ドライバの自動読み込み

作成したドライバをmodulesディレクトリに格納する.

# install hpt37x2.o /lib/modules/2.4.27-0vl7/kernel/drivers/scsi/

/etc/modules.confに追加する.

# HPT372
alias scsi_hostadapter hpt37x2
probeall block-major-8 scsi_mod sd_mod hpt37x2 options -k hpt37x2

設定ツール

マニュアルに従ってインストールが可能.

(補足)Kernelモジュール

Kernelを調べてみると、類似のIDEコントローラのチップ HighPoint? 370があったので,こちらも試してみた.結果としてはこちらはダメでした.

  • ATA/IDE/MFM/RLL support - IDE,ATA and ATAPI Block device - Support for IDE Raid controllers - Highpoint 370 software RAID

の項目を<M>にチェックする.Vine-3.1では元々モジュールとして組み込まれていた。

# insmod hptraid

として,モジュールを組み込んでみると,既に構築してある[[Software RAID:RAID]]の方の挙動がおかしくなる.(hda3+hdb3,hda5+hdb5,hda6+hdb6でそれぞれ3つのRAIDを構築しているがランダムに片方のディスクがfailになってしまう.)