📝基本情報技術者試験(FE)~~💯「RAIDの仕組みと種類をわかりやすく解説」

基本情報技術者試験（FE）では、ストレージの冗長化やデータ保護の技術として **RAID** が出題されることがあります。本記事では、RAIDの基本概念から各レベルの特徴まで、試験対策に役立つ知識をわかりやすく解説します。

---

## **1. RAIDとは？**
**RAID（Redundant Array of Independent/Inexpensive Disks：レイド）** とは、複数のハードディスク（HDD）やSSDを組み合わせて、データの **耐障害性向上** や **高速化** を実現する技術です。

RAIDには複数の種類（RAIDレベル）があり、それぞれ異なる特性を持ちます。

---

## **2. 各RAIDレベルの特徴**

| **RAIDレベル** | **仕組み** | **メリット** | **デメリット** |
|--------------|----------|------------|------------|
| **RAID 0**（ストライピング） | データを複数のディスクに分散して書き込む | 高速（読み書きが速い） | 冗長性なし（1台でも故障するとデータ消失） |
| **RAID 1**（ミラーリング） | 同じデータを2台以上のディスクに書き込む | 高い耐障害性（1台が故障してもデータ保持） | 容量効率が悪い（50%） |
| **RAID 5**（分散パリティ） | データとパリティ情報を分散して保存 | 耐障害性と容量効率のバランスが良い | 書き込み時の負荷が高い（最低3台必要） |
| **RAID 6**（ダブルパリティ） | RAID 5 のパリティを2つにして耐障害性を向上 | 2台同時故障に対応可能 | 書き込み性能が低下（最低4台必要） |
| **RAID 10**（RAID 1+0） | RAID 1（ミラー）とRAID 0（ストライプ）の組み合わせ | 高速＋高耐障害性 | ディスクの使用効率が低い（最低4台） |

---

## **3. 試験対策のポイント**
### **(1) RAID 0 は冗長性がない**
RAIDと聞くと「データ保護」のイメージがありますが、RAID 0 は **データ分散による高速化が目的であり、冗長性はない** ことに注意。

### **(2) RAID 1 はミラーリング**
RAID 1 は **同じデータを2台のディスクに書き込む** 方式で、耐障害性が高いが、**ディスク容量の半分しか使えない**。

### **(3) RAID 5・RAID 6 のパリティに注目**
- **RAID 5 は1台の故障まで対応（最低3台必要）**  
- **RAID 6 は2台の故障まで対応（最低4台必要）**  

### **(4) RAID 10 は RAID 1+0**
RAID 10 は **RAID 1（ミラーリング）と RAID 0（ストライピング）を組み合わせたもの** で、高速かつ耐障害性が高いが、**コストがかかる**。

---

## **4. まとめ**
- **RAID 0** → 高速だが冗長性なし  
- **RAID 1** → ミラーリングで耐障害性◎  
- **RAID 5** → パリティ分散でバランス◎（1台故障OK）  
- **RAID 6** → RAID 5 の強化版（2台故障OK）  
- **RAID 10** → 高速＋耐障害性◎（コスト高）  

基本情報技術者試験では、**「RAIDの種類と特徴」** を問う問題がよく出るので、表で整理して覚えましょう！

---

## **5. 例題（基本情報技術者試験）**
**問題:**  
RAID 5 の特徴として **誤っている** ものはどれか？  

1. データとパリティ情報を分散して保存する  
2. 2台のディスクが同時に故障しても復旧可能  
3. 最低3台のディスクが必要である  
4. 1台のディスクが故障しても復旧可能  

**解答:** 「2」（RAID 5 は **1台の故障** まで耐えられるが、**2台同時の故障には耐えられない**。）

---
---
# RAIDの用語である「ストライピング」「ミラーリング」「分散パリティ」「ダブルパリティ」について、それぞれのイメージを解説します

---

## **1. ストライピング（Striping）**
### **意味:**  
データを**複数のディスクに分割して並列に書き込む**ことで、**高速な読み書きを実現**する技術。  

### **特徴:**  
- 複数のディスクにデータを分散して書き込むため、**読み書きの速度が向上**する。  
- **RAID 0** で使われる技術であり、**冗長性はない**（1台のディスクが壊れるとデータが失われる）。  

### **イメージ:**  
| データ | ディスク1 | ディスク2 | ディスク3 |  
|--------|--------|--------|--------|  
| A      | A1     | A2     | A3     |  
| B      | B1     | B2     | B3     |  
| C      | C1     | C2     | C3     |  

➡ **分割したデータを各ディスクに分散して書き込む（RAID 0）**  

---

## **2. ミラーリング（Mirroring）**
### **意味:**  
**同じデータを2台以上のディスクに書き込む**ことで、データの耐障害性を向上させる技術。  

### **特徴:**  
- **RAID 1** で使われる技術。  
- 1台のディスクが壊れても、**もう1台に同じデータがあるため復旧可能**。  
- **書き込み速度は低下するが、読み取りは高速**（どちらのディスクからでもデータを読み取れるため）。  
- **データ容量の効率が悪い**（ディスク2台のうち、1台分しか使えない）。  

### **イメージ:**  
| データ | ディスク1 | ディスク2 |  
|--------|--------|--------|  
| A      | A      | A      |  
| B      | B      | B      |  
| C      | C      | C      |  

➡ **同じデータを複数のディスクに保存する（RAID 1）**  

---

## **3. 分散パリティ（Distributed Parity）**
### **意味:**  
**データと一緒に「パリティ情報」を分散して保存することで、ディスクが1台故障しても復旧可能にする技術。**  

### **特徴:**  
- **RAID 5** で使われる技術。  
- 「パリティ（誤り訂正情報）」をディスクに分散して保存し、**1台のディスクが故障しても残りのデータ＋パリティ情報から復元可能**。  
- データの書き込み時にパリティ計算が必要なため、**書き込み性能が低下**する。  
- 最低 **3台以上のディスクが必要**。  

### **イメージ:**  
| データ | ディスク1 | ディスク2 | ディスク3 |  
|--------|--------|--------|--------|  
| A      | A1     | A2     | P(A)   |  
| B      | B1     | P(B)   | B2     |  
| C      | P(C)   | C1     | C2     |  

➡ **各ディスクにデータ＋パリティを分散して保存（RAID 5）**  

---

## **4. ダブルパリティ（Double Parity）**
### **意味:**  
「パリティ情報」を2つに増やし、**2台のディスクが同時に故障しても復旧できるようにする技術。**  

### **特徴:**  
- **RAID 6** で使われる技術。  
- **パリティを2つ持つ**ため、**2台同時にディスクが故障しても復元可能**。  
- RAID 5 に比べて**さらに書き込み性能が低下**（パリティ計算が増えるため）。  
- 最低 **4台以上のディスクが必要**。  

### **イメージ:**  
| データ | ディスク1 | ディスク2 | ディスク3 | ディスク4 |  
|--------|--------|--------|--------|--------|  
| A      | A1     | A2     | P1(A)  | P2(A)  |  
| B      | B1     | P1(B)  | B2     | P2(B)  |  
| C      | P1(C)  | C1     | C2     | P2(C)  |  

➡ **パリティを2つに増やし、2台の故障に対応（RAID 6）**  

---

## **まとめ**
| **技術名** | **使われるRAID** | **特徴** | **メリット** | **デメリット** |  
|------------|----------------|----------|--------------|--------------|  
| **ストライピング** | RAID 0, RAID 10 | データを分割して書き込み | 高速 | 耐障害性なし |  
| **ミラーリング** | RAID 1, RAID 10 | 同じデータを複数のディスクに保存 | 高耐障害性 | 容量効率が悪い |  
| **分散パリティ** | RAID 5 | データとパリティを分散保存 | 1台の故障までOK | 書き込み速度低下 |  
| **ダブルパリティ** | RAID 6 | パリティを2つ保存 | 2台の故障までOK | さらに書き込み速度低下 |  

---
### **その他**

## **ブロック単位 vs バイト単位・ビット単位**
| 分散方式 | データの単位 | 使用RAID | 特徴 |
|----------|------------|---------|------|
| **ブロック単位** | **数KB～数MBのブロック** | RAID 0, 5, 6 | 高速かつ効率的 |
| **バイト単位** | **1バイトごと** | RAID 3 | パリティ専用ディスクあり（現在はほぼ使われない） |
| **ビット単位** | **1ビットごと** | RAID 2 | ハミング符号でエラー訂正（実用性なし） |

現在は **「ブロック単位」** が主流で、RAID 5 や RAID 6 などに活用されています！

https://qiita.com/SMZPP/items/ac9ce8d1b398a7ee44e6