回企業採購特輯首頁  
下載PDF 回iThome首頁 訂閱雜誌

IP SAN的代名詞:iSCSI
測試結果分析與採購建議
IP SAN產品介紹與實測

 

從軟體模擬到專用硬體,多樣化的連接方式

▼ ADVERTISEMENT ▼
▲ ADVERTISEMENT ▲

在速博的建置經驗中,他們是以專用的iSCSI HBA讓伺服器連接到iSCSI SAN,但實際上還有許多其他方式可以實現iSCSI的連接。iSCSI網路的成員可分「發起端(Initiator)」與「目標端(Target)」兩類,發起端即是發起存取要求的一端,通常是伺服器或使用者的電腦;目標端則是接收並回應存取要求的一端,通常是儲存設備。不管是發起端還是目標端都有多種作法。

iSCSI發起端的類型

由於iSCSI協定是「騎」在TCP/IP協定上,因此iSCSI發起端最基本的需求是乙太網路卡以及對TCP/IP協定的支援,另外還要處理被包在TCP封包中內含SCSI指令與資料本體的iSCSI PDU(Protocol Data Unit)。依負責處理封包的方式不同,iSCSI的發起端設備有3種類型,即普通乙太網路卡+iSCSI initiator軟體、TOE網卡與iSCSI HBA(Host Bus Adapter)。

● 軟體式 iSCSI initiator
以軟體方式將伺服器現有的網路卡與網路堆疊,模擬成發起端,TCP/IP封包與iSCSI PDU的處理均由伺服器的處理器負責。這種方式最大的好處是便宜且方便,目前所有主流作業系統都已提供免費的iSCSI initiator程式,只要下載安裝,就能讓伺服器或個人電腦成為iSCSI發起端,存取iSCSI設備。

但副作用便是處理器資源將被大幅占用,TCP封包與iSCSI PDU的封裝與解封處理都相當耗費運算資源。如果伺服器必須執行非常消耗處理器資源的應用程式,iSCSI initiator軟體顯然會對應用程式的效能造成很大的影響。

● TOE網路卡
把TCP封包的處理交給具備TCP卸載引擎(TCP Offload Engine,TOE)晶片的網路卡,如此一來,發起端伺服器的處理器只要專心處理TCP封包中的iSCSI PDU,可以大幅降低處理器資源耗用率。

雖然隨著處理器效能的日益提高,是否有TOE的輔助,對伺服器效能的影響已日漸降低。但對速度不夠快的伺服器來說,TOE還是能顯著改善傳輸速率,尤其是有助於提高多臺伺服器同時發起存取要求,以及處理小區塊資料時的I/O性能。傳輸小區塊資料需要發送更多的封包,因此處理器耗費在處理封包上的資源也更多,如果能得到TOE網路卡的幫助,單位時間內系統就能處理更多個I/O。

但問題是TOE網路卡的價格比普通網路卡至少高了3倍以上,大量部署的話,也是一筆不小的開銷。

● iSCSI HBA
iSCSI HBA同時具備處理iSCSI PDU與TOE的硬體,因此可不經由處理器而直接處理網路送過來的TCP/IP封包與iSCSI PDU,所以處理器的負荷最輕。缺點就是iSCSI HBA的價格幾乎可以比擬FC HBA,非常昂貴。而且iSCSI HBA只能支援iSCSI協定,用途單一,不像普通網路卡還能支援CIFS、NFS等協定。

iSCSI目標端的類型
要作為iSCSI Target,同樣也有軟體與硬體兩種方式。

● 軟體式iSCSI Target
即透過軟體方式將儲存設備模擬為iSCSI Target,任何伺服器只要安裝對應於作業系統的iSCSI Target程式,就能充當iSCSI儲存設備,架構彈性非常大,價格也相對便宜。當然軟體式iSCSI Target與軟體式Initiator有相同的缺點,所有封裝與解封工作都是由伺服器的處理器執行,非常占用資源。

軟體式iSCSI Target中,最典型的就是已內建iSCSI Target功能的Windows Storage Server(WSS) 2003 R2,使用者只要開啟iSCSI Target功能,建立.VHD格式的虛擬磁碟,前端伺服器的iSCSI Initiator就能連結並存取這個虛擬磁碟。

除了微軟的WSS R2外,其他提供iSCSI Target功能的軟體還有FalconStor IPStor、DataCore的SANsymphony、SANmelody,Rocket Division的StarWind、Nimbus的MySAN、String Bean的WinTarget等,前述產品都是在Windows平臺執行的商用軟體;另外在Linux平臺下則有Ardis與UNH-iSCSI等,Solaris也有opensolaris開發的iSCSI Target軟體可用,這幾種均為開放源碼軟體。不過除了這三大平臺外,其他作業系統目前還沒有對應的iSCSI Target軟體。

● 硬體式iSCSI Target
由專用硬體來負責TCP封包與SCSI指令的處理,結構與iSCSI HBA類似,同樣都包括TOE晶片、iSCSI晶片,另外還會有負責控制磁碟陣列的RAID晶片。

這些晶片均整合在一個控制器上,內含iSCSI PDU的TCP/IP封包進入控制器後,先由TOE晶片負責解開TCP封包,如果啟用IPsec,則必要時還須由專用的IPSec晶片負責解算,接下來再由iSCSI晶片處理iSCSI PDU內的iSCSI標頭。最後由RAID控制晶片負責依iSCSI PDU內的SCSI指令,執行與磁碟間的通信。

專用硬體的好處是,封包的封裝與解封動作不會形成系統瓶頸,一般來說會有較好的效能,尤其是在多臺伺服器同時向iSCSI儲存設備發出存取要求時,更能顯出硬體式的優勢。

iSCSI Target軟體一覽
廠商 網址 產品名稱 安裝作業平臺
DataCore www.datacore.com SANsymphony 6.0 Windows XP/2000/2003
DataCore www.datacore.com SANmelody Windows XP/2000/2003
Falconstor www.falconstor.com IPStore 5.1 Linux
Rocket Division www.rocketdivision.com StarWind Windows XP/2000/2003/Vista/2008/WSS 2003
Nimbus www.nimbusdata.com MySAN Windows 2003
String Bean www.stringbeansoftware.com WinTarget Windows XP/2000/2003/WSS 2003
opensolaris opensolaris.org iSCSI Target Solaris Update 4
Ardis www.ardistech.com iSCSI Target Linux 2.4 kernel
UNH InterOperability lab unh-iscsi.sourceforge.net UNH-iSCSI Linux 2.4.x /l 2.6.x kerne

常見的iSCSI儲存設備類型

電週文化事業
版權所有、轉載必究
Copyright © iThome