2.1 iSCSI協議模型,iscsi【會話層協議,即應用協議】
iSCSI使用TCP/IP協議在不穩定網絡上進行可靠的數據傳輸。iSCSI層和標准SCSI集在協議棧中的位置如圖1所示。iSCSI層包括了已封裝的SCSI命令、數據和狀態。就是說若Initiator端的操作系統或應用程序需要進行數據寫操作,SCSI的CDB(Command Description Block命令描述塊)必須被封裝以便能夠在串行千兆位鏈接上傳輸到Target端。iSCSI屬於端到端的會話層協議,它定義的是SCSI到TCP/IP的映射,即Initiator將SCSI指令和數據封裝成iSCSI協議數據單元,向下提交給TCP層,最后封裝成IP數據包在IP網絡上傳輸,到達Target后通過解封裝還原成SCSI指令和數據,再由存儲控制器發送到指定的驅動器,從而實現SCSI命令和數據在IP網絡上的透明傳輸。它整合了現有的存儲協議SCSI和網絡協議TCP/IP,實現了存儲與TCP/IP網絡的無縫融合。
iscsi的網絡應用類型:
SAN網絡:Storage Area Network 存儲區域網絡,多采用高速光纖通道,對速率、冗余性要求高。使用iscsi存儲協議,塊級傳輸。
NAS網絡:Network Attachment Storage,網絡附件存儲,采用普通以太網,對速率、冗余無特別要求,使用NFS、CIFS共享協議,文件級傳輸。
SAN和NAS的區別:1.SAN一般特指存儲網絡的構建方式,NAS一般特指產品。
2.SAN有單獨的存儲網絡,NAS使用現有網絡
家庭網絡存儲設備:FREENAS,用的是FREEBSD系統
iscsi的優點能快速提高網絡環境,能節約企業30-40%的成本主要包括;
硬件成本低:構建iSCSI存儲網絡,除了存儲設備外,交換機、線纜、接口卡都是標准的以太網配件,價格相對來說比較低廉。
同時,iSCSI還可以在現有的網絡上直接安裝,並不需要更改企業的網絡體系,這樣可以最大程度地節約投入。
操作簡單,維護方便:對iSCSI存儲網絡的管理,實際上就是對以太網設備的管理,只需花費少量的資金去培訓iSCSI存儲網絡管理員。
當iSCSI存儲網絡出現故障時,問題定位及解決也會因為以太網的普及而變得容易。
擴充性強:對於已經構建的iSCSI存儲網絡來說,增加iSCSI存儲設備和服務器都將變得簡單且無需改變網絡的體系結構。
帶寬和性能:iSCSI存儲網絡的訪問帶寬依賴以太網帶寬。隨着千兆以太網的普及和萬兆以太網的應用,iSCSI存儲網絡會達到甚至超過FC
(FiberChannel,光纖通道)存儲網絡的帶寬和性能。
突破距離限制:iSCSI存儲網絡使用的是以太網,因而在服務器和存儲設備的空間布局上的限制就會少了很多,甚至可以跨越地區和國家。
iSCSI 在安全方面相關設定,iSCSI 在安全管理方面有着不錯優勢,可以使用"主機"和"使用者"來完成允許或拒絕存取的設定。
安裝完會默認生成底下列出例子為“只允許 172.16.7.120 這台 Initiator”並“拒絕全部”設定
iscsi的安全配置

/etc/initiators.allow 內容,最后一行允許 172.16.7.120(其他三行被#注解) # Some exmaples #iqn.2001-04.com.example:storage.disk1.sys1.xyz 192.168.22.2, 192.168.3.8 #iqn.2001-04.com.example:storage.disk1.sys4.xyz [3ffe:302:11:1:211:43ff:fe31:5ae2], [3ffe:505:2:1::]/64 iqn.2001-04.com.example:storage.disk2.sys1.xyz 172.16.7.120 /etc/initiators.deny 內容,最后一行拒絕全部(其他四行被#注解) # Some exmaples #iqn.2001-04.com.example:storage.disk1.sys1.xyz ALL #iqn.2001-04.com.example:storage.disk1.sys2.xyz 192.168.12.2, 192.168.3.0/24, 192.167.1.16/28 #iqn.2001-04.com.example:storage.disk1.sys4.xyz [3ffe:302:11:1:211:43ff:fe31:5ae2], [3ffe:505:2:1::]/64 iqn.2001-04.com.example:storage.disk2.sys1.xyz ALL
注意到 iqn 需與 /etc/ietd.conf 內的 iqn 相同。
iSCSI性能瓶頸
iSCSI協議建立在傳統的TCP/IP協議之上,在進行實際數據傳輸時,其傳輸系統性能受限於TCP/IP協議棧負載及以太網最大帶寬,另外iSCSI協議層也會額外增加一些負載開銷,在實際應用中,iSCSI數據傳輸性能仍然存在瓶頸。以發送端的寫操作為例,一次完整的iSCSI協議數據傳輸包括數據封裝、數據拷貝、數據傳輸.
優化:
1.優化網絡傳輸
iSCSI協議利用通用的TCP/IP協議進行海量存儲數據傳輸,傳統的TCP/IP協議用於在不可靠的數據鏈路上實現可靠的數據傳輸,其性能必然受限於TCP/IP本身的傳輸性能,基於通用TCP/IP協議的網絡存儲面臨的一個很重要的性能問題就是TCP/IP協議棧開銷。目前已經出現了一些新的網絡技術用於改善TCP/IP協議棧開銷。
1)有些新型網卡可以分擔過去由主機CPU完成的CRC校驗和計算功能,利用這些網卡,可進一步釋放主機CPU資源,進而降低CPU利用率。
2)一些新型網卡可以實現過去由主機TCP/IP軟件協議棧完成的TCP包拆分功能,這樣也可緩解主機CPU的壓力。
3) iSCSI SAN網絡絕不能與一般的以太網用戶混合。如果混合不僅會削弱SAN的性能,還會使LAN的存儲數據受到影響。正確的做法是將iSCSI SAN網絡與日常的用戶網絡分開。最常見的分離方法是采用虛擬局域網( VLAN),限制iSCSI網絡通向虛擬局域網,保持正常的網絡通道。
2.避免數據挎貝
iSCSI協議層建立在傳統的TCP/IP協議層之上,其PDU數據包必須通過內存拷貝的方式傳遞給TCP/IP協議棧的緩沖區進行網絡傳輸。而內存拷貝要進行內存讀寫操作各一次,內存數據拷貝又必須依賴於CPU執行指令來完成,因此會消耗CPU資源並降低內存性能,最終影響iSCSI系統性能。為了避免數據拷貝操作,目前主要的方法是采用TOE硬件方案:TOE方案是將過去由操作系統完成的TCP/IP協議棧直接轉移到TOE網卡上由硬件實現。這個方案有效她避免了TCP/IP協議棧對系統CPU資源的占用,優化了iSCSI系統性能。TOE卡可以從一些供應商處獲得,如Alacritech、LeWiz Communications、
QLogic等。
3.數據校驗的優化
CRC校驗數據的生成或檢測均是計算密集型操作,會消耗大量的CPU資源,因此如何優化數據校驗性能成為優化iSCSI性能的關鍵。目前常用的優化方案有下面幾種。
(l) iSCSI HBA硬件方案
為了進一步消除CRC校驗運算對系統CPU資源的影響,工業界將iSCSI協議及TCP/IP協議全部集成到網卡上構成iSCSI的HBA適配卡,這種方式中的iSCSI HBA適配卡對主機來說就是一塊SCSI卡,既不存在數據拷貝問題,也不存在數據校驗問題。采用硬件方案雖然能進一步釋放CPU資源,但iSCSI HBA硬件處理能力有限制,無法分享CPU日益提升的性能。
(2)優化數據校驗
通過優化CRC校驗算法來加快校驗過程也是提高iSCSI性能的一個途徑。