きゃまなかのブログ

新卒5年目のWEBエンジニアです。仕事は運用メインで、空いた時間に開発しています。何故かブログを始めた次の日に会社の先輩に見つかりました。変な記事書くとダメ出し食らうので、いい記事書けるように頑張ります。

【備忘録】RAID とは? RAID の種類と仕組みまとめ

概要

最近、仮想サーバばかり扱っていて、実機サーバを自分で購入する機会が無かったので、RAID の種類と仕組みを忘れてしまいました。

忘れないように RAID について調べたことを簡単にまとめました。

RAID とは

複数の HDD を組み合わせて、1 つの論理的な記録領域として管理する仕組みです。

HDD が 1 本(又は複数)壊れたとしても、他の HDD でシステムを停止せずに稼働し続けれるように HDD の冗長化をとった仕組みです。

主にシステムの可用性を向上する役割があります。

RAID の種類によっては HDD が故障しても、データを復元できるものもあります。

RAID の種類

  • RAID 0:ストライピング
  • RAID 1:ミラーリング
  • RAID 5:分散パリティ
  • RAID 0+1:ストライピングしたデータをミラーリングする
  • RAID 1+0:ミラーリングしたデータをストライピングする

実際に使用される可能性が高いものは、上の種類ぐらいかなと思ったので、これらの役割だけをまとめました。

RAID 0(ストライピング)とは

f:id:kyamanak83:20171119205018p:plain

複数の HDD に対して分散してデータの書き込みを行います。

読み込む際も、複数の HDD から並列に読み込めるので、処理の高速化が図れます。

ただし、冗長化をしていないため、HDD が 1 本でも故障すると全てのデータを失います。

RAID 1(ミラーリング)とは

f:id:kyamanak83:20171119205036p:plain

同一のデータを複数(2本)の HDD に対して書き込みを行います。

一方の HDD が故障しても、他方の HDD にデータが残っているため、処理を継続して行うことができます。

ただし、全く同じデータを複数(2本)の HDD に対して書き込むため、書き込み速度は低下します。また、利用できるディスク容量も半分になります。

RAID 5(分散パリティ)とは

f:id:kyamanak83:20171119205049p:plain

パリティと呼ばれる誤り訂正コードを付与して、複数(3本以上)の HDD に書き込みを行います。

HDD が 1 本故障した場合でも、パリティを元にデータを復元できます。

RAID 0+1 とは

f:id:kyamanak83:20171119211042p:plain

RAID 0 のストライピンググループを、RAID 1 でミラーリングした構成です。

最低でも HDD が 4 本必要となります。

ストライピングのグループが 2 つあった場合、グループ 1 で HDD 故障が発生しても、グループ 2 だけでシステムを稼働し続けることができます。

ただし、グループ 1 とグループ 2 の両方で HDD 故障が発生すると RAID 全体が死亡します。

RAID 1+0 とは

f:id:kyamanak83:20171119211857p:plain

RAID 1 のミラーリンググループを、RAID 0 でストライピングした構成です。

最低でも HDD が 4 本必要となります。

ミラーリングのグループが 2 つあった場合、グループ 1 の HDD がどれか 1 本故障しても、同じグループ内のもう一方でシステムを稼働し続けることができます。

ただし、グループ内で同じデータを格納している HDD が故障すると RAID 全体が死亡します。

おまけ

RAID 0+1 と RAID 1+0 の比較

  • RAID 0+1 では各グループで HDD 故障が発生してしまうと RAID 全体が死亡します。
  • RAID 1+0 ではグループ内の同じデータを格納している HDD が故障してしまうと RAID 全体が死亡します。

発生頻度で考えると、グループ内の同じデータを格納している HDD が故障する確率の方が低いですから、RAID 1+0 の方が可用性が高いと思います。

参考:

itpro.nikkeibp.co.jp

最後に

RAID の種類と仕組みを簡単にまとめました。

詳しく知りたい方はこちらのサイトがいいと思います。

参考:https://note.cman.jp/server/raid/