RHEL6 有提供 Fibre-Channel over Ethernet (FCoE) Target Set up 可以使用軟體的方式建立 FCoE Target 的儲存裝置.
主要會用到的指令是 lldpad , dcbtool , fcoemon 以及 targetcli
Qlogic CNA QLE2672 (EP8324)
我使用了 Qlogic CNA QLE2672 ,但是照著 RHEL6 提供的步驟,做到第四不就無法繼續下去了.
# dcbtool sc ethX dcb on Command: Set Config Feature: DCB State Port: eth1 Status: Device not found, link down or DCB not enabled
/var/log/messages 會出現
# cat /var/log/messages Oct 21 15:46:18 RHEL6-1 lldpad: bound ctrl iface to /com/intel/lldpad Oct 21 15:46:23 RHEL6-1 fcoemon: error 111 Connection refused Oct 21 15:46:23 RHEL6-1 fcoemon: Failed write req P len 1
不過依據這錯誤訊息去搜尋也找不到相對應的解決方案.
Intel x520 (82599)
後來查到 Intel Open Fibre Channel over Ethernet (FCoE) 應該是有搭配的卡才能做.
The Open FCoE solution with Intel’s X520 family of adapters (如下所示)
- Intel® Ethernet Server Adapter X520-SR1
- Intel® Ethernet Server Adapter X520-DA2
- Intel® Ethernet Server Adapter X520-SR2
但試完還是一樣不行. <-- 有支援 VN2VN
FC-BB-6
後來我同事建議我去查一個協定 FC-BB-6 ,查完才知道為什麼??
雖然 FCoE 主要是將 Fiber Channel 的資料封裝在 Ethernet ,在做 FCoE 傳輸時實際上會用到 2 種協定 Protocol 1.FC 初始化協定(FIP: FC Initialization Protocol)和 2. FCoE(Fibre Channel over Ethernet) 協定. 問題是出在 FIP 這個協定在 Discovery 階段時 Provides visibility between ENodes and FCFs (FC Forwarder) 與 Login 階段時 Creates association between ENode and FCF 都必須要有 FCF (FC Forwarder) 存在.
我們來看一下 FCoE 的拓譜網路圖.
圖片出自於
http://www.snia.org/sites/default/education/tutorials/2012/spring/ networking/JohnHufferd_FCoE_Direct_End_Node.pdf
在 拓譜網路圖 1, 2 都存在 FCoE switch 所以 FIP 在使用 FCF 是沒有問題的,但拓譜網路圖 3 時 FIP 在使用 FCF 時會出現問題( Qlogic QLE2672 只支援 FC-BB-5 ,官方網站沒有說明倒是在 Cisco 的 datasheet_2600.pdf 有說明),所以在 FC-BB-6 定義了一個新的 FCoE Direct End Node to End Node(也叫 FCoE VN2VN) 的連結方式.有支援 VN2VN 的時候才能使用 拓譜網路圖 3.
關於 VN2VN 與 VN2VF 請參考 https://benjr.tw/93252
在 http://sniablog.org/?cat=96 Q&A 也很清楚的點出 VN2VN 和 VN2VF 的差異.
Question #6: Please explain difference between VN2VN and VN2VF
Answer #6: The currently deployed version of FCoE, T11 FC-BB-5, requires that every endpoint, or Enode in FC-speak, connect with the “fabric,” a Fibre Channel Forwarder (FCF) more specifically. That’s VN2VF. What FC-BB-6 adds is the capability for an endpoint to connect directly to other endpoints without an FCF between them. That’s VN2VN.
下面詳細說明了 FCoE w/o VN2VN 與 FCoE w/ VN2VN 的差異性
FIP Protocol for FCoE/VN2VN Networks(FC-BB-6)
Discovery Phase
- FCoE (w/o VN2VN)
- FCFs Discover each other & form a Fabric
- ENodes Discover FCFs & Potential VN_Port <- -> VF_Port pariring
- FCoE VN2VN
VN2VN capable ENodes Discover each other
Login Phase
- FCoE (w/o VN2VN)
ENodes chose among discovered FCFs’ Ports for Virtual Link connections - FCoE VN2VN
VN2VN capable ENodes chose among discovered VN2VN Ports for Virtual Link connections