皆さん、初めまして、ラクスでインフラを担当している鈴木(y-suzukikun)と申します。
突然ですが、現在私が担当しているサービスでは、多くの物理サーバを利用しており
今回ご紹介する、RAID(レイド)により有事の際の耐障害性、システムの信頼性向上を高めています。
既にご存じの方も多い技術かと思いますが、簡単な記事にまとめましたので最後までお読みいただけましたら幸いです。
目次
- 目次
- 1.「RAID(レイド)」とは?
- 2. RAIDの意味
- 3. RAIDの主な目的など
- 4.「RAID(レイド)の種類」について
- 5. 「各RAID(レイド)」仕組みについて
- 6. RAID構築時の注意点
- 7. まとめ
1.「RAID(レイド)」とは?
- RAIDは(大まかに説明すると)図のように複数のHDD(ハードディスク)を一つのドライブのように認識させるものになります。
2. RAIDの意味
RAIDはRedundant Array of Independent Diskの略号となります。
正確には複数のディスクにデータを分散し冗長性デ-タを付加して格納し、ディスク障害のときにユーザデータの再生を可能とするディスクアレイの事を指します。1987年 カリフォルニア大学バークレイ校において論文化されました。(デビット.A.パターソン、ガースギブソン、ランディカッツ教授にて)
論文は「A Case for Redundant Arrays of Inexpensive Disks」となります。Google検索で確認できますのでご興味のある方は調べてみてください。
3. RAIDの主な目的など
- HDD(ハードディスク)障害時のデータ復旧(信頼性の向上)
- 複数のHDD(ハードディスク)への分散書込みによる書込・読込の高速化
などなど。※RAIDの種類、目的や構成によって若干異なります。
4.「RAID(レイド)の種類」について
RAIDには目的別に機能の異なる「モード」が存在します。
- RAID0(ストライピング)
- RAID1(ミラーリング)
- RAID2(ストライピング・ハミングコード)
- RAID3(ストライピング・パリティコード)
- RAID4(独立R/Wアクセス・パリティディスク固定)
- RAID5(独立R/Wアクセス・パリティディスク分散)
- RAID6(独立R/Wアクセス・パリティディスク分散(2台))
- RAID10(1+0)(ミラーリング+ストライピング)
5. 「各RAID(レイド)」仕組みについて
5-1.「RAID0(レイドゼロ)」について
RAID0(レイドゼロ)は、データを複数のHDDにある程度まとまった形(ブロック単位)に分割して配置する事で読み込み/書込み速度を向上させる技術です。(データの取り出し、保存のイメージは図のとおりです。)
例えば、データAはHDD1、データBはHDD2のようにデータを同時に複数のHDDに書込み可能な為、HDDが単体1台構成の時よりも高速に動作する事が出来ます。このため、データ使用効率は他RAIDの中で最も良くなります。
しかし、耐障害性(冗長性)が無いため、1台のHDDが故障してしまうと、故障したHDDに保存してあるデータが失われます。
また、RAID0は一般的にストライピングとも呼ばれます。
5-2. RAID1(レイドワン)
RAID1(レイドワン)は、同じデータを複数のHDDに格納する技術です。(データの取り出し、保存のイメージは図のとおりです。)
図のようにAからFまでのデータがある場合、HDD1に格納したデータと同じものをHDD2にも格納します。
この為、もしHDD1が故障しても、HDD2に同じデータが残るため片方のHDDに障害が発生してもデータが保たれます。
しかし、RAID0のような分散型書込みではない為、書き込み読込みに対する動作は高速ではありません。
RAID1はミラーリングとも呼ばれ、最低2台のHDDから構成する事が可能です。
5-3. RAID2(レイドツー)
RAID2(レイドツー)は、データの分散格納と誤り補正(ハミングコード)を組み合わせてデータの信頼性を保つ技術です。(データの取り出し、保存のイメージは図のとおりです。)
データとは別にハミングコードという情報を別のHDDに格納し信頼性を保ちます。
図のように最低5台のHDDから構成可能です。
RAID2ではデータの格納されているHDD1が故障しても、HDD3からHDD5にハミングコードが残る為、データの復旧が可能となります。データ格納用2台のHDDに対して、最低3台のハミングコード用のHDDが必要になるためコストが掛かります。このため、実際の運用ではあまり使われていないのが現状です。
5-4. RAID3(レイドスリー)
RAID3(レイドスリー)は、データの分散格納と誤り補正(パリティ)を組み合わせてデータの信頼性を保つ技術です。(データの取り出し、保存のイメージは図のとおりです。)
RAID3は最低3台(データ用2台、パリティ用1台)のHDDがあれば構成可能です。
データはビット(bit)又はバイト(byte)単位で分割してHDDに書込み、パリティは別のHDDに格納する事でデータ復旧を可能としています。
RAID2では、誤り補正の為に3台のHDDが必要でしたが、RAID3の場合は、パリティを使う場合は1台のHDDで済みます。
5-5. RAID4(レイドフォー)
RAID4(レイドフォー)も、RAID3と同じくデータの分散格納と誤り補正(パリティ)を組み合わせてデータの信頼性を保つ技術です。(データの取り出し、保存のイメージは図のとおりです。)
RAID4も、RAID3と同じく、最小3台(データ用2台、パリティ用1台)のHDDがあれば構成可能です。
RAID3と異なり、RAID4はデータはブロック単位に分割する事でより効率よくなるように設計されています。
RAID4は、読み出しは高速になりますが、書き込みはパリティ用HDDにアクセスが集中するため遅くなります。
5-6. RAID5(レイドファイブ)
RAID5(レイドファイブ)も、RAID3と同じくデータの分散格納と誤り補正(パリティ)を組み合わせてデータの信頼性を保つ技術です。(データの取り出し、保存のイメージは図のとおりです。)
RAID5は最低3台のHDDから構成する事が可能で、図の構成の場合、HDD1台の故障まで耐えることが可能となります。
RAID5はRAID4と同じようにパリティを使用しますが、データを複数組み合わせてパリティを作成し、複数のHDDに分散させることで、データの信頼性を保ちます。また、RAID4で固定していたパリティをブロック単位にすることで、パリティ用HDDへのアクセス集中を防ぎRAID4よりパフォーマンスを向上させています。
5-7. RAID6(レイドシックス)
RAID6(レイドシックス)は、パリティ(誤り訂正)について、二重書き込みを行うことで、耐障害性をRAID5より大幅に高めた構成となっています。(データの取り出し、保存のイメージは図のとおりです。)
動作上の仕様はRAID5とほぼ同じになります。RAID6は最小4台のHDDから構成する事が可能で、図の構成の場合、同時にHDD2台の故障まで耐えることが可能です。
5-8. RAID10(レイドイチゼロ)
RAID10はRAID1「ミラーリング」の構成をさらにRAID0「ストライピング」で掛け合わせた構成となります。(データの取り出し、保存のイメージは図のとおりです。)
高速化を実現するRAID0と、耐障害性のあるRAID1を組み合わせることで高速化で耐障害性を高めています。
RAID10は最低4台のHDDから構成する事が可能で、RAID1同様に利用可能容量は総ハードディスク容量の半分となります。図の構成の場合、HDD1台の故障まで耐えることが可能となります。
RAID10とは逆のRAID01と言うものもありますが、今回は割愛します。
6. RAID構築時の注意点
RAID構築時の注意点として一般的なものは下記になります。構築時の参考にして頂けると幸いです。
7. まとめ
最後に簡単ですが、各RAIDの特徴をまとめると次のようになります。
RAID2からRAID4は、世の中に広く普及はしていない為、RAIDを使用する際はRAID2からRAID4以外をご利用される事をお勧めいたします。
RAID0 | RAID1 | RAID2 | RAID3 | RAID4 | RAID5 | RAID6 | RAID10 | ||
---|---|---|---|---|---|---|---|---|---|
耐障害性 | なし | ◎ | ◎ | 〇 | 〇 | 〇 | ◎ | 〇 | |
初期導入コスト | 小 | 中 | 大 | 中 | 中 | 中 | 大 | 大 | |
HDD性能 | 読込み | ◎ | 〇 | × | 〇 | 〇 | ◎ | ◎ | ◎ |
書込み | ◎ | 〇 | × | 〇 | △ | △ | △ | 〇 | |
必要なディスク台数 | 2台以上 | 2台以上 | 5台以上 | 3台以上 | 3台以上 | 3台以上 | 4台以上 | 4台以上 | |
ディスク容量の利用効率 (n:ディスク台数) |
100% | 50% | (n-2)/n% | (n-1)/n% | (n-1)/n% | (n-1)/n% | (n-2)/n% | 50% | |
許容される障害台数 (n:ディスク台数) |
なし | 1 | 2 | 1 | 1 | 1 | 2 | 2 ※同一セットのHDDが故障しない場合 |
最後までお読みいただきありがとうございました!
エンジニア中途採用サイト
ラクスでは、エンジニア・デザイナーの中途採用を積極的に行っております!
ご興味ありましたら是非ご確認をお願いします。
https://career-recruit.rakus.co.jp/career_engineer/カジュアル面談お申込みフォーム
どの職種に応募すれば良いかわからないという方は、カジュアル面談も随時行っております。
以下フォームよりお申込みください。
forms.gleイベント情報
会社の雰囲気を知りたい方は、毎週開催しているイベントにご参加ください! rakus.connpass.com