iSCSI存儲系統知識詳解

原文:https://community.emc.com/docs/DOC-33815


SCSI 即 小型計算機系統接口。
小型計算機系統接口(英語:Small Computer System Interface; 簡寫:SCSI),一種用於計算機和智能設備之間(硬盤、軟驅、光驅、打印機、掃描儀等)系統級接口的獨立處理器標準SCSI是一種智能的通用接口標準。它是各種計算機與外部設備之間的接口標準。


iSCSI是由Cisco和 IBM兩家發起的,2003年2月由IETF(互聯網工程任務組)認證通過,是一項比較成熟的技術。它將SCSI命令封裝在TCP/IP包裏,並使用一個iSCSI幀頭。它基於IP協議棧,假設以不可靠的網絡爲基礎,依靠TCP恢復丟失的數據包。


背景:

 

相比直連存儲,網絡存儲解決方案能夠更加有效地共享,整合和管理資源。從服務器爲中心的存儲轉向網絡存儲,一直依賴於數據傳輸技術的發展,速度要求與直連存儲相當,甚至更高,同時需要客服並行SCSI固有的侷限性。

 

所有數據在沒有文件系統格式化的情況下,都以塊的形式存儲於磁盤之上。並行SCSI將數據以塊的形式傳送至存儲,但是,對於網絡它的用處相當有限,因爲線纜不能超過25米,而且最多隻能連接16個設備。

 

光纖通道是目前SAN的主導架構,它在專門的高速網絡上分離存儲資源。光纖通道協議與互聯技術起源於滿足高性能傳送塊數據的需求,同時克服直連存儲的連接和距離限制。通常光纖通道設備連接距離可達到10000米,甚至數十萬米,並且對於連接在SAN之上的設備沒有數量要求。

 

與SAN不同,NAS將數據以文件的形式傳輸並且可以直接連接至IP網絡。部署NAS設備傳送數據庫塊數據,使用基於SCSI的光纖通道協議,比Server Message Block(SMB)協議更加高效。

 


什麼是iSCSI:

 

iSCSI是一種使用TCP/IP協議,在現有IP網絡上傳輸SCSI塊命令的工業標準,它是一種在現有的IP網絡上無需安裝單獨的光纖網絡即可同時傳輸消息和塊數據的突破性技術。iSCSI基於應用非常廣泛的TCP/IP協議,將SCSI命令/數據塊封裝爲iSCSI包,再封裝至TCP 報文,然後封裝到IP 報文中。iSCSI通過TCP面向連接的協議來保護數據塊的可靠交付。由於iSCSI基於IP協議棧,因此可以在標準以太網設備上通過路由或交換機來傳輸。



iSCSI架構依然遵循典型的SCSI模式:

隨着光纖通道的發明,initiator和target之間的SCSI線纜已被光纖線纜所代替。

現在隨着iSCSI的出現光纖線纜又被價格低廉的網線和TCP/IP網絡所替代。




雖然現有的光纖存儲網絡具有高吞吐量的優勢,與其他廠商之間的互通性仍是一個短板。而基於成熟的TCP/IP協議的iSCSI網絡,不僅免於互通性限制而且在安全性等方面具備優勢。同時,由於千兆以太網的增量部署,iSCSI的吞吐量也會隨之增加,與光線通道匹敵甚至超越光線通道。


iSCSI的優勢:



長距離連接:SAN網絡集中管理存儲資源,能夠覆蓋一個市區範圍。對於分佈在海外的組織則面臨一系列未連接的“SAN孤島”,當前的光纖通道連接受限於10km而無法橋接。有擴展的光纖通道連接可達數百公里,但這些方法既複雜又昂貴。廣域網iSCSI (wide area network, WAN)提供了一種經濟的長距離傳輸,可用於目前FC SAN或iSCSI SAN的橋接。


更低成本
:不同於FC SAN解決方案需要部署全新的網絡基礎架構,並且需要專業技術知識,專門的硬件故障排查,iSCSI SAN解決方案充分利用了現有的局域網基礎設施,使之可廣泛應用於大多數組織。


簡化部署和實施:iSCSI解決方案僅需要在主機服務器上安裝iSCSI initiator,一個iSCSI target存儲設備,一個千兆比特以太網交換機以在IP網絡傳輸塊數據。諸如存儲配置,調配,備份這樣的管理操作可由系統管理員處理,與管理直連存儲方式相同。而像集羣這樣的解決方案使用iSCSI也比FC更爲簡易。


固有的安全性
:光纖通道協議並沒有內嵌的安全保障。取而代之,通過對SAN的物理連接限制來保障安全。雖然對於被限制在加鎖的數據中心的SAN來說是有效的,但隨着FC協議變得更加廣爲人知以及SAN開始連接到IP網絡,這種安全方法已失去其功效。


相比之下,微軟實施的iSCSI協議使用質詢握手身份驗證協議(CHAP)進行驗證和Internet協議安全(IPSec)標準加密爲網絡上的設備提供安全保障。目前,iSCSI target實現了CHAP,但暫時沒有更加先進的方法。



iSCSI的現狀與挑戰:

iSCSI這幾年來得到了快速發展,近兩年iSCSI的熱度持續走高,各存儲設備廠商紛紛推出iSCSI設備,銷量也在快速增長。基於iSCSI的SAN現在已經相對成熟。10Gbps以太網的出現極大地改變了iSCSI的傳輸速率,大多數應用的響應能力完全可以適應用戶的需求。同時iSCSI產品的採購成本與維護成本都比FC要低。

但是,iSCSI仍受到幾個掣肘:iSCSI架構於IP協議之上,因此也繼承了IP協議本身的缺陷:區分不同流量優先等級,防止丟包的QoS與流量控制機制不足,而FCoE在這一點上,具備暫停幀需求和將高優先級流量先於低優先級流量傳輸的功能,無疑具有先天的優勢。即使帶寬提升到10Gb,TCP/IP協議管理方面的問題在仍會影響iSCSI的效率表現。 此外,以太網帶寬擴展到10Gb只是外部傳輸通道的增加,如果主機I/O處理能力、存儲陣列性能無法跟上,則存儲網絡整體性能同樣會受到影響。目前iSCSI在高I/O環境下的性能表現仍不如光纖通道。



iSCSI SAN概念解析:

iSCSI SAN組件與FC SAN組件相類似。包括以下部件:

 

iSCSI Client/Host

 

系統中的iSCSI客戶端或主機(也稱爲iSCSI initiator),諸如服務器,連接在IP網絡並對iSCSI target發起請求以及接收響應。每一個iSCSI主機通過唯一的IQN來識別,類似於光纖通道的WWN。

 

要在IP網絡上傳遞SCSI塊命令,必須在iSCSI主機上安裝iSCSI驅動。推薦通過GE適配器(每秒1000 megabits)連接至iSCSI target。如同標準10/100適配器,大多數Gigabit適配器使用Category 5 或Category 6E線纜。適配器上的各端口通過唯一的IP地址來識別。


iSCSI Target:

 

iSCSI target是接收iSCSI命令的設備。此設備可以是終端節點,如存儲設備,或是中間設備,如IP和光纖設備之間的連接橋。

每一個iSCSI target通過唯一的IQN來標識,存儲陣列控制器上(或橋接器上)的各端口通過一個或多個IP地址來標識。


本機與異構IP SAN:

 

iSCSI initiator與iSCSI target之間的關係如圖1所示。

本例中,iSCSI initiator(或client)是主機服務器,而iSCSI target是存儲陣列。

此拓撲稱爲本機iSCSI SAN,它包含在TCP/IP上傳輸SCSI協議的整個組件。




與之相反,異構IP SAN,如下圖所示,包含在TCP/IP與光纖交換結構傳輸SCSI的組件。

爲了實現這一點,需要在IP與光纖通道之間安裝連接橋或網關設備連接橋用於TCP/IP與光通道之間的協議轉換

因此iSCSI主機將存儲看做iSCSI target。

直接連接光通道target的服務器必須包含HBA而不是iSCSI主機的網絡適配卡。

iSCSI主機可使用NIC或HBA。






iSCSI 存儲系統四大架構:

控制器系統架構:

iSCSI的核心處理單元採用與FC光纖存儲設備相同的結構。即採用專用的數據傳輸芯片、專用的RAID數據校驗芯片、專用的高性能cache緩存和專用的嵌入式系統平臺。打開設備機箱時可以看到iSCSI設備內部採用無線纜的背板結構,所有部件與背板之間通過標準或非標準的插槽鏈接在一起,而不是普通PC中的多種不同型號和規格的線纜鏈接。


控制器架構iSCSI存儲內部基於無線纜的背板鏈接方式,完全消除了鏈接上的單點故障,因此係統更安全,性能更穩定。一般可用於對性能的穩定性和高可用性具有較高要求的在線存儲系統,比如:中小型數據庫系統,大型數據的庫備份系統,遠程容災系統,網站、電力或非線性編輯製作網等。

連接橋系統架構:

整個iSCSI存儲系統架構分爲兩個部分,一個部分是前端協議轉換設備,另一部分是後端存儲。結構上類似NAS網關及其後端存儲設備。


前端協議轉換部分一般爲硬件設備,主機接口爲千兆以太網接口,磁盤接口一般爲SCSI接口或FC接口,可連接SCSI磁盤陣列和FC存儲設備。通過千兆以太網主機接口對外提供iSCSI數據傳輸協議。

後端存儲一般採用SCSI磁盤陣列和FC存儲設備,將SCSI磁盤陣列和FC存儲設備的主機接口直接連接到iSCSI橋的磁盤接口上。

iSCSI連接橋設備本身只有協議轉換功能,沒有RAID校驗和快照、卷複製等功能。創建RAID組、創建LUN等操作必須在存儲設備上完成,存儲設備有什麼功能,整個iSCSI設備就具有什麼樣的功能。


PC系統架構:
即選擇一個普通的、性能優良的、可支持多塊磁盤的PC(一般爲PC服務器和工控服務器),選擇一款相對成熟穩定的iSCSI target軟件,將iSCSI target軟件安裝在PC服務器上,使普通的PC服務器轉變成一臺iSCSI存儲設備,並通過PC服務器的以太網卡對外提供iSCSI數據傳輸協議。

在PC架構的iSCSI存儲設備上,所有的RAID組校驗、邏輯卷管理、iSCSI 運算、TCP/IP 運算等都是以純軟件方式實現,因此對PC的CPU和內存的性能要求較高。另外iSCSI存儲設備的性能極容易收PC服務器運行狀態的影響。


PC+NIC系統架構

PC+iSCSI target軟件方式是一種低價低效比的iSCSI存儲系統架構解決方案,另外還有一種基於PC+NIC的高階高效性iSCSI存儲系統架構方案。

這款iSCSI存儲系統架構方案是指在PC服務器中安裝高性能的TOE智能NIC卡,將CPU資源較大的iSCSI運算、TCP/IP運算等數據傳輸操作轉移到智能卡的硬件芯片上,由智能卡的專用硬件芯片來完成iSCSI運算、TCP/IP運算等,簡化網絡兩端的內存數據交換程序,從而加速數據傳輸效率,降低PC的CPU佔用,提高存儲的性能。



協議映射:



iSCSI協議是讓SCSI在TCP協議之上工作的傳輸協議,是一種SCSI遠程過程調用模型到TCP協議的映射。SCSI命令加載在iSCSI請求之上,同時SCSI狀態和響應也由iSCSI來承載。iSCSI同樣使用請求響應機制。


在iSCSI 配置中,iSCSI 主機或服務器將請求發送到節點。 主機包含一個或多個連接到IP 網絡的啓動器,以發出請求,並接收來自iSCSI 目標的響應。


 每個啓動器和目標都指定了一個唯一的iSCSI 名稱,如 iSCSI 限定名 (IQN) 或擴展的唯一標識(EUI)。 IQN 是 223 字節的 ASCII 名稱。EUI 是 64 位標識。iSCSI 名稱代表全球唯一命名方案,該方案用於標識各啓動器或目標,其方式與使用全球節點名(WWNN) 來標識光纖通道光纖網中設備的方式相同。



iSCSI 目標是響應 iSCSI 命令的設備。iSCSI 設備可以是諸如存儲設備的結束節點,或者可以是諸如IP 與光纖通道設備之間的網橋的中間設備。每個iSCSI 目標由唯一的iSCSI 名稱標識。


要通過 IP 網絡傳輸 SCSI 命令,iSCSI 驅動程序必須安裝到iSCSI 主機和目標中。驅動程序用於通過主機或目標硬件中的網絡接口控制器(NIC) 或 iSCSI HBA 來發送iSCSI 命令和響應。


爲實現最佳性能,請使用傳輸速度爲每秒 1000 兆位 (Mbps) 的千兆以太網適配器在iSCSI 主機和 iSCSI 目標間進行連接。



iSCSI 命令封裝:



發起端和目標端之間以消息的形式進行通信。

PDU(Protocal Data Unit)就是用來傳輸這些消息的。




iSCSI 協議就是一個在網絡上封包和解包的過程,在網絡的一端,數據包被封裝成包括TCP/IP頭、iSCSI識別包和SCSI數據三部分內容,傳輸到網絡另一端時,這三部分內容分別被順序地解開。iSCSI 系統由一塊 SCSI 卡發出一個 SCSI 命令,命令被封裝到第四層的信息包中併發送。

接收方從信息包中抽取SCSI 命令並執行,然後把返回的SCSI命令和數據封裝到IP信息包中,並將它們發回到發送方。系統抽取數據或命令,並把它們傳回SCSI子系統。所有這一切的完成都無需用戶干預,而且對終端用戶是完全透明的。 爲了保證安全,iSCSI 有自己的上網登錄操作順序。在它們首次運行的時候,啓動器(initiator)設備將登錄到目標設備中。

任何一個接收到沒有執行登錄過程的啓動器的iSCSI PDU目標設備都將生成一個協議錯誤,而且目標設備也會關閉連接。在關閉會話之前,目標設備可能發送回一個被駁回的iSCSI PDU。這種安全性是基本的,因爲它只保護了通信的啓動,卻沒有在每個信息包的基礎上提供安全性。還有其他的安全方法,包括利用IPsec。在控制和數據兩種信息包中,IPsec 可以提供整體性,實施再次(replay)保護和確認證明,它也爲各個信息包提供加密。



iSCSI 會話:

iSCSI 會話建立於一個initiator與一個target之間,一個會話允許多個TCP連接,並且支持跨連接的錯誤恢復。


大多數通信還是建立在SCSI基礎之上的,例如,使用R2T進行流量控制。


iSCSI添加於SCSI之上的有:立即和主動的數據傳輸以避免往返通信;連接建立階段添加登錄環節,這是基於文本的參數協商。


建立一個iSCSI會話,包括

命名階段:確定需要訪問的存儲,以及initiator,與FC不同,命名與位置無關;

發現階段:找到需要訪問的存儲;

登錄階段:建立於存儲的連接,讀寫之前首先進行參數協商,按照TCP連接登錄。







結構模式:




iSCSI有兩大主要網絡組件。

第一個是網絡團體,網絡團體表現爲可通過IP網絡訪問的一個驅動或者網關。一個網絡團體必須有一個或者多個網絡入口,每一個都可以使用,通過IP網絡訪問到一些iSCSI節點包含在網絡團體中。

第二個是網絡入口,網絡入口是一個網絡團隊的組件,有一個TCP/IP的網絡地址可以使用給一個iSCSI節點,在一個ISCSI會話中提供連接。一個網絡入口在啓動設備中間被識別爲一個IP地址。一個網絡入口在目標設備被識別爲一個IP地址+監聽端口。


iSCSI支持同一會話中的多個連接。在一些實現中也可以做到同一會話中跨網絡端口組合連接。端口組定義了一個iSCSI節點內的一系列網絡端口,提供跨越端口的會話連接支持。




發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章