天天看點

菲議存儲:實作 iSCSI Target的兩種方法

菲議存儲:實作 iSCSI Target的兩種方法

   胡雪菲 ◎ 2006-09-27 存儲線上

導讀:如 何實作一個iSCSI Target(軟體法) iSCSI Initiator 可用軟體方式實作,同樣的iSCSI Target 也行,不過優劣特點也相近,即是偏成本取向且不易達到專屬硬體的效能。且要更注意的是,iSCSI Initiator 軟體确實多半采随附的放送政策,而iSCSI Target 軟體則不同,多數的iSCSI Target 都要收費,僅少數免費,如UNH-iSCSI ?

關鍵詞:ExpertiSCSI

如何實作一個iSCSI Target(軟體法)

iSCSI Initiator 可用軟體方式實作,同樣的iSCSI Target 也行,不過優劣特點也相近,即是偏成本取向且不易達到專屬硬體的效能。且要更注意的是,iSCSI Initiator 軟體确實多半采随附的放送政策,而iSCSI Target 軟體則不同,多數的iSCSI Target 都要收費,僅少數免費,如UNH-iSCSI 項目中除了iSCSI Initiator軟體開發也有iSCSI Target 軟體開發,雖免費但也多半用于測試驗證之用,少用于實際的商務運作。此外,有一個iSCSI Enterprise Target 開放項目能提供iSCSI Target 軟體,但目前僅在0.4.x 版,連1.0 正式版都還有段距離。

現階段真正成熟運用的iSCSI Target 多半由商業軟體業者提供,如DataCore Software 的SANmelody/SANmelody Lite,或FalconStor Software 的iSCSI Server for Windows,或String Bean Software 的WinTarget 等,頗為玩味的,三者都是隻能安裝在Windows 伺服作業系統上,這似乎與節費有些違背(純就作業系統的軟體授權費,Windows 向來高于Linux、UNIX)。

或許在意效能,或許在意花費(反正軟法、硬法都要錢),多數使用者仍傾向使用硬體 方式來實作iSCSI Target,事實上過去也有業者推出能讓泛用伺服器轉變成SAN 或NAS 儲存裝置的軟體,但與實際的SAN、NAS 儲存硬體出貨數相較實不成比例,同樣的情形也反應在iSCSI Target 軟體上,軟體式RAID 也類似,RAID 軟體的真實運用量遠低于RAID 硬體。簡而言之使用者對iSCSI Initiator 軟體的接受度大于iSCSI Target 軟體。

另外,iSCSI Target 有許多種類型,撇開iSCSI Router/Gateway/Bridge 等非儲存角色不談,儲存上常見的有iSCSI Disk Array 與iSCSI Tape Library,對國内設計者而言隻有iSCSI Disk Array 具有意義,因為國内幾乎沒有業者在發展以錄音帶機為主的相關應用。資訊硬體産品中隻要牽涉到高度機械性的部分國内業者就會全面束手,小至軟碟機、中至光驅、 大至錄音帶機皆是。

上述的軟體實作法,都屬于資管、網管人員自身就可完成的方式,隻要找一部泛用型 伺服器并對應安裝軟體即可。然而也有些軟體方案并非供資訊人員所用,而是供網儲系統設計者所用,此即是嵌入式的伺服軟體方案,過去Microsoft就有 WSS(Windows Storage Server),WSS 包含嵌入式的Windows 作業系統以及NAS 伺服應用程式,設計者運用此套軟體便可快速實作一台NAS,不過!硬體業者若要量産使用WSS 的NAS 儲存硬裝置,Microsoft 将逐台收取授權費。而依據Microsoft 的展望規劃,日後将比照現有NAS 作法,推出專供實作iSCSI儲存裝置的新版WSS。

當然!除Microsoft 外,其它iSCSI Target 軟體業者也多半歡迎儲存硬體業者的接觸以促成嵌入式合作,例如2005 年10 月三星電子(Samsung Electronics)推出的ZSS-100 iSCSI 儲存裝置,即是以DataCore 的SANmelody 内嵌而實作,且ZSS-100 的硬體元件相當平凡常見,如3.6GHz 的Pentium 4、SATA 硬碟(多顆合計的原生總容量達1TB)等,并無特别過人之處。

相同的類例,HP 的ProLiant DL100 Storage Server 與DL100 G2(第二代)是使用WSS 所形成的NAS,然也提供選用功能,可追加iSCSI 功能于其上,等于一部儲存裝置兼具NAS 與iSCSI 功效,其中iSCSI 功效是将FalconStor iSCSI Server for Windows 進行内嵌而達成。

附注:還有兩種特别的商業版iSCSI Target 軟體,如Wasabi Systems 的Storage Builder 1500i,此是将iSCSI Target 軟體搭配嵌入式作業系統(推測為BSD),一并存于IDE 接口的Compact Flash 記憶卡内,隻要将此卡插置于一般x86 硬體,即可讓該硬體轉變成iSCSI Target。另一則是RocketDivision 的StarWind 與StarPort,前者為iSCSI Target 軟體,後者為iSCSI Initiator 軟體,使用于Windows 作業系統上,但作用不在仿真硬碟,而在仿真CD光牒。

菲議存儲:實作 iSCSI Target的兩種方法

QLogic 的ISP3010 晶片僅為TOE 而不具iSOE,可當一般GbE NIC 之用,亦可加速存取NAS,而ISP4010 晶片則為iSOE,可加速對iSCSI Target 的存取。

如何實作一個iSCSI Target(硬體法)

接着是硬體實作法,我們完全鎖定在如何實作一個iSCSI Disk Array 上,但即便如此,實作方式也依然是形形色色、百家争鳴。

首先是從頭設計到尾,前述用于iSCSI HBA 中的晶片在iSCSI Target 中也都适用,也統統要用,包括GbE NIC(TCP/IP)晶片、iSCSI 晶片、IPSec 晶片等,而且用量也比iSCSI HBA 多,iSCSI HBA 可能用1∼2 顆GbE 晶片或iSCSI 晶片,但iSCSI Target 會用到2∼4 顆,理由是一部iSCSI Target/Disk Array 要服務多個iSCSI Initiator/iSCSI HBA,傳輸量較大,是以要多個相同并行組态以增進效能,另外也可充當備援元件,增加運作的堅穩可用性。

當然!上述這些晶片也可以部分舍棄不用,但道理一樣:請改采軟體方式來彌補,且 代價是消耗部分的CPU 運算力。在這些之外,iSCSI Disk Array 的重點當然是RAID 控制晶片(RAID Controller),透過RAID 晶片及其支援接口以連接配接各式硬碟。

要提醒的是,雖然設計目标為iSCSI,但不表示我們隻能用SCSI 硬碟或SAS硬碟,其實也可使用ATA 硬碟、SATA 硬碟,或FC 硬碟等,這并不相抵觸,重點隻在于RAID 晶片支援何種硬碟接口,RAID 晶片與CPU 連接配接,CPU 與iSCSI晶片連接配接,過程中CPU 會進行運作中所需的各種資料轉換,這也是iSCSI Target的設計實作不必限定非使用SCSI/SAS 硬碟的緣故。

如果認為各環節都自主設計太久太累,那可以考慮以半成品為基礎再行往上發展,例 如iStor Networks 所提供的GigaStorATX 系統闆,該闆用上iStor 所自研的特用晶片:iSNP8008(iSNP=IP Storage Network Access Processor)、8 個1GbE 網埠(iSCSI 傳輸,另有支援10GbE 的系統闆)、16 個SATA 埠(可接16 顆SATA 硬碟)、4GB 高速緩存,并已具備RAID 0,1,10,5 等數組組态,隻要再搭配硬碟與些許設計,便可快速實作一部iSCSI Disk Array。

菲議存儲:實作 iSCSI Target的兩種方法

Stor 的GigaATX 系統闆是專為加速iSCSI Target 設計所提出,該系統闆上使用iStor 自研的iSNP8008 處理器。

另一種半成品作法是用LSI Logic 的iMegaRAID iSCSI 套件,這套件包含軟硬兩部分,硬體方面是一張LSI Logic 的MegaRAID SATA 300-8X 或300-8XLP的磁盤陣列控制卡,用來形成SATA 磁盤陣列,軟體部分則是LSI Logic 的iMegaRAID RAS Software,将控制卡裝入一部使用Linux 作業系統的計算機,且該計算機已具備GbE NIC 功能,再安裝上iMeagaRAID 軟體,即可完成一部iSCSI Disk Array。

嚴格來說,LSI Logic 提供的方式不太能算是硬體作法,應是軟體作法,隻是該軟體相依于該公司自有的磁盤陣列控制卡上,非配裝該卡才能發揮,其餘部分都是以純軟體方式實作,例如 iSCSI 運算、TCP/IP 運算等,隻要iMegaRAID 軟體舍棄與自家控制卡的相依性,而能适用于任何數組控制卡,就是一個道地的軟體iSCSI 方案。說穿了,此法隻是讓LSI Logic 用來增加既有RAID 控制卡的價值與運用範疇。

不過,使用現成的iSCSI HBA 卡、現成的RAID 卡,甚至使用泛用的主機闆等,确實是較快便的實作法,進而将研發心力更專注在韌體、驅動程式、嵌入式作業系統等層面,但相對的也必須犧牲硬體層面的最佳化設計。

菲議存儲:實作 iSCSI Target的兩種方法

用一部x86 計算機,安裝Linux 作業系統及一張GbE NIC,再安裝上LSI Logic 的磁盤陣列控制卡:MegaRAID SATA 300-8x,以及LSI Logic 的iSCSI Target 軟體:iMegaRAID RAS,即可讓x86 計算機搖身變成iSCSI Disk Array。

如果認為以半成品來進行設計還是過于麻煩,也還有更輕松行事的方式,甚至完全隻 要手工就能完成,無須任何電子工程設計,如ATTO Technology 的iPBridge 系列的iSCSI 橋接器,提供iSCSI-to-SCSI 與iSCSI-to-FC 的橋接,可讓過去采直接附連(Direct Attached,如SCSI、FC 接口)的磁盤陣列櫃(Disk Array,JBOS、DAS)或錄音帶裝置(Autoloader、Tape Library)轉變成iSCSI Target。

又如SANRAD 的V-Switch 系列(iSCSI Gateway,也稱iSCSI Bridge)也是直接取用既有DAS、JBOD 等直接附連式儲存裝置,重新轉化成iSCSI,以保障企業使用者在既有儲存裝置上的投資。也因為隻要手動轉接與相關調設,是以資管、網管者可自行完成轉化程 序。

iSCSI 外的更精進路線:10GbE、iWARP

要不是GbE 的技術及價格成熟,否則iSCSI 也不會到臨,因為以100Mbps的Ethernet 來執行iSCSI 在效率上可說是完全不可行。

有了GbE 後,雖然1Gbps 的iSCSI 依舊遜于1Gbps FC(理由是TCP/IP 協定的頻寬占量多過FC 的FCP 協定,且Ethernet 協定有較大的傳輸延遲),但也逐漸逼近,迫使FC 将入門級從1Gbps 調升為2Gbps,好與1Gbps iSCSI 有所區隔,并往上追加4Gbps FC,以維持其效能領先地位。

不過,Ethernet 并非隻及1Gbps,10Gbps 也已經實作,40Gbps 也已經列入規劃程序,是以也有業者提出讓iSCSI 使用10Gbps 而非拘限在1Gbps,一舉超越現有2Gbps、4Gbps 的FC,例如iVivity 的iDiSX 2000 晶片(iDiSX 2000 是I-Disks2000 的諧音),即是以單純的10GbE 晶片,并搭配iSCSI 軟體來實作iSCSI,

屬于高階高效性iSCSI 方案。

另外,隻将高速Ethernet 用于「儲存網絡化」也過于可惜,是以也有衆多業者發起iWARP,不僅可實作儲存的網絡化,也能實作I/O 的網絡化,這在過去多半要倚賴IB(InfiniBand)才能達成,但iWARP 就是希望用更共通的Ethernet标準來實作,進而取代。從許多迹象可看出iWARP 取代IB 的意圖,例如兩者都具有RDMA(Remote Direct Memory Access)機制,簡化網絡兩端的記憶體資料交換程式,進而加速。

同時,RDMA 也可搭配iSER(iSCSI Extension to RDMA)協定,達到與iSCSI一模一樣的儲存網化功效,等于是iSCSI 的超集,既能将「儲存資源及運作」網絡化,也能将「I/O 資源及運作」網絡化。目前NetEffect 的NE01 系列晶片即是針對iWARP 運用所開發,并提出所謂的ECA(Ethernet Channel Adapter),從名稱上即可知有與IB 較量的意味,因為IB 卡稱為HCA(Host Channel Adapter)或TCA(Target Channel Adapter),嚴格而論具iWARP 硬體加速及分擔解除安裝功效的10GbE 網卡,當稱為RNIC(RDMA NIC)。

菲議存儲:實作 iSCSI Target的兩種方法

Voltaire 為InfiniBand 的交換、路由裝置大廠,但也支援RDMA 及iSER 協定,此也等于支援iWARP/iSCSI,圖為iSCSI 與iSER 的協定架構。

此外Broadcom 提出所謂的C-NIC(Converged NIC)聚合型網卡理念,即是在一顆NetXtreme II 系列的GbE 控制晶片内同時具備以太網絡、儲存網化、I/O網化等功效,傳統以太網部分具有TOE 運算,儲存網化則具備iSCSI 運算、I/O網化則具備RDMA 運算,大幅卸除CPU 的輔助運算,使CPU 占用率降至20%以下。

關于C-NIC 理念,Broadcom 目前的代表性晶片為BCM5706(PCI/PCI-X 接口)與BCM5708S(PCIe 接口),其中BCM5706 為第一代,BCM5708S 為第二代,第二代還将傳輸率從1Gbps 提升至2.5Gbps,雖是專屬超規作法,但卻更貼近與符合C-NIC 的需要,畢竟一個網埠具備三種功效,若沒有更高的頻寬作為支援,反會造成三種網化功效互遷就或互幹擾的影響。而且Broadcom 也于2005年7 月收并Siliquent Technologies,該公司專注于10GbE 晶片的技術,預計此一收并将有助于Broadcom 的C-NIC 方案從2.5Gbps 提升至10Gbps。

不過,現在10GbE 的相關晶片仍偏貴,也必須使用光纖,銅線規格僅初步定案,仍待更完整,且據知銅線無法如過往GbE 般保持在100m,距離可能會縮短。是以,前言10GbE幾乎必用光纖,如此将與FC愈來愈像,且目前FC晶片比10GbE晶片低廉,加上FC 未來也計劃邁向10Gbps,是以10Gbps 的Ethernet 與FC 還有番價格效能比的争鬥,甚至也要與10Gbps 的IB 争鬥。

繼續閱讀