コンピュータや音楽の事書いてます

RAID5 構築

ソフトウェアRAIDはあんまり良くない、みたいな事を聞いていたので、ハードウェアRAIDを組むべく、玄人志向のSATARAID5-LPPCIを購入した。ところがこのボードがハードウェアRAID対応だというのは、自分の完全な思い込みだった事が判明した。
このボードでハードウェアRAID出来るでしょ?みたいな書き込みが何箇所かあったので、それを読んで鵜呑みにしたせいだった。 http://q.hatena.ne.jp/1241245454 など
玄人志向のサイトで、他のRAIDカードの説明には「※RAID機能はソフトウェア処理です。」と書いてあり、このカードには書いてなかったのでハードウェアRAIDだと思い込んでしまったのもある。
よく調べたら、ハードウェアRAIDlinux対応(管理ツールがある)の物は3万円以上するらしい。今回かったのは4千円。無理に決まってる。諦めてソフトウェアRAIDを組むことにした。
去年から休眠状態のIntel D510MO,1.5TBのHDを4台,安い電源ユニット,裸族のマンション 計6万円未満。

とりあえず、SATARAID5を挿してみたらBIOSレベルでは4台認識した。

1.5TBが4台なので、RAID5で作ると、出来上がる容量は1.5TB×3になる。2TBの壁が問題になるという情報があったけど、ソフトウェアRAIDなら大丈夫みたいな情報もあったので、チャレンジしようと思ったが、1台壊れた時の再構築の時間が1日以上かかるという噂なので、分割することにした。壊れた時は暫くの間、そのパーティションだけ信頼性の低い物と割りきって使えば良いと思う。
CentOS5.3を問題なくインストールしたつもりが、bootable diskが無いと言われた。RAIDカードのBIOSが古いみたいなので、新しくしたら起動した。
fdiskでパーティション作成(/dev/sda〜sdd 全く同じに)

コマンド (m でヘルプ): p

Disk /dev/sda: 1500.3 GB, 1500301910016 bytes
255 heads, 63 sectors/track, 182401 cylinders
Units = シリンダ数 of 16065 * 512 = 8225280 bytes

デバイス Boot      Start         End      Blocks   Id  System
/dev/sda1               1          13      104391   83  Linux
/dev/sda2              14        1288    10241437+  83  Linux
/dev/sda3            1289        1543     2048287+  82  Linux swap / Solaris
/dev/sda4            1544      182401  1452741885    5  拡張領域
/dev/sda5            1544       60000   469555821   fd  Linux raid 自動検出
/dev/sda6           60001      120000   481949968+  fd  Linux raid 自動検出
/dev/sda7          120001      182000   498014968+  fd  Linux raid 自動検出

構築 (丸1日くらいかかった)

# mdadm -C /dev/md0 -l5 -n4 /dev/sda5 /dev/sdb5 /dev/sdc5 /dev/sdd5
mdadm: array /dev/md0 started.
# mdadm -C /dev/md1 -l5 -n4 /dev/sda6 /dev/sdb6 /dev/sdc6 /dev/sdd6
mdadm: array /dev/md1 started.
# mdadm -C /dev/md2 -l5 -n4 /dev/sda7 /dev/sdb7 /dev/sdc7 /dev/sdd7
mdadm: array /dev/md2 started.

# cat /proc/mdstat 
Personalities : [raid6] [raid5] [raid4] 
md2 : active raid5 sdd7[4] sdc7[2] sdb7[1] sda7[0]
      1494044544 blocks level 5, 64k chunk, algorithm 2 [4/3] [UUU_]
        resync=DELAYED
      
md1 : active raid5 sdd6[4] sdc6[2] sdb6[1] sda6[0]
      1445849664 blocks level 5, 64k chunk, algorithm 2 [4/3] [UUU_]
        resync=DELAYED
      
md0 : active raid5 sdd5[4] sdc5[2] sdb5[1] sda5[0]
      1408667136 blocks level 5, 64k chunk, algorithm 2 [4/3] [UUU_]
      [>....................]  recovery =  1.8% (8654332/469555712) finish=306.6min speed=25046K/sec

終了後

# cat /proc/mdstat 
Personalities : [raid6] [raid5] [raid4] 
md1 : active raid5 sdd6[3] sdc6[2] sdb6[1] sda6[0]
      1445849664 blocks level 5, 64k chunk, algorithm 2 [4/4] [UUUU]
      
md2 : active raid5 sdd7[3] sdc7[2] sdb7[1] sda7[0]
      1494044544 blocks level 5, 64k chunk, algorithm 2 [4/4] [UUUU]
      
md0 : active raid5 sdd5[3] sdc5[2] sdb5[1] sda5[0]
      1408667136 blocks level 5, 64k chunk, algorithm 2 [4/4] [UUUU]
      
unused devices: <none>

フォーマット・設定など

# mke2fs -j /dev/md0
# mke2fs -j /dev/md1
# mke2fs -j /dev/md2
# echo "DEVICE partitions
MAILADDR root" >> /etc/mdadm.conf
# mdadm -D --scan >> /etc/mdadm.conf
# df -h
Filesystem          サイズ  使用  残り 使用% マウント位置
/dev/sda2             9.5G  3.6G  5.5G  40% /
/dev/sda1              99M   11M   84M  12% /boot
tmpfs                 998M     0  998M   0% /dev/shm
/dev/md0              1.3T  198M  1.3T   1% /var/samba0
/dev/md1              1.4T  198M  1.3T   1% /var/samba1
/dev/md2              1.4T  198M  1.3T   1% /var/samba2

現在、/dev/sda1,2,3にOS関連が入っている。この状態で、sda1,2,3 〜 sdd1,2,3 をRAID1にしたいんだけど、うまくいくんだろうか・・・/boot以外は可能か?