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時間もかかってしまった。。。。