PR

RAIDを使って耐障害性を上げる

2011年7月19日(火)
sanonosa

RAIDを使って耐障害性を上げる

自宅サーバーではサーバー用の高価なハードディスクよりも家庭用の安価なハードディスクが使われることが多いと思いますが、家庭用ハードディスクはサーバー用のそれと比べて耐久性が低く壊れやすいと言えます。そこで今回は家庭用ハードディスクを複数個積んでRAID(Redundant Arrays of Inexpensive Disks)構成を取ることで耐障害性を上げることを考えてみたいと思います。

RAIDとは、複数台のハードディスクを組み合わせることで仮想的な1台のストレージとみなして運用する技術のことです。RAIDを実現するにはRAIDボードと呼ばれる専用ハードウエアを使うハードウエアRAIDと、OSやソフトウエアの機能で実現するソフトウエアRAIDの2種類があります。

ハードウエアRAIDの場合、業務用で使われる高価なRAIDボードと家庭用で使われる安価なRAIDボードがありますが、自宅サーバーで高価な業務用RAIDボードを使う機会はあまりないと思われます。また家庭用RAIDボードの対応OSがWindowsやMacOS等家庭用OSに限定されていることが多いため、本連載のようにCentOS(Linux)を扱う場合は何かと不便が多いです。

そこで今回はmdadmで実現するソフトウエアRAIDを取りあげてみたいと思います。mdadmとは、Linux上でソフトウエアRAIDを実現するプログラムです。例えば2台のSATAのハードディスクが/dev/hdb?と/dev/hdc?として認識されていた場合、それらを1つに束ねて/dev/md?として利用できるようになります。

図1:RAIDの仕組み

RAIDのレベル

RAIDには1~6のレベルがありますが、このうち通常使われるのはRAID1(ミラーリング)、RAID5、RAID6の3種類です(※注意:RAID0も比較的よく使われますが、RAID0は耐障害性を上げないのでここでは除外します)。

RAID1(ミラーリング)

RAID1は複数台のハードディスクに同じ内容のデータを書き込むことで冗長性を持たせる方式です。RAID1構成にするためにはハードディスクが最低2台必要です。RAID1は全記憶領域の半分がデータ冗長化のために使われるため、ハードディスク2本でRAID1を構成した場合実容量(実際に使える容量)は物理容量の半分になります。耐障害性は高いがコストがかかる構成と言えます。

RAID5(ブロック単位でのパリティ分散記録)

RAID5は実際のデータの他、パリティ(誤り訂正符号データ)を記録します。RAID5構成にするためにはハードディスクが最低3台必要です。RAID5ではハードディスクが1台故障してもパリティデータを利用することで元のデータを計算して取り出すことができますが、さらにハードディスクが2台以上故障するとパリティデータを利用しても元データを取り出すことができず全データが消失します。

RAID5は全記憶領域中ハードディスク1台分をパリティ用に使われるだけで済むため、RAID1と比較すると実容量を大きく確保できます。しかし、実際にはRAID5を利用してハードディスクがほぼ同時に2本以上故障する事故が比較的多かったため、後にRAID6が考案されました。耐障害性は劣るがコストが安い構成と言えます。

RAID6(ブロック単位での複数パリティ分散記録)

RAID6は複数個のパリティを記録します。RAID6構成にするためにはハードディスクが最低4台必要です。RAID5では記録されるパリティが1つでしたが、RAID6では複数(実際は2つの場合がほとんど)のパリティが記録されます。RAID6ではハードディスクが2台故障してもデータが保全されるので、RAID5と比べてデータが消失する事故が起こりにくくなりました。

RAID6では全物理容量中ハードディスク2台分がパリティに使われます。耐障害性がやや高く、コストはRAID6を構成するハードディスクの本数が多ければ比較的安い構成と言えます。ただしまだ歴史が浅いRAID方式のため、パリティ計算部分でのバグが本当にないのか著者個人的に心配ではあります。

国内某有名ITベンチャー企業に創業メンバーとして携わる。国内最大規模のシステムを構築運用してきたほか、社内情報システム導入のプロジェクトマネジメント、韓国の交友関係が豊富なことから韓国関連で多数のシステムインテグレーションなども行ってきた。前職は富士通株式会社でSE。
個人blog:http://nosa.cocolog-nifty.com/

連載バックナンバー

Think IT会員サービス無料登録受付中

Think ITでは、より付加価値の高いコンテンツを会員サービスとして提供しています。会員登録を済ませてThink ITのWebサイトにログインすることでさまざまな限定特典を入手できるようになります。

Think IT会員サービスの概要とメリットをチェック

他にもこの記事が読まれています