RAIDとは



※以下書籍はKindle Unlimitedで読めます。

■LinuxとUNIXの違いをわかりやすく解説しています。
※サーバーエンジニアは知っておくべき内容です。

【初心者向け】これだけでLinuxとUNIXの違いがわかる!


■ロードバランサー(LB)をわかりやすく解説しています。
※ネットワークエンジニア、サーバーエンジニアは知っておくべき内容です。

これだけでSNMPがわかる!SNMPの使い方


■SNMPの使い方をわかりやすく解説しています。
※ネットワークエンジニア、サーバーエンジニアは知っておくべき内容です。

これだけでロードバランサーがわかる!


■ChatGPTの使い方をわかりやすく解説しています。

【初心者向け】これだけでわかる!ChatGPTの使い方




■動画でわかりやすく解説してます。








では、今日も授業を始める。今日のテーマはRAID(レイド)だ。




RAID(レイド)って何?




RAIDとは、Redundant Array of Independent Diskの略で、 複数のディスク(Disk)を組み合わせることで、仮想的な1台のハードディスクとして認識させて、データの冗長性を持たせる技術のことだ。




冗長性って何?




冗長性は、同じデータを2つ以上持っていて、1つが故障しても、もう1つあるから、 データは消えないという意味だ。例えば、2台のディスクでRAID1(レイドイチ)の設定を行った場合、同じデータが2つのディスクに書き込まれる。




2つのディスクに同じデータが入っているのがRAID1ってことね。




RAID1なら1台のディスクが故障しても、もう1台のディスクで同じデータを持っているから、データは消えない。 故障したディスクを新しいディスクに交換して、もう1台からデータをコピーすることで、 データは冗長構成に戻る。




このように同じデータを持つディスク構成をRAID1(レイドイチ)といい、ミラー(ディスクミラー)ともいう。 RAIDにはいくつか種類があり、それぞれディスクの構成が違う。




RAID1ミラーってことね。




RAIDを利用することで、可用性を高めることができる。




可用性って何?




可用性とは、利用者が使いたいときに使えるか(システムが継続して稼働できるか)という指標のことで、 RAID(レイド)により、ディスクが1本故障しても、データへアクセスできるという点で可用性が高くなるというわけだ。




また、ディスクのRAID以外では、回線の二重化などによって、N/W(ネットワーク)の可用性を高めたりすることも可能だ。




RAID1(レイドイチ)以外に、RAID2とかもあるの?




RAID2(レイドニ)はあるけど、あまり使用されることはないから覚えなくてよい。 RAID2はECC(Error Correction Code)という誤り訂正符号を利用していて、動作が遅く、実用的ではないんだ。




RAID2は使いものにならないのか。他には?




RAID0(レイドゼロ)は、ストライピングとよばれる。 RAID0は、複数のディスクに分散してデータを書き込む。例えば、ディスクが3本あれば、3本のディスクへデータを分散して書き込むことで 処理速度を向上できる。




RAID0は高速に書き込み、読み込みができるってことね。




うむ。しかし、RAID0(レイドゼロ)は、データの冗長性がない。つまり、1本ディスクが故障したら、 データはなくなってしまう。




データの冗長化にならないんだ。RAID0は、使いたくな~い。




あと、RAID3(レイドサン)とRAID4(レイドヨン)もあまり利用されない。 RAID3は、データを複数のディスクにビットまたはバイト単位で分散して書き込み、 誤り検出用のパリティを専用のディスクに書き込み、 ディスクが故障しても、データロストしないようにしている。 RAID2がECCを使っていたが、RAID3はECCの代わりにパリティを利用している。




また、RAID4はRAID3とほとんど似ている。 RAID4は、データを複数のディスクにブロック単位で分散して書き込み、 誤り検出用のパリティを専用のディスクに書き込んでいる。 RAID3もRAID4も最低3台のディスクが必要になる。




RAID3はビットまたはバイト単位で書き込み、 RAID4はブロック単位で書き込みするってことね。




うむ。次にRAID5(レイドゴ)は、パリティ付きストライピングのことで、 RAID4でパリティを専用ディスクへ書き込んでいたが、アクセス集中を回避するため、 パリティについても、複数ディスクに分散して書き込むようにしたものが、RAID5だ。




RAID5は、データもパリティも複数のディスクへ分散して書き込む。 3台以上のディスクが必要になる。RAID5は、高速で信頼性もあることからよく利用されている。




RAID5は、RAID4の改良版で最低3台のディスクがいるのね。




RAID6(レイドロク)は、ダブルパリティ付きストライピングのことだ。 RAID5はパリティが1つだったが、RAID6では2種類のパリティを使う。 よって、RAID5は1本のディスクが故障してもデータは消えないが、 RAID6は2本のディスクが故障してもデータが消えない。 RAID5よりもRAID6の方が信頼性が高い。




2種類のパリティを使う分、ディスク容量効率はRAID5よりも劣る。 つまり、実際のデータを保存する以外に2種類のパリティ分のデータを保存しないといけないので、当然だ。 RAID6は最低4台のディスクが必要になる。




RAID5はシングルパリティで、RAID6はダブルパリティってことか~。RAID6は信頼性は高くなるが、 パリティが増加するから、書き込み速度もRAID5と比較すると劣るってことね。




うむ。RAIDを構成するにあたり、必要な最低ディスク本数をまとめると 以下の通りだ。

最低限必要なディスク台数
RAID 0:2台
RAID 1:2台
RAID 2:5台(データ2台、ECC3台)
RAID 3:3台(データ2台、パリティ1台)
RAID 4:3台(データ2台、パリティ1台)
RAID 5:3台(データ+パリティ:3台)
RAID 6:4台(データ+ダブルパリティ:4台)




は~い。RAID0、RAID1、RAID5、RAID6は利用されることが多いから覚えておこっと。



今回のまとめ

1.RAIDは複数のディスクで仮想的な1台のHDDに見せる技術

2.RAID0は冗長性がない。

3.RAID0はディスクが1本故障したらデータはロスト(消失)

4.RAID1はディスクミラーで、同じデータを2つのディスクで持つ。
ディスクが1本故障してもデータロストしない

5.RAID2はECCを利用。動作が遅いため、利用されない

6.RAID3はデータを複数ディスクにビットまたはバイト単位で分散書き込み、
パリティを専用ディスクに書き込む。
ディスクが1本故障してもデータロストしない

7.RAID4はデータを複数ディスクにブロック単位で分散書き込み、
パリティを専用ディスクに書き込む。
ディスクが1本故障してもデータロストしない

8.RAID5はデータを複数ディスクにブロック単位で分散書き込み、
パリティも複数ディスクに書き込む。
ディスクが1本故障してもデータロストしない

9.RAID6はデータを複数ディスクにブロック単位で分散書き込み、
2つのパリティ(ダブルパリティ)を使う。
ディスクが2本故障してもデータロストしない



 次の章へ