SoftwareRAID(RAID6)構築

以前、タイの洪水の直後にHDDの価格が高騰したことがあったが、最近は洪水前の価格にほぼ戻ったようだ。ちなみに2TBのSATAディスクが6724円(Amazon)~となっている。その影で寿命を全うすることなく使われなくなったHDDが多数あり。数十GBのものは割りきって捨ててしまっているが、160GB以上はまだもったいない気がして捨てられない。

古いHDDのイメージ画像

そこで現在利用中のメール鯖(RAID1 80GB)に対して、もったいないHDDたちでRAID6を構築し、容量UP&高速化、HDDの有効活用!一石三鳥というわけである。

まず、古いHDDをUSB⇔IDE/SATA変換ケーブルでチェック。正常にマウントし動作している6台を使用する。激安鯖ML115G2に換装した。(IDE 160GB*2、SATA 160GB*4)

余談だが、当時14,800円で安いと思ったML115でしたが、今は富士通でとても良い安鯖が売られていた。何とCPUはINTELの2コアのようだ。安い。

Amazon OSレス PCサーバ PRIMERGY TX100S3 2GB 250GB×2 RAID1構成済

話がそれたが、新規にインストールしたCentOs6に設定したHDDのパーティションは下記のとおりだ。

パーティション一覧

hd0

IDE 154GB

sde1

500MB

raid 1

md0

sde3

150GB

raid 6

md1

sde2

2.5GB

swap

hd1

IDE 154GB

sdf1

500MB

raid 1

md0

sdf3

150GB

raid 6

md1

sdf2

2.5GB

swap

hd2

SATA 154GB

sdc2

150GB

raid 6

md1

sdc1

4GB

swap

hd3

SATA 154GB

sdd2

150GB

raid 6

md1

sdd1

4GB

swap

hd4

SATA 154GB

sda2

150GB

raid 6

md1

sda1

4GB

swap

hd5

SATA 154GB

sdb2

150GB

raid 6

md1

sdb1

4GB

swap

RAID6というのは初めてだったが、ようはパリティを2箇所に保存するので、RAID5よりは有効容量は減るが2台同時に故障してもOKということらしい。詳しくはWikipediaのRAIDを参照。

インストール時の注意点は、2つ。

  • 使用するのが古いHDDなのでRAIDパーティションが残ったままになっている場合に認識しないことがある。その場合は、nodmraidをbootオプションに付与すること。
  • ブートローダーにRAIDデバイスを指定しない。md0を指定したがインストール終了後に起動しなかった。今回はsda1に設定し、インストール終了後にgrubコマンドでsdb1にも手動設定することで対応した。

縮退運転と復旧のテスト

インストール後、RAIDが正常に動作するかをテストした。

具体的には、SATA HDDの電源コードを動作中に引っこ抜いてみた。

これで、RAIDパーティション(md1)に対して、故障した状態を模擬し縮退運転とすることができたようだ。正常に縮退運転に移行したかは下記コマンドで確認する。

cat /proc/mdstat

 

md1 : active raid6 sdf3[1] sdc2[4] sdd2[5] sdb2[3] sde3[2]
614426624 blocks super 1.1 level 6, 512k chunk, algorithm 2 [6/5] [_UUUUU]
bitmap: 2/2 pages [8KB], 65536KB chunk

上記のように、UUUUUU_UUUUUになり、縮退(sdaがない状態)となった。

SATAはホットスワップに対応しているようで(今日まで知らなかった)、用意した別のHDDをセットするとsdgとして認識(dmesgで確認)。fdiskコマンドでパーティションを設定する。sdb等と同じ構成にする。

fdisk /dev/sdg

パーティションを構成したら、下記を実行し、RAIDに追加する。

mdadm –add /dev/md1 /dev/sdg1

追加と同時に、ReSyncが始まり、15分程度で、正常状態へと戻ったことを確認した。(cat /proc/mdstatで確認)

尚、ブート側のIDEディスクについては、いきなりケーブル抜くのがちょっと怖かったため、mdadmのfailオプションとremoveオプションにて、故障を模擬、縮退するのを確認した。電源を切り、IDEディスクを交換し、起動後にfdiskにてパーティション構成、mdadm –addして(md0 md1 両パーティション)正常動作に持ち込むことfができた。

今回、RAID6で2台同時にNGとなった場合のテストはしていないが、暇見てやることとする。

 

 

 

Comments are closed.