最近のトピック

バナー
ECO な人のための RAID 講座。

さてさて、ECO でフレの一人のベルナさんを拉致って誘って、クジラ狩りをしていたときのこと。

20090919

「windows7でもECOが普通に遊べるなら買うつもりですが」
「遊べますよ?w >Win7 64ビット版のWindows7上でECO動かしてます。」
「Win7とCore-i7 760で買う予定。64ビットでも動くんですね」
「おお~。」

……などと話していたのですが、話題になったのがディスクをどうするか、という話。

「とりあえず10月に買う予定のものはちょっと思い切った構成にしてみたいですね」
「おー。RAIDとか?w」
「や、RAIDは使う予定ないです^^;」
「RAID0だとディスクアクセス早くなりますけどね^^ECOとかだとテクスチャのロードに結構時間かかるので」
「そこはSSDでw」
「あ、SSDは避けた方がいいです。」
「およ」
「実はECO用に使ってみたのですが、ぜんぜん速度出ませんでしたorz」
「そうなのか;」
「たぶんRAID0の方が早いです。値段も安いし;。」
「レイドってアクセス速度向上にもなるんですか?バックアップ用途としか思っていないんですが。」
「なりますよ?」
「RAID使えば早くなるって言われたみたいで、あれはバックアップ用ですよ~って言ってしまった」
「では次回のブログのネタはRAID講座ということでw」
「了解w」
「書いておきますよw」
「ECOログもねw」

って、ちょwww。というわけで、今日は IT 技術の話として、RAID 講座をひとつ~。

RAID というのは、簡単に言うと、複数のハードディスクを、特殊なハードウェアを使って一つのハードディスクであるかのように見せる技術。最近ではマザーボードに搭載されていることもある上に、HDD ドライブ自体が非常に安くなってきた(1TB でも 7,000 円ぐらい)こともあって、ものすごく取り扱いやすくなってきました。

RAID には、大別すると RAID0 (ストライピング)、RAID1 (ミラーリング)、RAID5 (パリティ分散)の 3 種類があり、以下の 2 つのメリットが得られますが、RAID の種類によって、どのメリットが得られるのかが変わります。

  • ディスクアクセス速度を向上させる。(RAID0, RAID5)
    一つのディスクではなく、複数のディスクに分散・並列して書き込み・読み込みを行うことで、ディスクアクセスを高速化させる。
  • ハードウェア故障に備える。(RAID1, RAID5)
    万が一、一つの HDD が故障しても、その HDD だけ取りかえれば問題なくデータを使い続けられる。

まず、 3 種類の RAID の違いは以下の通りです。例えば、1~6 の 6 個のデータを書き込む必要があった場合、それぞれの RAID 方式では以下のようにデータが記録されます。

image

それぞれのデータ書き込み方式の概要を比較すると、以下のようになります。

  • RAID0 (ストライピング)
    入ってくるデータを、2 つのディスクに分散させながら書き込んでいきます。このため、書き込み速度や読み込み速度は 2 倍になります。(※ 実際には完全に 2 倍になることはなく、もう少し遅くなりますけど) ただし、HDD (緑の入れ物)がどれか一つでも壊れたら、全体が使えなくなります。
  • RAID1 (ミラーリング)
    入ってくるデータを、複数のディスクに重複して書き込みします。並列書き込みを行うため、HDD が一つの場合に比べて速度が遅くなるということはありませんが、書き込むデータ量に対して、ディスク容量は 2 倍必要になります。そのかわり、片方の HDD が壊れても、データの復旧が可能です。
  • RAID5 (分散パリティ)
    RAID1 の方式だとディスク容量が 2 倍必要になっちゃいます。このため、ディスク容量をもう少し軽減するために考え出されたのがこの RAID5 という方式です。この方式では、3 本のディスクを使い、2 つずつデータをペアにして、この 2 つのデータからパリティと呼ばれるデータ(誤り訂正符号データ)を計算します。そして、 (1, 2, P) (P はパリティ)という形でデータを書き込むようにします。この形にすると、万が一どれか一つの HDD が破損しても、他の 2 つのディスクから、残り 1 つのディスクのデータが復元できます。なお RAID5 は、読み込みの際には複数のディスクから分散データ読み出しを行う形になるため高速(RAID0 と同等)になるのですが、書き込み速度については、RAID0 ほど高速にはなりません。これは、パリティデータの計算処理が必要になるためです。

上記を比較すると、以下のようになります。(下記は、「通常のように HDD を 1 つだけ使う方法と比較した場合」についてです)

  RAID0 (ストライピング) RAID1 (ミラーリング) RAID5 (パリティ分散)
書き込み速度 ◎ 高速 × 通常と変わりなし △ やや高速
読み込み速度 ◎ 高速 × 通常と変わりなし ◎ 高速
HDD 故障 × 1 つでも壊れたらダメ ◎ 1 つ壊れても大丈夫 ◎ 1 つ壊れても大丈夫

 

上記のうち、RAID0 と RAID1 はそれぞれにメリット・デメリットがあります。そこで、この二つは組み合わせて使うことが一般的になっています。この方式を、RAID 0+1 と呼びます。(または RAID10 などと呼ばれることもあります)

image

特に信頼性が求められるようなコンピュータシステムでは、データが壊れると極めてまずいため、この RAID 0+1 と、RAID 5 の 2 種類が使われています。ホビーユースでは、HDD が壊れてもまあいいや、と割り切る場合もあり、この場合には RAID 0 も使います。この 3 つの方式の違いは以下の通りです。

  RAID 0 RAID 0+1 RAID 5
書き込み速度 ◎ 高速 ◎ 高速 △ やや高速
読み込み速度 ◎ 高速 ◎ 高速 ◎ 高速
HDD 故障(※3) × 1 つでも壊れたらダメ(※2) ◎ 1 つ壊れても大丈夫 ◎ 1 つ壊れても大丈夫
HDD 容量 ◎ 全容量まるごと使える △ 全容量の半分しか使えない ○ 全容量の 2/3 しか使えない
HDD 本数(※1) 最低 2 本から 最低 4 本から 最低 3 本から

※1 上図では示していませんが、RAID0 は、HDD 3 本や 4 本などでも組むこともできます。この場合には、書き込みの並列度が上がりますので、ディスクアクセスがさらに高速になります。同様に、RAID 5 もディスク 4 本などで組むこともできます。
※2 なお、RAID0 を組む場合、故障率は通常の HDD 1 台の場合よりも高くなることに注意してください。なぜなら、RAID を構成する HDD のうち、どれか一つでも壊れたらアウトだからです。
※3 ここでは話を簡単にするために触れていませんが、HDD が壊れなくてもマザーボードが壊れたらアウトになる場合があるため要注意、です。RAID 0+1 や RAID5 を使っていれば万事安全、というわけでもないです。

上記のような特性があるため、これらの RAID は以下のように使い分けます。

  • RAID0 : データが壊れてもいいような、ちょろいシステムで使う。
  • RAID0+1 : メインで使っているようなシステムで使う。
  • RAID5 : データのバックアップをしておくようなシステムで使う。

例えば私の家の場合には、これらの RAID を以下のように使い分けています。

image

簡単に言えば、

  • メインマシンの場合、HDD が壊れるとまずい。かつ、ECO みたいなものを快適にプレイするために高速に HDD が動いてほしい。 → RAID 0+1 を使う。
  • その他のマシンは、しょせんサブなのでそんなにお金をかける必要もない。 → RAID なし。
  • ファイル共有サーバはファイルが壊れるとまずい。けれどもそんなに頻繁に使わない。→ コストをケチって RAID 5 で使う。

ということになります。

ちなみにこの RAID、昔は特殊なハードウェアが必要でこれがかなり高かったのですが、最近の大半のマザーボードには標準で搭載されていたりします。(RAID5 がサポートされていない場合はありますが) 最近では HDD もかなり安くなってきていますが、ハードディスクを高速にするとかなり体感速度が上がるため、RAID はかなり手放せなくなりつつあります。また、「RAID0 は怖い」と思われる人も多いでしょうが、最近は HDD が(昔に比べて)かなり壊れにくくなってきているので、RAID0 でもそれなりに安全になりつつはあります。きちんとデータのバックアップを取るようにしていれば、RAID0 は費用対効果の高い方法なので、使ってみてもよいのではないかな~、と思います^^。

# ……などといろいろ書いたわけですが、たぶん夏のこたつさんが細かいところはいろいろ
# フォローしてくれるでしょう^^。などと投げてみるテスト(ぉ)。

というわけで……こんなところで理解してもらえるといいなぁ、と思ったりw。たまにはこんなエントリもいいかもですね^^。


トラックバック(0)

トラックバックURL: http://www.pasteltown.com/akane/games/blog2/mt-tb.cgi/390


コメント(2)

早速の講座ありがとうございますw

ところで、わたしちょっと間違えてしまいました。
Core i7-760ではなくてCore i7-860でしたね。760なんてものは無いですね;

呼びました?(笑)
実は偶然にもつい最近新しいマシンを作りました。intel製のSSD。
友人のマシンをメンテしたりとか、SSDは流行ってますね。

SSDですが、決定的に重要なのは内蔵しているコントローラです。
これはintelが優れていて、体感もできます。Samsungあたりも優秀。
初期にプチフリーズするJMicronのものがかなり売れたので、それでSSDを好まない人が
結構出たという感じでしょうか。実際はこの付近の優秀なSSDを使うと、OS起動のような
細かいファイルを読んだりするのにかなり効果が高いです。
その他スタンバイからの復帰、シャットダウンなど、いくつかの局面ではHDDと決定的な
差があるのでOS用としてはもう前提にしていいかと思います。RAIDすればなお良し。
起動ドライブが不調になるとまずいという話はありますが、HDDも同じと割り切るしかないですね。

データ保存がRAID5、もしくはRAID1のNASというのは無難でしょう。RAID0は有効な局面が
少なくなってきました。大きなサイズのファイルをシーケンシャルに連続読み書きとなると、
動画編集の類でしょうか。ネットゲームだとレイテンシが重要になりますから、
贅沢な環境となると、コントローラの優秀なSSD(できればRAID)とPhenomIIかCore i7/5の
システムがいいでしょうか。昔ほど決定的な差はないですが、intel製のNICもいいかも
しれませんね。今日の基準bだと割高ですが。

コメントする


2014年9月

  1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30        

Recent Comments