サーバーの基本(4.RAIDについて)


サーバーやネットワークについて勉強したことをまとめます。

1.サーバーとは何か
2.サーバーの種類
3.パーミッションについて
4.RAIDについて
5.TCP/IPについて

長くなるので、投稿を分けます。
この記事では、4.RAIDについてを記載していきます。

RAIDとは

RAIDとは、サーバー用のハードディスクに使われる技術です。
具体的には、ハードディスクを複数台用意し、1台が故障してもサーバーの技術を止めないように
する技術のことをいいます。
また、この技術により、容量や速度の向上ができるメリットもあります。
  
※ハードディスクとは
 PCやサーバーの部品のひとつで、電源を切ってからも保持し続ける情報を記憶する装置。
(メモリは電源を切ると情報が消える。)

サーバーは、複数の人が利用しています。
そのため、ハードディスクが故障してデータを紛失してしまったり、停電などでサーバーがダウンしたりすると多大な迷惑が掛かってしまいます。
そこで、データを消失せずにサーバーを継続稼働させるため、複数台のハードディスクを用意しておき、1台が故障しても問題ない状態にしておく技術を備えています。
このように、安全性のために機器を多重化しておくことを、「冗長化」といいます。

RAIDの種類

● RAID0 (ストライピング)

高速化と大容量化に特化したRAIDです。
複数台のハードディスクをRAIDコントローラーで束ね、1台のハードディスクのように見せかけることで、データの読み書きを分散します(分散処理)。
データを細切れにして、ハードディスクの台数分に分割して書き込むため、高速な処理が可能となります。
このように、データを分散して複数台のハードディスクに書き込む操作を「ストライピング」といいます。

また、複数のハードディスクを連結して1台のように扱うため、
1台の容量xハードディスク台数=合計容量
として利用できるため、大容量化できます。

デメリットは、複数台のハードディスクのうち、1台でも故障すると全てのデータが失われることです。
(複数のハードディスクを連結しているため)

● RAID1(ミラーリング)

安全第一のRAIDです。
1台のハードディスクの複製を丸ごともう1台用意することで、1台が壊れてもデータが消失することはありませんが、人間が使用できるのは1台だけのため、容量も速度も変わりません。
このように、データ対のディスクに複写する動作を「ミラーリング」といいます。

● RAID5(パリティ付きストライピング)

速度、大容量化向上+最低限の保証対策をもったRAIDです。
RAID0やRAID1は、最低2台のハードディスクで構成できますが、RAID5は最低3台のハードディスクが必要です。
3台のうち、1台が故障してもデータは損失せず、2台めの故障でデータが全損します。

ハードディスクが故障した場合に、故障したハードディスクのデータを修復するための「パリティ」というデータを分散処理の過程で生成します。
ハードディスクの台数分分散処理するので、処理速度は高まりますが、パリティデータを書き込む分、RAID0より速度は低下します。

RAID0と同様にハードディスクを連結し、1台のハードディスクとして扱うため容量は増えますが、パリティデータを書き込む分、RAID0よりは少なくなります。

● RAID6(ダブルパリティ)

RAID5の安全性が増したバージョンのRAIDです。
RAID6は最低**4**台のハードディスクを必要とします。
4台のうち、2台が故障してもデータは損失せず、3台めの故障でデータが全損します。

安全性はRAID5よりも高いですが、RAID0と同様にハードディスクを連結し、1台のハードディスクとして扱うため容量は増えますが、安全対策用にディスクの容量を多く使うため、人間が使える容量はRAID5よりも少なくなります。

● RAID10(RAID01)

RAID1とRAID0を組み合わせたRAIDです。
RAID10は最低4台のハードディスクを必要とします。
そのうちの2台ずつを1つのペアにしてRAID1でミラーリングします。
この2つのペアをRAID0でストライピングすることで、安全性と高速化を両立しています。

各ペアの中で1台ずつ、計2台が故障してもデータは損失せず、1つのぺア内で2台が故障すると、
データが全損します。
RAID6がどのディスクでも2台までの故障は耐えられるのに対し、RAID10は故障するディスクを選ぶため、安全性は少し劣ります。

2つのペアが連結されて1つのハードディスクとして扱うため、容量は増加しますが、
分散データをミラーリングするため、容量はRAID0の半分しか使用できません。
安全性・容量はRAID6に劣りますが、復旧の際にはRAID5やRAID6よりもサーバーやハードディスクの
負担が少なくすみます。

※RAID5、RAID6はパリティデータを利用しますが、RAID10は使用しません。
パリティデータを取り扱う際は、「パリティ計算」という作業を行って復旧データを書き戻すことになり、復旧時には、それがサーバーやハードディスクの負担となります。
(故障したハードディスクを交換し、復旧させることを「リビルド」といいます。)

ハードディスクの台数が増える分費用がかさむので、RAID6、RAID10はこの中では最も高額になります。

<各RAIDの比較>

大容量化 高速化 安全性 復旧の負荷の少なさ 費用
RAID0 ×
RAID1 × ×
RAID5
RAID6
RAID10

※比較のために中間のものを△で表していますが、向上が見込めないわけではありません。
 価格は◎が安いものを表しています。

参考資料

・「おうちで学べるサーバのきほん」著:木下肇 翔泳社出版 2017年