なんとなく苦手意識が強いRAIDを学習していきます。
RAID(Redundant Array of Independent Disks)は簡単に言うと、複数のディスクを組み合わせてデータの信頼性とパフォーマンスを向上させる技術です。
なぜ組み合わせるのか?
ハードディスクには2つの課題があります。
- CPUやメモリに比べると処理速度が遅い
- ハードディスクが破損して、保存してあるデータがすべて失われる可能性があること
これらを防ぐために考えられた技術です。
主な使用環境
- データセンター
- 企業のサーバ環境
- NAS
- ストレージシステム
- 高性能PC(身近なものだとゲーミングPCかな?)
代表的なRAIDの種類
RAID0
- ストライピング:複数のハードディスクにデータを分散することで高速化したもの。
- 性能は上がるが、信頼性は1台のディスクに比べて低下する。
RAID1
- ミラーリング:複数のハードディスクに同時に同じデータを書き込む。
- 一方は完全なバックアップ。
- 信頼性は上がるが、性能は変わらず。
RAID0+1, RAID1+0
- RAID0,RAID1は「速度」「信頼性」のどちらかしか向上しない。
- 両方を向上させるために考えられた技術
- RAID0+1:ストライピングされたディスクをミラーリング
- RAID1+0:ミラーリングされたディスクをストライピング
- 最低でもディスクが4台必要
RAID3,REID4
- パリティ情報:データの整合性を守り、ディスク故障時のデータ復旧を可能にするための手法
- 複数台のディスクの内、1台をパリティディスクにし誤り発生時に復元する
- RAID3:ビットごとに復元を行う方式
- RAID4:ブロックごとに復元を行う方式
RAID5
RAID4と比較してみる
- パリティ情報の保存方法が異なる
- RAID4:パリティ情報を1つの専用ディスクに保存
- RAID5:パリティ情報を全てのディスクに分散して保存
- RAID5は、各ディスクが順番にパリティ情報を持つようにすることで、特定のディスクにアクセスが集中するのを避け、書き込み性能を向上させている。
RAID6
RAID5と比較してみる
- どちらもパリティを利用しているが、データ保護のレベルに違いがある
- RAID5:1台のディスクが故障しても、1つのパリティ情報を使ってデータを復元することができるが、2台同時に故障するとデータを失う可能性がある
- RAID6:2台のディスクが同時に故障しても、2つのパリティ情報を使ってデータを復元できる。
RAID5よりも高い冗長性と信頼性を提供する
最後に
改めて学習してみると、「なるほど〜」と感じましたが、実際に使用してみたいですね。
イメージ画像をそのうち編集で入れるかもしれません!
座学だけだと少し退屈なので、そろそろ何か作ろうかなと考えてます。