CentOS4.6でソフトウェアRAID

家のLinuxサーバの一台をRAID構成にしようと思い立ち、休みを利用して作業してみた。
以下備忘録。


centos4.6でのソフトウェアRAIDの構築
http://www.miloweb.net/centos_install.html
を参考にまずはRAIDを設定してインストール。

※構成
/

/dev/hda1
/dev/hdb1

/boot

/dev/hda2
/dev/hdb2

swap

/dev/hda3
/dev/hdb3

をそれぞれミラーリングする


しかしインストールが終了して再起動するとGRUBとだけ表示がでてそのまま起動しない。。。。


どうやらcentos4でソフトウェアRAIDを設定するとGrubがうまくインストールされないらしい。
http://futuremix.org/2006/06/grub-raid
を参考にするも、そもそもGrubのなんたるかをよくわかってなかったのでそこから調べる。

Grubとは
http://www.page.sannet.ne.jp/hirata-naoto/grub.html
Grubの設定方法
http://park15.wakwak.com/~unixlife/linux/boot-grub.html




一通り理解したところもう一度Grubのインストール作業に戻る。

/dev/md0 を環境に合わせて /dev/hda1/ などに変更し、grub-install /dev/hda を実行する

とあるので/dev/md0を/dev/hda2に変更してgrub-install /dev/hdaを実行→インストールできた(っぽい)
今度は/dev/hdb2に変更して同じくgrub-install /dev/hdbを実行→なんかエラー出た。
does not have any corresponding BIOS drive



http://d.hatena.ne.jp/shinsuke_sugaya/20060129/1138543514
によると/boot/grub/device.map に hdb の情報を追加しないとだめらしい。
追加して再度grub-install /dev/hdbを実行したらhdaの時と同じようにインストールできた(っぽい)


レスキューモードをexitしてrebootしたら問題なくcentosが起動した。
cat /proc/mdstat




最後に
http://www.ibm.com/developerworks/jp/linux/library/l-raid2/
を参考にRAIDがちゃんと動いているかハードディスクの電源を抜き差ししてチェックしてみる。
ちゃんと動いてるようだ。


【RAIDの復旧】
電源を抜いたハードディスクを元に戻してから再起動してもう一度cat /proc/mdstatを確認しても自動で同期はされない。
障害が発生した時は本当だったらハードディスクを交換するはずなのでその際はフォーマットとかいろいろ作業があるみたい。
今回は同じハードディスクの電源を抜き差ししただけなので、そのままRAID ARRAYに電源を入れ直したハードディスクを参加させる。
#/sbin/mdadm /dev/md0 -add /dev/hda1


cat /proc/mdstatを確認すると

[root@localhost proc]# cat /proc/mdstat
Personalities : [raid1]
md1 : active raid1 hda1[2] hdb1[1]
76798592 blocks [2/1] [_U]
[>....................] recovery = 1.3% (1007104/76798592) finish=42.2min speed=29865K/sec
md2 : active raid1 hdb3[1] hda3[0]
1052160 blocks [2/2] [UU]

md0 : active raid1 hdb2[1] hda2[0]
104320 blocks [2/2] [UU]

容量が多いと同期に時間がかかるみたいだ。

※簡単に備忘録を書いているがなんだかんだで8時間もかかってしまった。。。。