質問: ディスクミラーリング ディスクミラーリングとは、何のために行うのか、またどのようなメリットがあるのか。 ディスクアレイとの相違点とそれぞれのデメリットを人に教えられるように教えてください。
回答: ちなみにバリティじゃなくてパリティですよ。 raid5は、ストライピングにちょっと手を加えて~ といいましたが、パリティデータとはその "ちょっと" にあたる部分です。 詳細はちょっと数学的で複雑な話になります。 かなり長くなりそうだし、あまり正しく説明する自信もないので、手短(といってもやっぱりかなり長い)に話します。 raid5では複数のディスクのうち1つを、パリティデータのために使います。 そのときパリティデータディスク以外はストライピングのような扱いをします。 ストライプディスクのビットに対して、排他的or演算というものを行い、その結果をパリティディスクに格納します。 排他的or演算では、1つのビットが1で、もう1つのビットが0のとき、結果のビットは1に、これ以外のときは0になります。 たとえばc言語では排他的or演算子として^があります。 0 ^ 0 = 0 1 ^ 0 = 1 0 ^ 1 = 1 1 ^ 1 = 0 具体的には、たとえばディスクが5台あるとすると、 1 ディスク1とディスク2のデータで排他的or演算をする。 2 その結果とディスク3のデータで排他的or演算をする。 3 その結果とディスク4のデータで排他的or演算をする。 4 その結果をディスク5に格納する。 たとえばこういうことです。 "abcdefgh" というデータを格納するとき、ディスク1に "ae"、ディスク2に "bf"、ディスク3に "cg"、ディスク4に "dh"、ディスク5に "(abcdから求めたパリティ)(efghから求めたパリティ)"。 ってな感じだったとおもいます(かなり記憶が怪しいので、あまり信用しないでください)。 あまり突っ込んで勉強してないので、原理についてこれ以上の詳細はお話できません。 すみません。 もうちょっと待てば、ほかの方から答えが得られるかもしれません。 さて、このパリティですが、ある1つのストライプに使っているディスクが壊れて、データがわからなくなっても、ほかのストライプに使っているディスクのデータと、パリティから、壊れてしまったデータを復元可能だというのです。 ちょっと不思議なことです(もうちょっと勉強すれば不思議でなくなるのでしょうけど)。 これは、排他的or演算を逆算することでもとのデータを得るというものです。 raid5はほとんどの場合、速くならずに遅くなってしまうので、raidマニアの興味をあまりそそらないもんだから、たいした説明になってなくてすみません。 ミラーよりコストパフォーマンスがあり、信頼性もあるから、サーバーに使われるわけですね。 やっぱり個人で使うもんじゃありません。 ちなみに先ほど紹介したfasttrakではraid5は構築できません。 raid5を構築しようと思ったら、最低でも4万くらいの豪華なraidカードが必要です。 ちなみにfasttrakは、種類もありますが、6千円~1万4千円くらいであります。