RHEL5.4 / RHEL6 和 SLES11 都將支援 FCoE initiator 端的功能.不過只有 10 G 的網卡支援這項功能, FCoE 照字面的意思就是將傳統的 Fiber Channel 指令封裝在 Ethernet 的訊框 (frames),注意是訊框, FCoE 不走 TCP/IP .而 FCoE 推出來的最主要的原因就是為了整合 Fiber channel Storage 的環境到 Ethernet 的環境.那問題是我的 Ethernet Switch / Fiber Switch / Storage / NIC 要如何配置呢!!
圖片出至於 : http://service.chelsio.com/drivers/linux/open_fcoe/T3_Open_fcoe.pdf
目前很多廠商都開始支援 Fiber channel + Ethernet 整合性的環境,這就是 DCB(Data center bridging),雖然不同的廠商使用了不同的稱呼 Converged Enhanced Ethernet (CEE), Data Center Ethernet (DCE-Cisco),Enhanced Ethernet for Data Center (EEDC) 但實際上他們所指的還是 IEEE 和 IETF 所定義的 DCB(Data center bridging)
http://en.wikipedia.org/wiki/Data_center_bridging
看一下圖示:要如何整合 Fiber channel + Ethernet + FCoE initiator 的環境呢!!其中一定必須要有 FCoE switch / FCF (FCoE Forwarder) 他是一種特別的 switch 他除了可以接受一般 Ethernet type 的封包外他還有辦法辨析處理 Fibre Channel 封包的資料.當然也包括了 FCoE 的封包資料.
如 cisco 5020 / 5010 型號的 switch 就是具有這特殊功能的 switch.
所以不管原先的環境是透過 Ethernet Switch 或是 Fiber Channel Switch 但中間必須有一個 FCoE switch 或是 FCF (FCoE Forwarder) 這樣才能讓 Fiber channel storage + Ethernet 共處.
在以往 Fiber Channel 是高速儲存裝置的代名詞 1 / 2 / 4 / 8 G ,但這幾年網卡的速度提升的太快了,從傳統的 10M / 100M / 1Gbit Ethernet 網路頻寬一下跳到 10G Ethernet – 10.3125 Gbits (採用64B/66B編碼),所以現在一般的網路也可以擔任起高速傳輸的重擔.但傳統 Fiber channel 的儲存裝置在企業環境已經使用已久不太可能一下全部汰換到 Ethernet 的環境,所以為了將這兩種環境整合在一起,而有了 FCoE 的設計.目前包括 Brocade ,思科(Cisco),Emulex,英特爾(Intel) 以及 QLogic 等供應商們都表示會推出支援 FCoE 的產品.
目前手邊有一張使用 Qlogic EP8112 chipset,這一張 CNA 卡為 QLE8142-SR(Qlogic),什麼是 CNA (converged network adapter) 呢!!你可以簡單把它想像成 Enthernet + Fiber Channel(FCoE) 同時做在同一張卡上我們可以在 Linux 底下使用 #lspci 查看一下.的確可以同時看到 NIC 和 FCoE 的裝置.
benjr # lspci ……… 1f:00.0 Ethernet controller: QLogic Corp. 10GbE Converged Network Adapter (TCP/IP Networking) (rev 02) 1f:00.1 Ethernet controller: QLogic Corp. 10GbE Converged Network Adapter (TCP/IP Networking) (rev 02) 1f:00.2 Fibre Channel: QLogic Corp. 10GbE Converged Network Adapter (FCoE) (rev 02) 1f:00.3 Fibre Channel: QLogic Corp. 10GbE Converged Network Adapter (FCoE) (rev 02)
把他當一般網卡使用時不需要注意太多,但當他要當成 FCoE 的 Fiber Channel 裝置時,需要很多裝置來支援,首先你的 switch 需要支援 FCoE 才能讓 NIC 與 Fiber Channel 裝置同時存在同一台 switch 上!!
我們來看看 Qlogic 8112 這張 CNA 卡的 SPEC.
http://www.qlogic.com/Products/Controllers/Pages/ConvergedNetworkControllers.aspx
The QLogic 8200 Series Converged Network Controllers include models intended for LAN-on-Motherboard (LOM) and embedded storage target applications.
- PCI Express Gen2 x8
- Dual 10Gbps and quad 1Gbps ports on a single controller
- Integrated 10GBase-KR and 10GBase-T PHYs
- Concurrent TCP/IP, FCoE, and iSCSI protocol support with full hardware offload
- Industry standard SR-IOV and QLogic's switch-agnostic NIC Partitioning (NPAR)
- Wake-on-LAN including Magic Packet recognition
- Common drivers and API’s with existing QLogic NIC, FCoE, and iSCSI products
這張 CNA (Converged Network Adapters)卡具備了 FCoE 和 iSCSI 硬體 Offload e的功能,所以他可以同時支援 LAN (TCP/IP) 和 SAN (FCoE, iSCSI)的流量,且速度高達 10Gbps Ethernet .
還有一 個問題那會不會有 FCoE 像是 iSCSI Target 以 software 的解決方案呢!!是,有的就在 Open FCoE http://www.open-fcoe.org/wordpress/frame.php?url=http://www.open-fc.org/openfc/wiki/index.php
不過我嘗試編譯一下 SCST 和 open-fcoe-target ,SCST 編譯上沒遇到問題但 open-fcoe-target 卻得到錯誤訊息!!目前還不知要朝哪一個方向作修改.
[root@benjr open-fcoe-target]# make SCST=../scst install_tgt [ ! -f openfc.ko ] || make clean #clean since initiator modules exist make -C /lib/modules/2.6.32-19.el6.x86_64/build M=/driver/open-fcoe-target SCST=../scst CONFIG_TGT:=m make[1]: Entering directory `/usr/src/kernels/2.6.32-19.el6.x86_64' LD /driver/open-fcoe-target/built-in.o CC [M] /driver/open-fcoe-target/fcoe/fcoe_dev.o /driver/open-fcoe-target/fcoe/fcoe_dev.c: In function fcoe_xmit: /driver/open-fcoe-target/fcoe/fcoe_dev.c:287: error: struct scatterlist has no member named page /driver/open-fcoe-target/fcoe/fcoe_dev.c:294: error: struct scatterlist has no member named page /driver/open-fcoe-target/fcoe/fcoe_dev.c: In function fcoe_recv_flogi: /driver/open-fcoe-target/fcoe/fcoe_dev.c:601: error: too many arguments to function dev_unicast_delete /driver/open-fcoe-target/fcoe/fcoe_dev.c:603: error: too many arguments to function dev_unicast_add make[2]: *** [/driver/open-fcoe-target/fcoe/fcoe_dev.o] Error 1 make[1]: *** [_module_/driver/open-fcoe-target] Error 2 make[1]: Leaving directory `/usr/src/kernels/2.6.32-19.el6.x86_64' make: *** [tgt] Error 2
其他與 Fiber channel Target based 相關的套件與作業系統.
- Third I/O(Iris)
https://benjr.tw/28017 - comstar
http://hub.opensolaris.org/bin/view/Project+comstar/ - openfiler
http://www.openfiler.com - open-E
https://benjr.tw/28022 - SANBlaze
http://www.sanblaze.com/
除了 scst 可以安裝在 linux 系統上, Third I/O – Iris , OpenSolaris – comstar , openfiler , open-e 都是原生 bare metal os 安裝.
問題可能在此
別忘了, 假如你有重新編譯kernel
必須更動下述檔案
/usr/include/scsi 指到 /include/scsi
/usr/include/linux 指到 /include/linux
才行
我也遇到同样的问题,想问问你现在是如何解决这个问题的?
目前還找不出解決方式
今天同事轉寄給我的一封信件讓我很感興趣,標題是 "英特爾Open FCoE軟體整合LAN和SAN" 出自於 http://www.ithome.com.tw/itadm/article.php?c=65880 大概的內容是 – 英特爾推出免費的Open FCoE軟體,直接透過伺服器的作業系統來執行FCoE傳輸協定"
我想大該是參考了 Intel 官方 Blog http://newsroom.intel.com/community/intel_newsroom/blog/2011/01/27/intel-simplifies-the-data-center ,我仔細找了一下 open FCOE 的確在年前有新版可以使用 2.6.37 compatible open-fcoe release available http://www.open-fcoe.org/open-fcoe/news/2.6.37-compatible-open-fcoe-release-available
下載點 http://www.open-fcoe.org/open-fcoe/downloads/open-fcoe-2.6.37.tar.gz/view