
今運用している自宅サーバーは vinum でソフトRAID1を構築している。何がソフトで何がハードかという定義が問題になるが、私はチップに頼ればハード、そうでなければソフトと思っている。
まず、カードを挿すという方法は高くなりそうなので現在主流であるマザー上のチップ搭載のRAIDコントローラーで動かすことにした。
調べてみると現在 atacontrol がサポートしているRAIDコントローラーは
Intel MatrixRAID
Silicon Integrated Systems (SiS)
VIA Tech V-RAID
らしい。
無難なところで Intel を選択することにした。ICH5 6 7 であれば対応していそうです。
決めたマシンは ICH6搭載の Shuttle SB81P XPC のキューブ
http://www.fastcorp.co.jp/sb81p.html
である。自宅は狭いのでできるだけ小さく、ベッドの横にサーバを置くのでできるだけ静か、もちろん
HDDは2個以上搭載できないと困るわけです。
このキューブは最大で3つのHDDが搭載できるけど、使い勝手を考えると2つがいいかと思う。
1.SATAの接続
ATAのコネクタは4つある。このうちマスターとなれる2つとHDDをつなぐ。繋いだあとに、BISO
画面でマスターになっているかどうか確認してなっていなかったら違うコネクタに挿せばよい。
2.FreeBSDのヴァージョン
FreeBSDのヴァージョンは FreeBSD 5.5-RELEASE を選択することにした。
なぜなら、FreeBSD 6.1-RELEASEはインストールの時点でカーネルパニックになったからである。
3.インストールCDの作成
ftp://ftp.jp.freebsd.org/pub/FreeBSD/releases/i386/ISO-IMAGES/5.5
からCDイメージをダウンロードする。5.5-RELEASE-i386-disc1.iso だけで良いみたいです。
これをCD-RにISOイメージ形式で焼きます。
4.BIOSの設定
基本的にはデフォルトです。SATA Mode はRAIDではなくIDEのままで大丈夫です。RAIDにするとスレー
ブの作成モードに入るようです。
サーバーマシンなので
Halt On は [No Error]
を選択してます。
5.インストール
CD-RをCDトレイに入れて再起動すればそのままインストールが始まります。インストールの仕方は
他の人のページを参照してください。
2つのHDDが搭載されているのでどちらか片方にOSをインストールします。私の場合は
ad4 と ad6 になっていたので ad4 にインストールしました。
スライスの設定は
SWAP は 2G (メモリを1Gつんでいるのでその2倍を設定しました)
残りは全部 / にしてあります。この辺はお好きなようにしてください。
その後は普通にインストールします。
HDDはこんな感じで認識されています。
acd0: CDRW at ata0-slave PIO4
ad4: 157066MB [319120/16/63] at ata2-master SATA150
ad6: 157066MB [319120/16/63] at ata3-master SATA150
6.RAIDの設定
システムをリブートしてシングルユーザーモードで立ち上げます。画面にデーモン君が出たら
4を選択すればシングルユーザーモードで立ち上がります。
/bin/sh:
で止まっているのでリターンすればそれでOKです。
すべてをマウントして、/etc/fstab の ad4 を ar0 に書き換えます。
# mount -a
# cp -p /etc/fstab /etc/fstab.bak
# sed s/ad0/ar0/g /etc/fstab.bak > /etc/fstab (vi で書き換えても良いよ)
再度リブートしてシングルユーザーモードで起動します。
'/'をread onlyでマウントする。
# mount -u -o ro /
RAID1にディスクを追加する。
# atacontrol addspare ar0 ad6
MIRRORディスクがない状態だったので、ディスクad10はMIRRORとして登録されます。
inserted into ar0 disk as spare と画面にでるはず。
RAID1を再構築する。
# atacontrol rebuild ar0
Enterキーを押すと直ちにコマンドプロンプトが表示されるが、バックグラウンドで再構築が進行するのであわてないように。進行状況は、以下のコマンドで確認できる。
# atacontrol status ar0
完了度合いがパーセント表示で出るので100%になるまでひたすら確認と待ちをします。
なお、'/'や'/usr'をread onlyではなくread/writeでマウントすると、
いったん再構築が100%になった後でまた再構築がスタートする、というように再構築が完了しない
とどこかに書いてあったので、間違いなくread onlyでマウントするよう注意のことだそうです。
真偽のほどは確認してないので分かりません。
ディスク障害時は、ディスク取り替え後
# atacontrol addspare ~
以下を行うことで、再構築ができるようです。
ここで試しにひとつづつHDDを殺して起動するかためにしてみたけど、ちゃんと起動します。
参照URL
http://homepage3.nifty.com/SAKAI/FreeBSD/Renwal/atacontrol.html
http://www.elc.ees.saitama-u.ac.jp/~kazuhito/freebsd2.html
http://www.kncn.net/blog/item/619