ソフトウェアRAIDはあんまり良くない、みたいな事を聞いていたので、ハードウェアRAIDを組むべく、玄人志向のSATARAID5-LPPCIを購入した。ところがこのボードがハードウェアRAID対応だというのは、自分の完全な思い込みだった事が判明した。
このボードでハードウェアRAID出来るでしょ?みたいな書き込みが何箇所かあったので、それを読んで鵜呑みにしたせいだった。 http://q.hatena.ne.jp/1241245454 など
玄人志向のサイトで、他のRAIDカードの説明には「※RAID機能はソフトウェア処理です。」と書いてあり、このカードには書いてなかったのでハードウェアRAIDだと思い込んでしまったのもある。
よく調べたら、ハードウェアRAIDでlinux対応(管理ツールがある)の物は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以外は可能か?