RAIDって何?

問題を解いていると「RAID5」という単語。

前にも調べたけど、また忘れてしまったので、ブログにまとめておこうと思います。

 

RAIDとは

要は、複数のHDDを合わせて1台のHDDっぽくして、性能向上や稼働率向上を図る技術のことです。

更に詳しく、解説していきます。

 

RAIDで稼働率の向上!?

例えば、HDD、つまりはハードディスクドライブを2つ用意して、2つとも同じデータを書き込んでいくとします。この時片方が壊れてしまっても、もう片方にデータが残っていますよね?これが稼働率の向上です。

国家試験で稼働率について勉強していると思うので、分かるかと思いますが、例えばHDD1つの稼働率が90%の場合、この方式は並列のシステムと同じなので、

1 -(1 – 0.9)×(1 – 0.9)= 0.99 = 99%

つまりは、1つでは90%のところ、99%にまで向上しちゃいます!凄い!

 

RAIDで性能向上!?

先程と同じくHDDを2つ合わせたとします。

今度は、「ABCDEF」という文字をHDDに書き込むとします。

そこで、1文字当たりの書き込みに1秒かかるとしましょう。

細かいことは省いて、通常なら単純計算で6秒かかりますよね?

しかし、2つHDDがあるので、

「ABC」は1つ目のHDDに

「DEF」は2つ目のHDDに

同時に書き込むとします。

すると、3文字ずつ同時に書き込むので、半分の3秒で済んでしまいますね!早い!

この技術を「ストライピング」といいます。

この単語が出てきたら、「同時読み書きで処理速度向上するやつか!」と思い出しましょう。

 

また、HDDが2つあるということは、単に容量が倍になるというお得な点もあります!

 

RAIDの種類の違いは?

RAIDにはいくつかの種類があり、その種類によって性能向上か稼働率向上か、あるいはその両方か分かれます

種類を挙げてみましょう。

  1. RAID0
  2. RAID1
  3. RAID0+1(RAID01)
  4. RAID1+0(RAID10)
  5. RAID2
  6. RAID3
  7. RAID4
  8. RAID5
  9. RAID5+0(RAID50)
  10. RAID6

10個も…

一般的なので10個なので、実際はまだあるそうです。

少し多いですが、分かり易く解説しますのでまだ諦めないでください!

 

RAID0

RAID0 = ストライピングです。

先程解説しました、RAIDによって複数HDDに同時書き込み/読み込みをすることで処理速度が向上するという話(ストライピング)ですが、それのみを実装したのがRAID0になります。

メリット:読み書きの速度が速い!

デメリット:バックアップがないため信頼性に欠ける!

 

RAID1

RAID0が性能向上なら、次のRAID1は稼働率向上です!

例では2つのHDDを挙げて紹介しましたが、要は複数のHDDを並列につないで、すべてに同じデータを書き込みます。(ミラーリング)

そのため、どれか1つが壊れても他がバックアップとして残っているので安心できます。

ここで勘違いしないようにして欲しいのは、削除したファイルは取り出せない!という点です。

バックアップといっても同じデータが両方に書かれているため、ファイルを削除した場合、全部のHDDないから削除されます。あくまでHDDの予備が増えたと考えましょう。

メリット:信頼性がある!

デメリット:特になし!(処理速度は変わらない)

 

RAID01 / RAID10

ちょっとややこしいですが、要は RAID0 と RAID1 の合わせ技です。

RAID0 で複数台に同時で分担して書き込む動作を、別の複数台の組み合わせ(RAID0)にも同時に行う。これがRAID01です。

RAID10 はその逆。RAID1で複数のHDDに同じ内容を書き込む動作を、別の複数台の組み合わせ(RAID1)と内容を分担して書き込みます。

分かりにくいですが、RAID0 と RAID1 の合わせ技でRAID10 / 01 の違いは順番にあると考えてください。

 

RAID2

基本はRAID0と一緒で同時に複数台のHDDに保存して処理速度向上を目指しています。

RAID0 と RAID2 の違いはデータの保存方法にあります。

RAID0 はブロック単位、つまりはデータをまとまりで分担して保存するのに対して、RAID2ではbit単位もしくはbyte単位で保存します。

プラモデルで言えば、

「腕・足・胴体・顔」と分けて保存するのがRAID0

全部をパーツごとにバラバラに分解しちゃって保存するのがRAID2

みたいな感じです。

 

また、RAID2にはデータに異常があった時に回復できる機能もあります。

そのため、データ保存用(2台)と回復用のデータ(=冗長コード)(3台)の計5台のHDDが最低必要となります。

台数が多い分、処理速度が低下して、コストもかかるため、あまり国試にも出てくることは少ないです。

メリット:信頼性が高い!

デメリット:処理速度低下/コストがかかる!

 

RAID3

RAID2のお手軽バージョン。最低5台必要なところを最低3台で運用可能です。

RAID2で冗長コードを3台に保存していたところを1台にしてしまおう!という感じです。

とはいえ、RAID2と同じく総合的な性能がイマイチなのであまり登場しません…

メリット:RAID2より処理速度向上!

デメリット:RAID2より信頼性低下!

 

RAID4

RAID3をさらに改良したのがRAID4です!

RAID3との違いはデータの分割方法です。

RAID2で説明した通り、RAID2とRAID3はbitもしくはbyte単位でデータが保存されます。

つまりは、データが複数のHDDにバラバラに保存されてしまうんです。

そうなると処理するときにあっち行ったりこっち来たりと大変ですよね?

そこでRAID4ではブロック単位でデータを保存することで、ごっそりとまとめて処理できるため、データの扱いが楽になるんです。

メリット:データの扱いがRAID2/RAID3よりも楽!

デメリット:RAID2よりも信頼性が低い!

 

RAID5

これは良く国試に登場しますね。

RAID4をさらに改良したのがRAID5です。

一言にまとめると負荷分散ができています。

例えば、「データA」「データB」「データC」の3つのデータを3台のHDD(HDD1,HDD2,HDD3)保存するとします。

【RAID4の場合】

  • HDD1には「データA」と「データB」
  • HDD2には「データC」
  • HDD3には「データAの冗長コード」と「データBの冗長コード」と「データCの冗長コード」

という風に保存します。

この場合、各HDDによって保存するデータの量がバラバラでバランス悪いですよね?

 

【RAID5の場合】

  • HDD1には「データA」と「データCの冗長コード」
  • HDD2には「データB」と「データAの冗長コード」
  • HDD3には「データC」と「データBの冗長コード」

という風にそれぞれバランスよく保存します。

これによって負荷を分散して効率よく処理ができるという仕組みです。

 

RAID50

大体察しがつくかと思いますが、RAID5とRAID0の合わせ技です。

ここまでくると本当に複雑で、最小で6台のHDDを必要とします。

複数のRAID5に対してRAID0の方法で保存します。

詳しく考えたい人は考えてみてください….

 

RAID6

RAID2から始まり改良を続けていますが、RAID5からさらに改良されたのがRAID6です。

RAID6では冗長コードのバックアップを保存します。

先程の例を使用すると、

【RAID5の場合】

  • HDD1には「データA」と「データCの冗長コード」
  • HDD2には「データB」と「データAの冗長コード」
  • HDD3には「データC」と「データBの冗長コード」

 

【RAID6の場合】

  • HDD1には「データA」と「データBの冗長コード」「データCの冗長コード」
  • HDD2には「データB」と「データAの冗長コード」「データCの冗長コード」
  • HDD3には「データC」と「データAの冗長コード」「データBの冗長コード」

といった感じで、冗長コードを本体データとは別のHDD、2か所に保存します。

それによって安全性が向上します。

メリット:RAID5から信頼性が向上

デメリット:ディスク容量と処理速度低下

 

まとめ

かなり走り書きで長くなってしまいましたが、以上がRAIDの解説になります。

気になる点や、訂正点等ありましたら、Twitterにてご連絡いただければと思います。

⇒@reerishun -Twitter-

それでは、国試の勉強頑張りましょう!

 

今日のブログ曲

今回投稿中に聴いていた曲はこちら

カテゴリー: 用語解説

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です