PART 02 / CORE CURRICULUM

SAN 網路層

從 Block / File / Object 的根本差異出發,深入 Fibre Channel 協定、iSCSI、NVMe-oF 的原理與選型邏輯,掌握 Zoning 隔離設計與多路徑備援。本章為純通用概念,適用所有品牌儲存環境。

通用概念 基礎必讀

2.1 SAN 基本概念#

要理解 SAN,需要先從儲存資料的三種根本方式談起,因為 SAN 只是其中一種,選錯了架構會造成很多不必要的複雜度。

Block / File / Object:三種儲存類型

類型存取方式主機看到的典型協定適用場景
Block 以固定大小的 Block 為單位讀寫,主機自行管理檔案系統 裸磁碟(LUN),自行格式化 FC、iSCSI、NVMe-oF 資料庫、VM Datastore、核心應用
File(NAS) 以檔案和目錄為單位,由儲存設備管理檔案系統 網路磁碟機 / 掛載點 NFS(Linux)、SMB/CIFS(Windows) 檔案共享、Home Directory、備份
Object 以物件(Object)為單位,透過 API 存取,無目錄結構 S3 API 端點 S3、Swift 大規模非結構化資料、備份目標、AI 資料湖

DAS / NAS / SAN 的差異

DAS 主機 儲存設備 直接連接 單一主機獨占 ✗ 無法共享 NAS 主機 A 主機 B NAS 設備 IP 網路(NFS / SMB) File 層共享 ✓ 多主機共享檔案 SAN 主機 A 主機 B SAN Switch 儲存陣列 ✓ Block 層共享

為什麼企業核心應用偏好 Block SAN

資料庫(Oracle、DB2、SQL Server)和虛擬化平台(VMware ESXi)幾乎都偏好 Block SAN,原因有三:

  • 效能最優:主機直接管理 Block I/O,沒有 NAS 的 File 協定開銷,延遲最低
  • 一致性保證:Block 層的原子寫入(Atomic Write)比 File 層更容易保證資料一致性
  • 隔離性:每台主機的 LUN 相互獨立,不會因為其他主機的 I/O 行為互相干擾

2.2 Fibre Channel 架構#

Fibre Channel(FC)是專為儲存 I/O 設計的網路協定,從底層就針對低延遲、高可靠性做最佳化。與一般的 Ethernet 網路不同,FC 是一個 Lossless(無封包遺失)的傳輸協定,沒有 TCP/IP 的重傳機制,因此延遲更穩定。

FC 的基本組成

元件說明類比
HBA(Host Bus Adapter)主機端的 FC 介面卡,相當於網路卡Ethernet NIC
FC Switch連接主機和儲存設備的交換機,構成 FabricEthernet Switch
FC Director企業級大型 FC Switch,支援更多 Port、更高可用性Core Switch
光纖纜線FC 主要用光纖傳輸(也有短距離銅線版本)光纖 Ethernet

WWN 命名體系

FC 網路不用 IP 位址,而是用 WWN(World Wide Name)識別每個端點,格式類似 MAC Address:

WWNN(World Wide Node Name):識別一台設備(HBA 卡)
WWPN(World Wide Port Name):識別一個 Port(一張 HBA 通常有 2~4 個 Port)

格式範例:20:00:00:25:B5:AA:BB:CC(8 個 Byte,16 進位)
Zoning 設定通常以 WWPN 為單位(見 2.5 節)

FC Fabric 拓樸

主機 A 主機 B 主機 C HBA Port(WWPN) FC SWITCH A Fabric A ISL FC SWITCH B Fabric B Ctrl A Ctrl B 儲存 陣列 雙 Fabric 設計:每台主機各有一條路徑到 Fabric A 和 Fabric B 任一 Switch 故障,另一條路徑繼續服務(搭配 MPIO) ISL = Inter-Switch Link

FC 速度演進

世代速度實際吞吐量狀態
8GFC8 Gbps~800 MB/s仍有大量存量設備
16GFC16 Gbps~1.6 GB/s目前常見
32GFC32 Gbps~3.2 GB/s目前主流新建
64GFC64 Gbps~6.4 GB/s高端新設備導入中

為什麼大型企業偏好 FC

  • Lossless 傳輸:FC 協定設計上不允許封包遺失(透過 Credit-based Flow Control),不像 TCP/IP 需要重傳,延遲更穩定
  • 專用網路:SAN 網路和 LAN 完全分離,儲存 I/O 不受一般網路流量影響
  • 成熟可靠:FC 發展超過 30 年,在大型企業和金融業有極高的信任度與實績
  • 硬體加速:FC HBA 在硬體層處理協定,不佔用主機 CPU 資源

2.3 iSCSI 與 FCoE#

iSCSI:把 SCSI 指令跑在 IP 網路上

iSCSI(Internet Small Computer Systems Interface)將 SCSI 儲存指令封裝在 TCP/IP 封包中傳輸,讓標準 Ethernet 網路可以承載儲存 I/O,不需要額外的 FC 基礎設施。

比較項目Fibre ChanneliSCSI
傳輸介質FC 光纖 / 銅線(專用)標準 Ethernet(共用)
基礎設施需要 FC Switch、FC HBA標準 Ethernet Switch、NIC 即可
延遲低且穩定(Lossless)較高,受網路狀況影響
成本較高(FC 設備貴)較低(利用現有 LAN 設備)
管理複雜度需要懂 FC Zoning熟悉 IP 網路即可入門
適用場景大型企業、金融、電信、核心應用中小企業、非關鍵應用、成本敏感環境
iSCSI 效能優化
iSCSI 跑在 TCP/IP 上,封包處理會消耗主機 CPU。高效能環境建議使用支援 TOE(TCP Offload Engine)的網路卡,或直接使用 iSCSI HBA(硬體加速),避免 CPU 成為瓶頸。此外,iSCSI 建議走獨立的 VLAN 或專用 Switch,避免與一般資料流量競爭頻寬。

FCoE:在 Ethernet 上跑 FC(已逐漸式微)

FCoE(Fibre Channel over Ethernet)試圖將 FC 的 Lossless 特性和 Ethernet 的普及性結合,在 10GbE 以上的 Ethernet 上傳輸 FC 訊框。需要支援 DCB(Data Center Bridging)的 Switch 才能保證 Lossless。

由於 FCoE 需要特殊的 Switch 和 CNA(Converged Network Adapter),複雜度高、成本並未顯著低於 FC,加上 NVMe-oF 的出現提供了更好的選項,FCoE 目前已逐漸式微,不建議新建環境採用。

2.4 NVMe-oF(NVMe over Fabrics)#

NVMe 本來只能本機連接(PCIe 插槽),NVMe-oF 讓 NVMe 的低延遲特性可以透過網路傳遞到遠端儲存設備,是目前企業儲存網路的最新演進方向。

為什麼需要 NVMe-oF

傳統 SAN 協定(FC-SCSI、iSCSI)在設計時針對 HDD 的延遲特性,指令佇列深度有限(SCSI 最多 256 個)。NVMe SSD 的延遲已低至 50 µs,但如果還要走傳統 SCSI 協定,協定本身的開銷反而成為新的瓶頸。NVMe-oF 讓網路傳輸也能使用 NVMe 的指令集,真正發揮 NVMe SSD 的效能潛力。

三種 NVMe-oF 傳輸協定

協定傳輸介質延遲適用場景普及程度
FC-NVMe 現有 FC 基礎設施 極低 已有 FC 環境的升級路徑,不需要新建網路 企業最快落地
NVMe/RoCE 高速 Ethernet(25G / 100G)+ RDMA 極低(接近本地) 新建高效能環境、AI / HPC 成長最快
NVMe/TCP 標準 Ethernet(無需 RDMA) 低(高於 RoCE) 不需要 RDMA 硬體,部署最簡單 中小企業友善

NVMe-oF vs 傳統 SCSI 協定的根本差異

比較項目傳統 SCSI(FC / iSCSI)NVMe-oF
指令集SCSI 指令集(為 HDD 設計)NVMe 指令集(為 Flash 設計)
佇列深度最多 256 個指令最多 65,535 個佇列 × 65,536 深度
CPU 開銷SCSI 翻譯層有額外開銷原生 NVMe 無翻譯層
延遲受 SCSI 協定開銷影響接近本地 NVMe 延遲
目前普及狀況
FC-NVMe 在已有 FC 基礎設施的大型企業中推進最快,因為不需要新建網路。NVMe/TCP 因為不需要特殊硬體,在中小企業新建環境中受到關注。整體而言,NVMe-oF 仍在快速普及階段,目前大多數企業環境仍以傳統 FC-SCSI 為主。

2.5 Zoning 與 LUN Masking#

在 SAN 環境中,同一個 Fabric 上可能有數十甚至數百台主機和儲存設備。如果沒有隔離機制,任何一台主機都能看到所有儲存設備的所有 LUN,這在安全性和效能上都是災難。Zoning 和 LUN Masking 是 SAN 隔離的兩個層次。

Zoning:在 Switch 層隔離

Zoning 在 FC Switch 上設定,控制哪些 Port 或 WWN 可以互相「看見」並建立連線。同一個 Zone 內的成員可以溝通,不同 Zone 的成員完全隔離。

Zoning 類型設定方式優點缺點
Hard Zoning(Port Zoning) 依 Switch 的實體 Port 編號設定 最安全,Switch 硬體強制隔離,無法繞過 設備搬到不同 Port 就要重新設定 Zone
Soft Zoning(WWN Zoning) 依 WWPN 設定,與實體 Port 無關 設備換 Port 不需要改 Zone,管理彈性高 理論上可被 WWN 偽冒繞過(實務上罕見)

企業實務上多採用 WWN Zoning(依 WWPN),兼顧安全性和管理彈性。最佳實踐是一個 Zone 只包含「一台主機的 WWPN」加上「它需要存取的儲存設備 Port」,最小化存取範圍。

LUN Masking:在儲存設備層隔離

Zoning 控制「誰能連到誰」,LUN Masking 控制「連上去之後能看到哪些 LUN」。即使兩台主機在同一個 Zone,LUN Masking 還是可以讓它們各自只看到自己的 LUN。

雙層防護最佳實踐
Zoning(Switch 層)+ LUN Masking(儲存設備層)雙層設定,即使其中一層設定有誤,另一層還能提供保護。這是企業 SAN 環境的標準做法。

設定錯誤的常見後果

  • Zone 設定錯誤:主機看不到 LUN,應用無法啟動(最常見的 SAN 建置問題)
  • LUN Masking 遺漏:主機意外看到不屬於它的 LUN,若主機格式化該 LUN 會造成資料遺失
  • Zoning 過於寬鬆:不必要的連線路徑增加管理複雜度,也增加安全風險

2.6 多路徑(Multipath / MPIO)#

如果主機到儲存設備只有一條路徑,這條路徑上的任何一個元件故障(HBA Port、光纖纜線、FC Switch、儲存控制器 Port)都會導致儲存服務中斷。多路徑(Multipath / MPIO)透過同時建立多條獨立路徑,提供備援和效能提升。

主機 HBA Port 0 HBA Port 1 Fabric A FC Switch Fabric B FC Switch 儲存陣列 Ctrl A Port Ctrl B Port 兩條獨立路徑,任一路徑故障,另一條自動接手

路徑選擇策略

策略說明適用場景
Failover Only 一條主要路徑,另一條待命。主要路徑故障才切換 簡單備援,不需要負載均衡
Round-robin I/O 依序輪流分配到各條路徑 效能最佳化,充分利用所有路徑頻寬
ALUA(Asymmetric Logical Unit Access) 儲存設備告知主機哪條路徑是最優路徑(Optimized),主機優先使用 雙控制器儲存設備的標準模式,避免 Cross-controller I/O 開銷

各作業系統的 MPIO 實作

作業系統MPIO 元件說明
IBM AIXAIX MPIO(內建)AIX 原生多路徑,支援 ALUA,IBM 儲存設備整合最佳
IBM i內建多路徑IBM i 作業系統原生支援,透過 VIOS 或直接 FC 連接
LinuxDM-Multipath(device-mapper-multipath)開源,支援各廠商儲存設備,需設定 multipath.conf
WindowsMPIO(Microsoft 內建)Windows Server 內建,需安裝各廠商的 DSM(Device Specific Module)
VMware ESXiNative Multipathing Plugin(NMP)ESXi 內建,支援 PSP(Path Selection Policy)設定
⚠️ 常見 MPIO 設定問題
  • 路徑數量不對稱(一台主機有 4 條路徑,另一台只有 2 條),效能和備援能力不一致
  • 路徑策略設定錯誤(應用 ALUA 的儲存設備卻設成 Round-robin),導致跨控制器 I/O 增加延遲
  • Fabric A 和 Fabric B 的路徑全部接到同一台 FC Switch,失去雙 Fabric 的備援意義
下一步
Part 3 — 虛擬化儲存層原理(SAN 建好後,如何在上面建虛擬化層) Part 5 — 高可用與災難復原(多路徑 + HA 的完整設計)