本日主題:用多顆硬碟達成效能與容錯 預計時間:1.5 小時 對應主教材:第 3.5 節


一、今日學習目標

  • [ ] 認識常見 RAID 級別與特性
  • [ ] 牢記「RAID ≠ 備份」(面試陷阱)
  • [ ] 會計算 RAID 的可用容量
  • [ ] 理解 RAID 重建(Rebuild)的概念與風險

二、教材內容

2.1 RAID 是什麼?

RAID(Redundant Array of Independent Disks) 是把多顆硬碟組成一組,以提升效能容錯(壞了硬碟也不丟資料)。

RAID 可以用硬體控制器(Hardware RAID)軟體(Software RAID) 實作: - 硬體 RAID:有專用的 RAID 卡(如 Dell PERC、HP Smart Array),效能好、CPU 負擔低,企業伺服器常用 - 軟體 RAID:由作業系統實作(如 Linux mdadm、Windows 動態磁碟),省成本但吃 CPU

2.2 常見 RAID 級別

RAID 原理 特性 最少硬碟 可壞幾顆
0 條帶化(Stripe) 速度快、容量全用,但無容錯 2 0(壞1顆全毀)
1 鏡像(Mirror) 兩顆內容一樣 2 1
5 條帶 + 同位元 容量與容錯兼顧 3 1
6 雙同位元 容錯更強 4 2
10 RAID 1+0 高效能 + 高容錯,成本高 4 視配置

2.3 每個 RAID 級別深入解析

RAID 0(條帶化 Striping)

RAID 0 — 資料分散寫入多顆硬碟:

  資料: A B C D E F G H

  磁碟 1     磁碟 2
  ┌───┐     ┌───┐
  │ A │     │ B │
  │ C │     │ D │
  │ E │     │ F │
  │ G │     │ H │
  └───┘     └───┘

  優點:讀寫速度加倍
  缺點:任一顆壞 → 全部資料遺失
  可用容量:N × 單顆容量

RAID 1(鏡像 Mirroring)

RAID 1 — 兩顆硬碟內容完全相同:

  資料: A B C D

  磁碟 1     磁碟 2(鏡像)
  ┌───┐     ┌───┐
  │ A │     │ A │  ← 完全複製
  │ B │     │ B │
  │ C │     │ C │
  │ D │     │ D │
  └───┘     └───┘

  優點:容錯佳(壞一顆不丟資料)、讀取可加速
  缺點:容量減半(2顆1TB只有1TB可用)
  可用容量:1 × 單顆容量(50% 利用率)

RAID 5(條帶 + 分散同位元)

RAID 5 — 資料 + 同位元分散存放:

  磁碟 1     磁碟 2     磁碟 3
  ┌───┐     ┌───┐     ┌───┐
  │ A │     │ B │     │ P1│ ← P1 = A XOR B(同位元)
  │ C │     │ P2│     │ D │ ← P2 = C XOR D
  │ P3│     │ E │     │ F │ ← P3 = E XOR F
  └───┘     └───┘     └───┘

  同位元分散在各顆硬碟(避免單顆成為瓶頸)
  任一顆壞掉 → 用其他兩顆的資料 + 同位元計算出遺失的資料

  優點:容量利用率高(只損失 1 顆的容量)
  缺點:寫入時要計算同位元(寫入效能稍差)
  可用容量:(N-1) × 單顆容量

RAID 6(雙同位元)

RAID 6 — 類似 RAID 5 但有兩組同位元:

  磁碟 1     磁碟 2     磁碟 3     磁碟 4
  ┌───┐     ┌───┐     ┌───┐     ┌───┐
  │ A │     │ B │     │ P1│     │ Q1│
  │ C │     │ P2│     │ Q2│     │ D │
  │ P3│     │ Q3│     │ E │     │ F │
  └───┘     └───┘     └───┘     └───┘

  可壞 2 顆仍不丟資料
  可用容量:(N-2) × 單顆容量

RAID 10(RAID 1+0)

RAID 10 — 先鏡像再條帶化:

  ┌──── RAID 0(條帶化)────┐
  │                          │
  │  RAID 1      RAID 1      │
  │  ┌───┐┌───┐ ┌───┐┌───┐ │
  │  │ A ││ A │ │ B ││ B │ │
  │  │ C ││ C │ │ D ││ D │ │
  │  └───┘└───┘ └───┘└───┘ │
  │ 磁碟1 磁碟2 磁碟3 磁碟4 │
  └──────────────────────────┘

  優點:效能好 + 容錯好(每組鏡像可壞 1 顆)
  缺點:容量利用率只有 50%
  可用容量:N/2 × 單顆容量

2.4 RAID 容量計算公式

RAID 可用容量公式 4 顆 1TB 的可用容量
RAID 0 N × 單顆容量 4TB
RAID 1 1 × 單顆容量 1TB(只用 2 顆)
RAID 5 (N-1) × 單顆容量 3TB
RAID 6 (N-2) × 單顆容量 2TB
RAID 10 N/2 × 單顆容量 2TB

面試常考:「4 顆 2TB 的硬碟做 RAID 5,可用容量是多少?」答案:(4-1) × 2TB = 6TB

2.5 怎麼選?

  • 要速度、資料不重要(如暫存、影片編輯暫存)→ RAID 0
  • 重要資料、預算有限、硬碟數少 → RAID 1
  • 兼顧容量與容錯(伺服器常用)→ RAID 5 / 6
  • 要又快又安全(資料庫、高 I/O)→ RAID 10

決策流程圖

資料重要嗎?
  │
  ├── 不重要 → RAID 0(最快、最大容量)
  │
  └── 重要 → 預算充足嗎?
              │
              ├── 充足 → RAID 10(效能+容錯最佳)
              │
              └── 有限 → 硬碟數量?
                         │
                         ├── 2 顆 → RAID 1
                         ├── 3-4 顆 → RAID 5
                         └── 4+ 顆 → RAID 6(安全優先)
                                      或 RAID 5(容量優先)

2.6 RAID 重建(Rebuild)與風險

當 RAID 中有硬碟故障時,更換新硬碟後需要「重建(Rebuild)」:

RAID 5 重建流程:

正常運作        硬碟故障         更換硬碟         重建中           完成
┌─┐ ┌─┐ ┌─┐   ┌─┐ ┌─┐ ┌─┐   ┌─┐ ┌─┐ ┌─┐   ┌─┐ ┌─┐ ┌─┐   ┌─┐ ┌─┐ ┌─┐
│A│ │B│ │C│   │A│ │✗│ │C│   │A│ │ │ │C│   │A│ │░│ │C│   │A│ │B│ │C│
└─┘ └─┘ └─┘   └─┘ └─┘ └─┘   └─┘ └─┘ └─┘   └─┘ └─┘ └─┘   └─┘ └─┘ └─┘
                ▲ 降級模式         ▲ 插入新碟      ▲ 用同位元       ▲ 回復正常
                  仍可運作           開始重建        計算遺失資料

重建時間與風險

因素 說明
重建時間 取決於硬碟大小和系統負載。1TB 可能需要數小時,4TB+ 可能需要超過一天
URE 風險 大容量硬碟在重建時,讀取整個硬碟過程中可能遇到 URE(不可恢復讀取錯誤),導致重建失敗
重建期間的脆弱性 RAID 5 重建時如果又有一顆壞掉 → 資料全毀。所以大容量環境建議用 RAID 6
效能影響 重建過程會大量讀寫,系統效能明顯下降

面試加分小知識:這就是為什麼大容量硬碟(4TB+)的環境越來越多人選擇 RAID 6 而非 RAID 5——因為重建時間長,期間再壞一顆的風險不可忽視。

2.7 Hot Spare(熱備援硬碟)

Hot Spare 機制:

正常時                    硬碟故障時
┌─┐ ┌─┐ ┌─┐ ┌─┐         ┌─┐ ┌─┐ ┌─┐ ┌─┐
│A│ │B│ │C│ │HS│ ←待命    │A│ │✗│ │C│ │▶│ ← 自動啟用重建
└─┘ └─┘ └─┘ └─┘          └─┘ └─┘ └─┘ └─┘

Hot Spare 是一顆隨時待命的備用硬碟。當 RAID 中有硬碟故障時,RAID 控制器自動使用 Hot Spare 開始重建,不需要人工更換硬碟。這大幅縮短了 RAID 降級運作的時間,降低風險。

2.8 ⚠️ RAID ≠ 備份(最重要觀念,面試必考)

RAID 只能防「硬碟實體故障」。它救不了: - 檔案被誤刪/覆蓋 - 中勒索病毒(壞檔會同步到所有鏡像) - 機房火災、整機被偷 - 人為惡意破壞 - 軟體 Bug 導致資料損壞 - RAID 控制器本身故障(可能毀掉整個陣列)

所以:RAID 提升可用性,但你仍然必須做備份(3-2-1)。 兩者目的不同、缺一不可。

RAID vs 備份 對比表

項目 RAID 備份
防硬碟故障
防誤刪 ❌(刪了就是刪了) ✅(可從備份還原)
防勒索病毒 ❌(加密會同步) ✅(異地備份不受影響)
防火災/天災 ❌(整機都毀) ✅(異地備份存活)
防控制器故障
即時可用 ✅(無停機) ⚠️(需時間還原)

2.9 常見誤解

誤解 正確觀念
做了 RAID 就不需要備份 大錯!RAID 只防硬碟故障,誤刪、中毒、火災都救不了
RAID 5 比 RAID 1 好 各有優缺:RAID 5 容量利用率高但重建風險大;RAID 1 簡單可靠
硬碟越多越安全 RAID 0 加再多顆都不安全(壞任一顆全毀)。安全性取決於 RAID 級別
RAID 重建很快 大容量硬碟重建可能要一天以上,期間效能下降且有二次故障風險
SSD 不需要 RAID SSD 也會故障。企業級 SSD RAID 不但提供容錯,還能提升 IOPS

三、今日練習

Q1. RAID 1 和 RAID 5 的差別?各最少幾顆硬碟、可壞幾顆? Q2. 公司已經做了 RAID 5,還需要備份嗎?為什麼? Q3. RAID 0 為什麼不適合放重要資料? Q4. 6 顆 2TB 的硬碟做 RAID 5,可用容量是多少?做 RAID 6 呢? Q5. 什麼是 Hot Spare?它能解決什麼問題?

參考解答 **A1.** RAID 1 兩顆鏡像、可壞 1 顆、容量打對折;RAID 5 至少 3 顆、用同位元、容量容錯兼顧、可壞 1 顆。 **解題說明**: - **RAID 1**:最少 2 顆,兩顆硬碟內容完全一樣(鏡像)。可壞 1 顆,壞掉的那顆資料可以從另一顆完整複製。缺點是容量利用率只有 50%(2 顆 1TB 只有 1TB 可用)。優點是最簡單、重建最快。 - **RAID 5**:最少 3 顆,資料和同位元(Parity)分散存放在所有硬碟上。可壞 1 顆,壞掉的資料可以從其他硬碟的資料 + 同位元計算出來。容量利用率高(N-1,如 4 顆 1TB 可用 3TB)。缺點是重建時間較長,大容量環境有 URE 風險。 - **選擇建議**:小規模(2 顆)→ RAID 1;中規模(3-4 顆)→ RAID 5;大容量高安全 → RAID 6 **A2.** 需要。RAID 只防硬碟故障,救不了誤刪、中毒、火災等,所以仍要做 3-2-1 備份。 **解題說明**:這是面試最愛考的「陷阱題」。回答重點: 1. RAID 只解決「硬碟實體故障」這一種風險 2. 使用者誤刪檔案 → RAID 上的資料也跟著刪了,無法還原 3. 中勒索病毒 → 加密後的壞檔會同步到鏡像/寫入條帶,RAID 上看到的也是加密過的 4. 機房火災 → 整台伺服器(含所有 RAID 硬碟)都毀了 5. RAID 控制器故障 → 可能導致整個陣列無法讀取 結論:**RAID 提升可用性(availability),備份提供可恢復性(recoverability)。兩者目的不同,缺一不可。** **A3.** RAID 0 沒有容錯,任一顆硬碟壞掉資料全毀,風險高。 **解題說明**:RAID 0 把資料條帶化分散寫入所有硬碟,讀寫速度加倍、容量全用。但正因為資料分散在所有硬碟上,任何一顆壞掉,都會導致整個陣列的資料無法讀取。而且硬碟數越多,壞掉的機率越高(N 顆硬碟的故障率是單顆的 N 倍)。RAID 0 只適合用在不怕丟的資料(暫存、快取、影片編輯暫存區)。 **A4.** - RAID 5:(N-1) × 單顆容量 = (6-1) × 2TB = **10TB** - RAID 6:(N-2) × 單顆容量 = (6-2) × 2TB = **8TB** **解題說明**: - RAID 5 損失 1 顆硬碟的容量用來存放同位元(Parity),所以可用容量 = (N-1) × 單顆 - RAID 6 損失 2 顆硬碟的容量用來存放兩組同位元,所以可用容量 = (N-2) × 單顆 - RAID 6 雖然可用容量較少,但可以同時壞 2 顆硬碟不丟資料,安全性更高 - 6 顆 2TB 做 RAID 10:可用 6TB(50% 利用率),但效能和容錯都比 RAID 5/6 好 **A5.** Hot Spare(熱備援硬碟)是一顆隨時待命的備用硬碟,安裝在伺服器中但平時不使用。當 RAID 陣列中有硬碟故障時,RAID 控制器會**自動**使用 Hot Spare 開始重建,不需要人工介入更換硬碟。 好處: 1. 大幅縮短 RAID 降級運作的時間(不需要等 IT 人員到機房換硬碟) 2. 減少「重建期間又壞一顆」的風險(尤其在非上班時間發生故障時) 3. 對於 RAID 5 特別重要,因為降級期間再壞一顆就全毀了 缺點是多用一顆硬碟但平時不提供容量,是用成本換安全。

四、今日檢核

  • [ ] 我能說明 RAID 0/1/5/6/10 的差別
  • [ ] 我能明確說出「RAID 不等於備份」並解釋原因
  • [ ] 我會計算各 RAID 級別的可用容量
  • [ ] 我理解 RAID 重建的概念與風險

五、延伸閱讀


⬅️ 上一天:Day 4 | 🏠 本週總覽 | ➡️ 下一天:Day 6 — 實作:安裝 Linux