儲存基礎與硬體層
從儲存媒介的物理特性出發,理解 RAID 保護架構的演進邏輯,掌握控制器設計與 All-Flash 時代的取捨思維。本章為純通用概念,適用所有品牌儲存設備。
1.1 儲存媒介演進#
企業儲存的效能與成本,從根本上取決於底層的儲存媒介。從機械硬碟到 NVMe SSD,每一次媒介的演進都帶來了根本性的效能躍升,也改變了容量規劃的邏輯。
各媒介典型規格對比
| 媒介 | 典型延遲 | 典型 IOPS(4K 隨機) | 典型頻寬 | 單位容量成本 |
|---|---|---|---|---|
| 15K SAS HDD | 3 ~ 5 ms | 175 ~ 210 | ~300 MB/s | 最低 |
| SATA SSD | 0.1 ~ 0.5 ms | ~80,000 | ~550 MB/s | 低 |
| 企業 NVMe SSD | 50 ~ 200 µs | 500,000 ~ 1,500,000 | 3 ~ 7 GB/s | 中 |
| SCM(Optane 類) | 2 ~ 10 µs | 數百萬以上 | ~6 GB/s | 最高 |
NAND Flash 的類型與耐久度取捨
NVMe SSD 內部的 NAND Flash 依每個儲存單元可存放的 bit 數分為幾種類型,耐久度與成本呈反比:
| 類型 | Bits / Cell | 耐久度(P/E Cycles) | 成本 | 企業用途 |
|---|---|---|---|---|
| SLC(Single Level Cell) | 1 bit | 100,000+ | 最高 | Cache 層、極高耐久需求 |
| MLC(Multi Level Cell) | 2 bits | ~10,000 | 高 | 企業 SSD 早期主流 |
| TLC(Triple Level Cell) | 3 bits | ~3,000 | 中 | 目前企業 NVMe 主流 |
| QLC(Quad Level Cell) | 4 bits | ~1,000 | 低 | 高容量、讀取密集場景(如歸檔) |
企業儲存陣列目前以 TLC 為主流,QLC 則用於高容量、讀取密集的歸檔層(如 IBM FlashSystem 7300 的 //C 型號、Everpure FlashArray //C)。
1.2 RAID 傳統架構#
單顆磁碟都有故障的可能,RAID(Redundant Array of Independent Disks)透過將資料分散或複製到多顆磁碟,在磁碟故障時保護資料不遺失。
常見 RAID 等級
| RAID 等級 | 最少磁碟數 | 可容忍故障 | Usable 比例 | 讀寫特性 | 適用場景 |
|---|---|---|---|---|---|
| RAID 0 | 2 | 0 顆(無保護) | 100% | 讀寫均快 | 暫存、不重要資料 |
| RAID 1 | 2 | 1 顆 | 50% | 讀快、寫同速 | 作業系統磁碟、小量關鍵資料 |
| RAID 5 | 3 | 1 顆 | (N-1)/N | 讀快、寫有 Parity 計算開銷 | 一般讀取密集場景 |
| RAID 6 | 4 | 2 顆 | (N-2)/N | 讀快、寫開銷更高 | 企業儲存主流,雙重保護 |
| RAID 10 | 4 | 每組鏡像各 1 顆 | 50% | 讀寫均快 | 高 IOPS + 高保護需求 |
RAID 5 vs RAID 6 的選擇
RAID 5 只能容忍 1 顆磁碟故障。在大容量磁碟普及後,RAID 5 重建期間發生第二顆故障的機率顯著上升,因此企業儲存已逐漸從 RAID 5 轉向 RAID 6(雙 Parity)作為標準。
HDD 的重建時間與磁碟容量成正比。以 12 TB HDD 為例,RAID 6 重建可能需要 24~48 小時,在這段期間陣列處於只剩單一 Parity 保護的狀態。
NVMe SSD 因為讀取速度遠高於 HDD,重建時間大幅縮短(通常數小時內完成),這是 All-Flash 在資料保護方面的隱性優勢之一。
傳統 RAID 的核心問題:重建瓶頸
傳統 RAID 的重建只依賴固定的幾顆磁碟(故障磁碟的同組磁碟),其他磁碟閒置不參與。這造成兩個問題:
- 重建速度慢:只有少數磁碟參與 I/O,無法充分利用所有磁碟的頻寬
- 重建期間效能衝擊:參與重建的磁碟同時要服務正常 I/O,競爭嚴重
這個問題催生了分散式 RAID 的出現,見下一節。
1.3 分散式 RAID(各品牌實作對照)#
分散式 RAID(Distributed RAID)是對傳統 RAID 重建瓶頸的根本性解決方案。核心思想是:將 Parity 和資料條帶(Stripe)分散到陣列中的所有磁碟,而不是固定的幾顆,讓所有磁碟都能參與重建。
分散式 RAID 的核心優勢
| 比較項目 | 傳統 RAID-6 | 分散式 RAID-6 |
|---|---|---|
| Parity 分佈 | 固定在特定磁碟 | 分散在所有磁碟 |
| 重建時參與磁碟數 | 同組幾顆 | 所有磁碟 |
| 重建速度 | 慢(受限於少數磁碟頻寬) | 快(所有磁碟平行參與) |
| 重建期間效能影響 | 大(同顆磁碟同時服務 I/O 和重建) | 較小(負載分散) |
| Usable 比例 | 略高 | 略低(約 83%,依配置) |
IBM FlashSystem 的 DRAID 實作
IBM 將分散式 RAID 稱為 DRAID(Distributed RAID),是 FlashSystem 全系列的預設 RAID 類型。常見配置為 DRAID-6(10+P+Q),代表每個 Stripe 有 10 個 Data 磁碟、1 個 P Parity、1 個 Q Parity,合計 12 個 Stripe 單元分散在所有磁碟上。
實際上 18 顆磁碟的 FS7300,DRAID-6(10+P+Q)的 Usable 約為物理容量的 83%,詳細計算可用 IBM Storage Modeller 驗證(見 Part 6 Storage Modeller 章節)。
各品牌的分散式 RAID 實作名稱
分散式 RAID 的概念各品牌都有,只是名稱和細節實作不同:
| 品牌 | 產品 | 名稱 | 說明 |
|---|---|---|---|
| IBM | FlashSystem 全系列 | DRAID | 本章示範,DRAID-6(10+P+Q)為常見配置 |
| NetApp | ONTAP(AFF) | RAID-DP / RAID-TEC | RAID-DP 為雙 Parity,RAID-TEC 為三 Parity,Parity 分散在所有磁碟 |
| Dell | PowerStore | Progressive RAID | 動態調整保護等級,磁碟越多保護越強 |
| Everpure(Pure) | FlashArray | RAID-3D | 三維 Parity 保護,可容忍多顆同時故障 |
| HPE | Alletra / Nimble | RAID 6 / Triple Parity | Nimble 採用 Triple+ Parity,保護能力更強 |
| Hitachi | VSP | RAID 6(分散式實作) | Parity 分散設計,細節依型號而異 |
1.4 儲存控制器架構#
儲存控制器是磁碟和主機之間的大腦,負責處理所有 I/O 請求、執行 RAID 計算、管理 Cache、以及對主機呈現邏輯卷(LUN)。控制器的設計直接決定了儲存系統的可用性和效能特性。
單控制器 vs 雙控制器
| 架構 | 說明 | 控制器故障影響 | 適用場景 |
|---|---|---|---|
| 單控制器 | 一個控制器處理所有 I/O | 儲存設備完全停止服務(單點故障) | 入門級、非關鍵應用 |
| 雙控制器(Active-Active) | 兩個控制器同時服務 I/O,互相備援 | 另一個控制器接手,服務不中斷 | 企業級儲存標配 |
| 雙控制器(Active-Passive) | 一個主動服務,一個待命 | 切換到待命控制器,短暫中斷 | 成本敏感的企業場景 |
現代企業儲存幾乎全部採用 Active-Active 雙控制器,IBM FlashSystem、NetApp AFF、Everpure FlashArray 均如此。兩個控制器同時服務 I/O,不只是備援,也是效能的水平擴展。
Cache 的角色
控制器內建 DRAM Cache,作為磁碟和主機之間的緩衝層,有兩個核心功能:
- Read Cache:快取近期讀取的資料,下次讀取相同資料時直接從 Cache 回傳,不需要讀磁碟。Cache Hit Rate 越高,平均延遲越低。
- Write Cache(Write-back):寫入請求先寫入 Cache 就回應主機完成,再非同步寫入磁碟,大幅降低寫入延遲。代價是需要斷電保護機制。
Write-back vs Write-through
| 模式 | 寫入流程 | 延遲 | 斷電風險 |
|---|---|---|---|
| Write-back | 資料寫入 Cache → 回應主機完成 → 非同步寫磁碟 | 低(Cache 速度) | 有(Cache 資料未寫入磁碟時斷電會遺失)→ 需要 NVRAM 或電池保護 |
| Write-through | 資料同步寫入 Cache 和磁碟 → 回應主機完成 | 高(磁碟速度) | 無(資料已在磁碟) |
Cache 斷電保護
Write-back Cache 必須有斷電保護機制,否則斷電瞬間 Cache 中未寫入磁碟的資料會遺失:
- NVRAM(Non-Volatile RAM):斷電後資料保留在 NVRAM 中,供電後繼續寫入磁碟。IBM FlashSystem 採用此方式。
- 電池備援(BBU / Supercapacitor):斷電時由電池供電,讓 Cache 資料有時間寫入磁碟。部分舊一代設備使用。
- Cache 鏡像:兩個控制器的 Cache 互相鏡像,一個控制器故障時資料在另一個控制器的 Cache 仍存在。
1.5 All-Flash vs Hybrid 架構取捨#
在 SSD 成本尚未大幅下降的早期,Hybrid 混合陣列(Flash + HDD 混合)是企業儲存的主流過渡方案。理解 Hybrid 的設計邏輯,有助於理解為什麼 All-Flash 最終取而代之。
Hybrid 陣列的設計邏輯
Hybrid 陣列的核心思想:用少量 SSD 作為 HDD 的 Cache 層,讓熱資料留在 SSD,冷資料降至 HDD。主機感受到的平均效能介於純 SSD 和純 HDD 之間,但成本遠低於純 SSD。
All-Flash 取代 Hybrid 的原因
| 面向 | Hybrid 陣列 | All-Flash 陣列 |
|---|---|---|
| 效能一致性 | 依賴 Cache Hit Rate,有不確定性 | 所有 I/O 都在 Flash,效能可預測 |
| 延遲 | Cache Miss 時退化到 HDD 延遲(ms) | 所有 I/O 均為 µs 等級延遲 |
| 容量規劃複雜度 | 需要評估 Working Set 大小 | 直接規劃總容量,無需考慮 Cache |
| 成本趨勢 | Flash 成本下降後優勢縮小 | NVMe SSD 單位成本持續下降,TCO 已與 Hybrid 相當 |
| 功耗 / 空間 | HDD 耗電多、佔空間大 | All-Flash 功耗低、密度高 |
NVMe-oF:下一個演進方向
NVMe over Fabrics(NVMe-oF)讓 NVMe 的低延遲特性可以透過網路(FC、RoCE、iWARP)傳遞到遠端儲存,打破了 NVMe 只能本機連接的限制。這是目前企業儲存網路的下一個演進方向,詳細說明見 Part 2 SAN 網路層。