« 1000BASE-Tと1000BASE-SXではどちらが良い? | Main | 【ストレージ】パフォーマンスを上げるHDD構成の考え方 »

September 07, 2004

RAID0+1とRAID1+0の違い

RAID1+0とRAID0+1に違いってご存知ですか?特にハイエンドストレージを導入するときにはこの違いについての理解がとても大切になってきますのできちんと知っておいてください。

【RAID1
+0とは?】
ミラーリングしたグループをストライピングしたのがRAID1+0になります。

[1 2]、[3 4]、[5 6]、[7 8]というミラーリンググループがあったとします。

[1] | [3] | [5] | [7]  } ミラーリンググループを
[2] | [4] | [6] | [8]  } 束ねてストライピング

この構成時、例えばHDD[1]が死亡した場合、続いてHDD[2]が死ぬとRAID全体が死亡となりますが、それ以外のHDDが死んでもRAID全体としては生きつづけます。

[X] | [3] | [5] | [7] 
[2] | [4] | [X] | [8]

↑この状態でもそれぞれのミラーリンググループは生きているので大丈夫。

[X] | [3] | [5] | [7]
[X] | [4] | [6] | [8]

↑この状態だと1つのミラーリンググループが壊れ、ストライピングも壊れていまうためアウト!

【RAID0+1とは?】
ストライピンググループをミラーリングしたものがRAID0+1になります。

HDD[1]~[4]で構成されたストライピンググループ1とHDD[5]~[8]で構成されたストライピンググループ2があったとします。

[1 2 3 4] <- ストライピンググループ1
[5 6 7 8] <- ストライピンググループ2

この構成時、例えばストライピンググループ1のHDD[1]が死亡した場合はグループ1のストライピングが使えなくなります。よってこの状態ではストライピンググループ2だけが動いている状態になるわけですから、この時HDD[5][6][7][8]のいずれかのHDDが1本でも死亡したらRAID全体が死亡となります。

[X 2 3 4] <- ストライピンググループ1
[5 6 X 8] <- ストライピンググループ2

↑この状態になると両ストライピンググループが壊れるのでアウト!

【パフォーマンスの違い】
2009/10/7に「|さん」という方から下記のようなコメントをいただいております。ありがとうございます!

「RAID0+1とRAID1+0では、パフォーマンスが違います。

特に書き込みにおける処理の違いは明確です。これは、RAID1が、両ディスクのSyncが終わって初めて書き込み終了となる特性によるもので、RAID0+1では、書き込み終了はストライプセットのパフォーマンスが出せるのに対して、RAID1+0では、単体Diskのパフォーマンスしか出せません。
 

最近のRAIDコントローラーでは、ライトキャッシュを備えることで、Asyncミラーも許すようですが、安全性の観点を上げるのであれば、Syncミラーとなりますので、パフォーマンスに差が出てしまうのです。」

・・・補足させていただくと、OSからRAIDコントローラーに書き込み指示があったとき、実際にディスクに書き込まれた後に書き込み終了を返すのがSync(同期)なのに対して、とりあえず書き込むデータをRAIDコントローラーのバッファに置いた状態で書き込み終了を返し、後でゆっくりディスクに書き込むのがAsync(非同期)ですね。同期と非同期では相当なパフォーマンス差なので、一般的には非同期で使われることが多いと思います。

コメントいただいた中の「安全性の観点」というのは、キャッシュに乗っているデータがまだディスクに書き終わってない、いわゆるダーティなデータが残っている状態のときに、RAIDコントローラーへの給電が何らかの原因で途絶えることでディスクへの書き込みが正常に終わらないリスクのことを指しています。このリスクに対してハードウェア処理によってRAID1+0 や RAID0+1を扱える業務用RAIDコントローラーには通常キャッシュデータ保護のためのバッテリーが搭載されていて、キャッシュデータ消失リスクを軽減しています。

|

« 1000BASE-Tと1000BASE-SXではどちらが良い? | Main | 【ストレージ】パフォーマンスを上げるHDD構成の考え方 »

Comments

大変分りやすい説明ありがとうございます。

Posted by: RAID 1 0 | January 27, 2009 04:40 PM

初めまして。今回初めて仕事用のPCを自作しようと思い、
RAIDについて調べているところでこちらを拝見しました。

どこのメーカーとは言いませんが、マザーボードの広告に
「オンボードのコントローラーでRAID10対応」と書いて
あるので購入を決めまして、手元に届く前にウキウキで
メーカーサイトからマニュアルをDLして見てみると、
「RAID10(0+1)」との記載がありまして・・・

代理店に問い合わせたのですが、手元にシリアル番号が
ないため購入前サポート扱いとなり、まぁ態度の悪いこと。
「RAID1+0とかありえない。0+1が普通。それすら今時使わない」
みたいな事を言われまして、「ホントかよ?」と思って
いたところにこの記事を見つけ、ホッとしました。

手元に届いたら、「騙されたから返品する」って
言ってみようかと思います。

Posted by: すが | March 05, 2009 11:36 AM

RAID0+1とRAID1+0では、パフォーマンスが違います。
特に書き込みにおける処理の違いは明確です。これは、RAID1が、両ディスクのSyncが終わって初めて書き込み終了となる特性によるもので、RAID0+1では、書き込み終了はストライプセットのパフォーマンスが出せるのに対して、RAID1+0では、単体Diskのパフォーマンスしか出せません。

最近のRAIDコントローラーでは、ライトキャッシュを備えることで、Asyncミラーも許すようですが、安全性の観点を上げるのであれば、Syncミラーとなりますので、パフォーマンスに差が出てしまうのです。

Posted by: | October 07, 2009 04:25 PM

The comments to this entry are closed.

TrackBack


Listed below are links to weblogs that reference RAID0+1とRAID1+0の違い:

» [Storage] RAID 1+0 と RAID 0+1 の違い [バキュラのように・・・]
ストレージで RAID を組む時の話ですが、RAID 0+1 では最初に複数のディスクをストライプ(グルーピングに近い処理)をしてからミラーするので、1台のディスクが壊れればストライプ全体の構成が異常となり、ミラー先のストライプ側の冗長性がなくなってしまいます。そのた... [Read More]

Tracked on November 26, 2007 06:30 AM

» RAID [備忘録]
DBサーバーのRAIDをどれにすればよいのかと言うことで 選択肢としてあげられる [Read More]

Tracked on May 23, 2008 08:41 PM

« 1000BASE-Tと1000BASE-SXではどちらが良い? | Main | 【ストレージ】パフォーマンスを上げるHDD構成の考え方 »