• ベストアンサー

RAIDについて

お世話になります。 サーバ等に良く使われているRAIDについて教えてください。 現在の主流は、RAID1とRAID5のようですが、RAID1については、同じデータを2つのディスクに書きこむことで1つのディスクが壊れても大丈夫ですよということは理解できました。でも、RAID5についてはイマイチ理解できません。パリティいう言葉がよく出るので、それについても用語集等読見ましたが、理解できませんでした。 具体例で教えていただけると助かります。

質問者が選んだベストアンサー

  • ベストアンサー
noname#5179
noname#5179
回答No.3

やや、正確性ではない部分がありますが、概念的な説明をします。 たとえば、8台のHDDがあったとします。 RAID1なら4台分の容量しか作れませんよね。 しかし、RAID5なら7台分の容量をつくれます。 8台あっても一回にこわれるハードディスクは1台でしょう。 どれか一台が壊れても、残り7台のHDDでその1台を修復できるように すればいいのです。 で、パリティの登場です。 7台は実際にデータを書き込みます。(データは0か1とします。) たとえば、1,0,1,0,1,1,1とします。そして、8台目は、1から8台目までの データを足したときに偶数になるような値に設定しておきます。 この場合なら1となります。 ということで、できたデータは、1,0,1,0,1,1,1,1となります。 実際のデータは7つだけですから、8台使って7台分のデータが 書き込めました。 ここで、どれか1台が壊れた場合、ひとつだけデータが壊れますよね。 そのとき残り7つのデータを足すのです。合計が、奇数なら壊れた データは1だったはずですし、偶数なら壊れたデータは0だったと 分かりますよね。 そういう方法を使っているのがRAID5です。

superstar
質問者

お礼

大変分かりやすい説明ありがとうございました。 理解できました。

その他の回答 (3)

回答No.4

pppstationといいます #3の方の説明でほぼ正しいのですがちょっとだけ修正を入れます #3の方の方法だとパリティディスクが逝ってしまったときが危ないことになります 実際のところは、8台すべてのディスクにデータは書きこまれています(例が8台なので8台にしました) 8台すべてにデータが書きこまれているのですが、 一台のディスクに対し一台のディスク総容量の8分の7のデータしか書きこまれません (一台分のディスク容量が8GBの場合7GBしかデータ領域として使用されない) 残りの8分の1のデータ領域がパリティデータの部分となります 8分の1×8(ディスクの台数)=1(ディスク1台分の容量) となり、 (パリティデータの総容量が、結局はディスク1台分になるということ) 結局は8台で7台分のデータ領域を確保できるということになります ちなみに自分のドライブにあるパリティーデータは自分のドライブ以外の部分のパリティーデータが格納されます その理由として、もし、自分のディスクに自分のパリティーデータを持っていたら そのディスクが逝ったときデータの修復ができないですよね 補足として、 RAID5だと、物理ドライブが複数あっても、 OS上では一つのドライブとして認識させることができます 例えば、サーバー系データベースシステムなどで、 一つのドライブに超巨大な容量が欲しいときなどに使います 単独のディスクでRAIDを使用しない場合だと180GB(わたしが知っている中で1番容量のでかいもの)くらいになりますが RAIDを使用すれば、36GBのディスク10台を使用してRAID5を構築し 324GB(360-36=324)の論理的なドライブを作ったりすることができます あとは、データの書きこみ方式が分散型書きこみといって、 一つのディスクに一つのデータを書きこむのではなく、 一つのデータを効率的に複数のディスクに分散して並列に書きこむため書きこみ速度が速くなるそうです (RAID1と違っておんなじデータを複数ディスクに書きこむのではなく、 一つのデータを分割して、分割したものを複数のディスクに書きこんでいきます) 読み出し時は分割された部分のデータ整合性チェックなどが入るようなのですが、 複数のディスクから同時に分散されているデータを読み出すのと相殺されてしまうそうなので 読み出し時間は普通のものとそうは変わらないようです (個人的には遅いような気がしますが) 完全に正確ではないと思いますが、こんなところであると思います ちなみにRAID5はディスク3台以上からです 2台だと…RAID1(ミラーリング)になっちゃいますからね

  • a-kuma
  • ベストアンサー率50% (1122/2211)
回答No.2

先の回答の補足にしかなりませんが、参考URLにふたつほどページを紹介しておきます。

参考URL:
http://www.texa.co.jp/TEXA/array/raid.html,http://www.adtx.com/support/index02.htm
  • asuca
  • ベストアンサー率47% (11786/24626)
回答No.1

パリティというのは出pたが正しいかどうかを判断するための方法の一つです。 http://yougo.ascii24.com/gh/01/000133.html に詳しく乗っていますが、ある長さのデータを足し算をしてその結果をデータに付け加えます。 読み出したときに同じように足し算をしてその結果が付いてきた計算結果と違っていればデータが壊れていると言うことになります。 RAID5はその情報を一緒に書き込むことによりデータが正常かどうかのチェックを行うことが出来ます。 ただし、通常はその辺をファイルシステムやハードウェアで行いますが計算と書き込み回数が多くなるために信頼性は向上しますが書き込み速度が遅くなります。 最近ではそれを抑えるための製品も出てきているようです。 http://www.zdnet.co.jp/help/howto/pc/raid/

参考URL:
http://www-6.ibm.com/jp/storage/basic/word/RAID5.htm

関連するQ&A