iThome

光纖通道乙太網路(Fibre Channel Over Ethernet,FCoE)被視為是極具潛力的新一代儲存區域網路規格,透過將光纖通道協定的封包封裝在乙太網路訊框內,從而讓光纖通道協定運行在乙太網路上。

藉此一方面可拓展光纖通道儲存區域網路(SAN)應用範圍,利用乙太網路基礎建設來降低SAN的導入成本;另一方面也可將區域網路(LAN)與儲存區域網路整合為一,簡化企業資料中心網路架構。

雖然FCoE的物理層採用了10Gb乙太網路,但其基於的是CEE(Convergence Enhanced Ethernet)/DCB(Data Center Bridging)增強型乙太網路,而非一般IEEE 802.3ae 10Gb乙太網路。要解析封裝在FCoE訊框中的光纖通道協定(FCP)封包,仍須透過可支援FCoE的網路設備,而不能使用一般10GbE網路設備。

在網路端,必須搭配支援FCoE與CEE/DCB的10GbE交換器,如Brocade的8000系列交換器、Cisco的Nexus 5000系列交換器等;在前端伺服器,則可視用戶的需要,安裝聚合網路配接卡(Converged Network Adapter,CNA),或採用搭配FCoE Initiator軟體的10GbE網路卡等。

不同FCoE配接卡的選擇

以往網路介面卡(Network Interface Card,NIC)大都是專業網路設備廠商的領域,如10GbE網路卡的主要供應商為Intel、Chelso、Mellanox、Planet(普萊德)等,但FCoE技術由於同時涵蓋了區域網路與儲存網路,讓儲存設備廠商也有了切入點,因此在FCoE的伺服器端,便形成了三種不同的配接卡選擇。

(1) 聚合網路配接卡(CNA)。CNA卡大都屬於Emulex、Qlogic與Brocade等傳統光纖通道主機匯流排配接卡(Host Bus Adapter,HBA)廠商的產品,擁有完整的硬體卸載(Offload)引擎,既可處理封裝在乙太網路訊框中的TCP/IP資料封包,也可處理FCoE訊框(封裝了FCP封包的乙太網路訊框),典型的產品有Qlogic的OLE8042、OLE8150、OLE8050系列與Brocade的1020,以及Emulex的OneConnect系列中的F系列與LightPulse 21000系列等。

(2) 具備FCoE硬體卸載引擎的10GbE網路卡。這類網路卡是由傳統的NIC廠商推出,擁有不同程度的FCoE卸載功能,可減輕主機處理FCoE訊框時的運算負擔,但卸載功能不如CNA卡那樣完整,仍須透過Initiator軟體支援。典型產品有Intel的X520系列,以及Mellanox的ConnectX EN與ConnectX-2 EN等。

(3) 一般的10GbE網路卡。僅具備一般區域網路傳輸用的TCP卸載引擎,但不具備FCoE卸載功能,相關運算工作必須透過Initiator軟體交由主機承擔。

CNA與NIC介面卡

顯然的,CNA卡的運用彈性與效能要更優於NIC卡,CNA卡可視為一般10GbE網路介面卡與光纖通道SAN用FC HBA的整合,安裝了一片CNA卡之後,就同時兼有LAN與FCoE SAN兩種功能,由於規格完全與IEEE 802.3ae 10GbE網路相容,即使不用於FCoE,CNA卡也能當成普通的10GbE網路卡使用,直接連接一般的10GbE交換器。而且憑藉著完整的硬體卸載引擎,耗用的主機運算資源也相對較少。

相對的,一般的10GbE網路卡只能用於解析TCP/IP封包,沒有解析FCoE訊框的能力,必須透過FCoE Initiator軟體,才能連接FCoE,但如此一來,主機也須承擔較高的運算負擔。

但從另一方面來看,CNA卡的價格也明顯高於10GbE NIC。目前Emulex與Qlogic兩大SAN介面卡廠商推出的CNA卡,價格大都在1,000~1,800美元之間(光纖,不含SFP模組)。而一般的10GbE NIC,價格則大致在500~1,200美元之間(光纖或銅纜,不含SFP模組),CNA卡與普通10GbE NIC之間存在著相當的價格落差。

此外,10GbE NIC的問世時間也比CNA卡更早,較早投入10GbE領域的用戶都是選擇10GbE NIC。因此對於預算有限、或已在10GbE設備上付出相當投資的用戶來說,若有適合的FCoE Initiator軟體可用,10Gb NIC仍是相當有吸引力的FCoE配接卡選擇。

Open FCoE提供低價連接方案

為擴展FCoE的應用範圍,減少對專用硬體的依賴,目前至少有兩個Open FCoE計畫正在進行當中,試圖發展針對特定作業系統的FCoE initiator與Target軟體,以便利用普通的10GbE網路卡來進行FCoE端點的部署。

其中一個計畫是由Intel資深軟體工程師Robert Love發起的Open-FCoE,由Open-FCoE.org管理,主要針對Linux平臺。另一個計畫則在Sun的OpenSolaris項目之下,主要針對Solaris平臺。

Open-FCoE.org的Linux解決方案

2007年啟動的Open-FCoE計畫,目的是發展Linux下的原生FCoE程式碼,讓任何能支援暫停訊框(Pause Frame)功能(一種增強型乙太網路功能)的10GbE NIC卡,都能透過Opem-FCoE的程式碼來執行FCoE的封包收發工作。換言之,也就是發展可以在Linux環境下運作的FCoE initiator軟體,以便利用普通的10GbE NIC連上FCoE SAN。

Open-FCoE.org的FCoE Initiator與執行FCoE所必需的底層DCB驅動程式,已在2009年4月被納入Linux Kernel 2.6.29之中,以這個Linux Kernel版本為基礎,Open-FCoE也開始進入RHEL與SUSE等商用Linux版本之中

OpenSolaris的Solaris解決方案

繼Intel主導的Open-FCoE之後,Sun也在2009年8月正式發布了OpenSolaris的FCoE initiator與Target軟體,只要使用者的10GbE NIC支援暫停訊框或優先流量控制(Priority Flow Control,PFC)功能,就能利用OpenSolaris的FCoE Transport與Virtual FCA驅動程式,讓安裝標準10Gb NIC的Solaris伺服器扮演FCoE的Initiator或Target設備。

網路卡廠商的軟體式解決方案

透過Open Source的FCoE initiator軟體,理論上能讓任何安裝了標準10GbE NIC卡的伺服器連接FCoE網路。除了Open Source類型的Iniator軟體外,也有一些網路卡廠商提供了搭配自身產品的FCoE驅動程式,其中動作最積極的,便是當前最大的10GbE NIC供應商Intel。

Intel的FCoE驅動程式軟體

Intel認為FCoE應該是一項免費提供的功能(儘管執行FCoE所需的10GbE NIC並非免費),因而推出了適用於該公司X520系列10GbE NIC卡的FCoE驅動程式。

X520是以Intel 82599 10GbE網路控制晶片為基礎的10GbE NIC,雖然不像Emulex或Qlogic的CNA卡能提供完整的FCoE協定硬體卸載功能,但82599晶片也提供了符合CEE/DCB要求的流量控制機制,以及發送與接收CRC處理、直接資料配置(Direct Data Placement)等幾項可支援FCoE傳輸的硬體卸載功能。

儘管Intel宣稱,X520的FCoE卸載功能足以滿足為最常用的指令提供卸載的需求,但本質上X520對FCoE的支援仍屬於軟體式,仍需依賴主機上執行的Initiator軟體。

Intel用於搭配X520網路卡的Intel Network Connections software套件,在15.4版以後都提供DCB與FCoE的支援,套件內含適用於Windows與Linux的FCoE Initiator,這些Initiator軟體均已通過Windows Server 2008 SP2/R2、Novell SUSE Linux Enterprise 11 SP1與Red Hat Enterprise Linux 6等4款作業系統、Brocade與Cisco的7款FCoE與FC交換器,以及EMC與NetApp儲存設備的相容性認證。預期今年下半年還能取得Oracle的Linux相容性認證。

只要在伺服器上安裝X520系列10GbE NIC卡與配套的Intel軟體套件,然後在網路卡驅動程式控制頁面上勾選啟用DCB,再進入FCoE屬性選單,就可看到該伺服器允許連接的FCoE LUN。透過開機選項選單,還可設定讓伺服器透過FCoE網路上的磁碟區開機,也就是SANboot功能。

其他網路卡廠商的Open FCoE支援情況

Intel的FCoE Initiator只適用於Intel自身的X520系列網路卡,其他10GbE NIC廠商尚沒有像Intel這樣直接提供搭配自身產品的Initiator軟體套件,但只要網路卡本身能支援CEE/DCB所要求的流量控制功能,理論上都能透過Open-FCoE.org或OpenSolaris的Open FCoE Initiator軟體,來提供類似功能。當然此時在作業平臺支援上就會受Open FCoE Initiator軟體所限,只能用在Linux或Solaris平臺。

如Mellanox就提供了基於Open-FCoE.org軟體模組的OFED軟體套件,可適用於該公司的ConnectX EN與ConnectX-2 EN系列10GbE網路卡。

Chelsio也宣稱驗證了該公司1.1.2-ko版網路卡驅動程式,與內含在RHEL 5.3(2.6.30.9版Kernel)中的Open-FCoE Initiator軟體相容性,透過測試證明該公司10GbE NIC可搭配Open-FCoE Initiator軟體,透過不同網路拓墣結構經由FCoE交換器正常連接與存取FC儲存設備,並能正常執行Zoning等管理設定作業。

Broadcom目前也為該公司的10GbE網路控制晶片,提供了基於OpenFCoE.org軟體模組的FCoE解決方案。

另外Sun(現在的Oracle)的Multithreaded 10GbE網路卡,則能支援OpenSolaris的FCoE initiator軟體。

成本與效能的抉擇

CNA與10GbE NIC之間的選擇,其實就是儲存廠商與傳統網路卡廠商之間的競爭。儲存廠商的CNA卡以完整的硬體卸載功能為訴求,聲稱擁有效能方面的優勢;傳統網路卡廠商的10GbE NIC,則以更低的成本為訴求,宣稱只要搭配免費的Initiator軟體就能連上FCoE。

就應用的觀點來看,無論是硬體式解決方案的CNA卡,或是10GbE NIC搭配FCoE Initiator軟體的軟體式解決方案,同樣都能達到支援FCoE的目的。

雖然CNA卡廠商抨擊軟體式解決方案有占用主機資源大、且效能較低的缺點,這對伺服器虛擬化應用來說是個致命傷—伺服器虛擬化應用會大幅拉高實體主機的處理器利用率,若FCoE Initiator軟體占用的處理器資源過高,顯然會影響到主機效能,從而拖累虛擬化應用的執行效率。

但前述問題,主要是針對早期那些完全沒有FCoE卸載功能的10GbE NIC而言,當前網路卡廠商推出的新一代10GbE NIC,或是網路控制晶片(如Intel 82599、Brodecom的BCM57112等),都會整合一部份FCoE卸載功能。

根據Intel委由Demartek實驗室所作的Exchange與SQL Server效能對比測試(分別使用Intel的X520-SR2、Emulex的OCE-10102FM與Qlogic的QLE8142等三種介面卡),若10GbE NIC能提供一定程度的FCoE卸載功能,並搭配多核心處理器的伺服器,則Intel X520 10GbE NIC的I/O處理效能與Emulex及Qlogic的CNA卡相比,並沒有明顯差異。

在處理器利用率方面,Demartek的測試也顯示,Intel X520執行FCoE傳輸作業時占用的處理器資源確實比CNA卡更高,但也在6%以下(Emulex與Qlogic的CNA卡占用率則在2%~4%之間),還不至於對主機造成太大的負擔。

換言之,儘管硬體卸載功能或許不如CNA卡那樣完整,但擁有部份FCoE卸載功能的10GbE NIC搭配FCoE initiator軟體的組合,效能大致也足以應付一般情況下的應用

內建伺服器決定應用主流

關於CNA與10GbE NIC卡在FCoE應用上的競爭,我們可參考先前在iSCSI領域出現過的類似情況。

iSCSI同樣是以乙太網路為基礎的儲存傳輸協定,使用者既可以普通的乙太網路卡搭配iSCSI Initiator軟體,來存取iSCSI儲存網路資源,也可以使用純硬體式的iSCSI HBA卡。儘管iSCSI HBA效能高於普通網路卡+iSCSI Initiator軟體的組合,但由於幾乎所有個人電腦與伺服器主機版很早就已全面內建GbE晶片,對使用者來說,乙太網路卡幾乎可視為先天就已擁有的資源,只要再搭配免費的iSCSI Initiator軟體,就能完成連接iSCSI網路的準備(較新的作業系統也都內建了iSCSI Initiator軟體)。

因此使用者幾乎可以近乎免費的方式,取得普通網路卡+iSCSI Initiator軟體的組合,這種iSCSI解決方案自然也吸引了絕大多數用戶的選用,而且較新的乙太網路控制晶片,也都內建了iSCSI硬體卸載功能,有效縮小了普通乙太網路控制晶片與專用iSCSI HBA間的效能差距。以致需額外購買、且相對高價的iSCSI HBA,就只有極少數對效能非常敏感的用戶才會使用。

類似的情況也可套用到FCoE領域,目前10GbE尚未成為伺服器主機板的標準配備,使用者必須另外購買獨立的介面卡才能取得這項功能,在同樣從零起步的情形下,CNA卡與10GbE NIC卡的機會大致是平等的。

至於日後哪種方式會成為FCoE應用主流,就必須看CNA或10GbE NIC何者能被伺服器廠商接受、成為伺服器主機板標準內建配備而定。

顯然的,多數使用者更傾向成本較低的解決方案,從這個方向看來,10GbE NIC搭配FCoE Initiator軟體的解決方案似乎擁有更高的勝算,而且這個陣營還有Intel與Broadcom等網路控制晶片大廠的加持,隨著乙太網路從Gb世代逐漸過渡到10Gb世代,一旦這些廠商的10GbE網路控制晶片被多數伺服器廠商接受為主機板標準內建配備,顯然將會有效推動軟體式FCoE initiator的應用。

因此當Intel在今年1月底宣布將支援Open FCoE時,便獲得了眾多廠商響應。但問題是Intel的聲明相當含糊,僅有願景式的描述,而未明確對應到實際產品上。

目前Open FCoE較大的問題是缺乏對於Windows平臺的支援,Open-FCoE.org與OpenSolaris的FCoE Initiator都不支援Windows,微軟也尚未公布任何原生的Windows FCoE Initiator計畫。Intel雖然擁有可用於Windows的FCoE Initiator軟體,但這套軟體只能搭配Intel自己的X520網路卡使用,而不是適用於所有網路卡的通用Initiator軟體。

當然若微軟或Intel能推出可配合Windows使用、又不受特定網路卡硬體限制的通用FCoE initiator軟體,顯然將極有助於促進軟體式FCoE方案的普及。

不過CNA卡廠商也並非毫無機會。就目前來看,透過CNA卡的硬體式FCoE解決方案,在技術上仍比軟體式FCoE更成熟,不僅發展時間更久,各主要廠商的CNA卡產品也都已通過廣泛的相容性認證;相對的,Open-FCoE.org與OpenSolaris的Initiator或Target軟體初期仍存在許多問題,目前只有Intel的專屬Initiator軟體有經過較廣泛的測試認證。

此外,HP與IBM兩大伺服器廠商都已決定採用CNA作為旗下部份產品的標準配備,如HP就決定在BladeSystem刀鋒伺服器上,導入Emulex的CNA晶片,還決定OEM QLogic的CNA卡用於搭配ProLiant ML與DL系列伺服器。IBM則決定為該公司的Bladecenter系列刀鋒伺服器,選用Emulex的CNA晶片。

刀鋒伺服器是當前重要的伺服器虛擬化應用平臺,也是FCoE著重的應用型態之一,若CNA廠商能進一步吸引更多伺服器廠商採用,將有助於提高這類硬體式FCoE解決方案的普及率。

 

FCoE的三種典型部署方式

雖然目前原生支援FCoE的儲存設備仍然很少,但除了連接原生FCoE儲存設備外,用戶仍可透過DCB/CEE交換器與FC交換器的介接,讓FCoE伺服器端存取傳統的FC儲存設備,且能沿用原有的FC運作與管理模式。

基於不同的網路與儲存設備組態,FCoE可以有三種部署架構:

(1) 介接傳統FC交換器與FC儲存設備:伺服器透過CNA卡連接DCB/FCoE交換器,再透過DCB/FCoE交換器的FC埠連接另一臺獨立的FC交換器,最後連接傳統的FC儲存設備。
(2) 介接FC儲存設備:伺服器透過CNA卡連接DCB/FCoE交換器,然後透過DCB/FCoE交換器的FC埠連接FC儲存設備。
(3) 直接連接原生FCoE儲存設備:伺服器透過CNA卡連接DCB/FCoE交換器,然後透過DCB/FCoE交換器連接FCoE儲存設備。

在前2種部署架構下,DCB/FCoE交換器可透過FCF(FCoE Forwarder,FCF)功能,將FCoE訊框拆解並轉為FC訊框,然後傳遞到標準的FC SAN上,因此可在一端連接DCB/CEE增強型乙太網路,另一端直接連接標準的FC SAN。

 

熱門新聞

Advertisement