iSCSI存儲技術

什麼是ISCSI

iSCSI(iSCSI = internet Small Computer System Interface )是由IEETF開發的網絡存儲標準,目的是爲了用IP協議將存儲設備連接在一起。通過在IP網上傳送SCSI命令和數據,ISCSI推動了數據在網際之間的傳遞,同時也促進了數據的遠距離管理。由於其出色的數據傳輸能力,ISCSI協議被認爲是促進存儲區域網(SAN)市場快速發展的關鍵因素之一。因爲IP網絡的廣泛應用, ISCSI能夠在LAN、WAN甚至internet上進行數據傳送,使得數據的存儲不再受地域的現在。

ISCSI技術的核心是在TCP/IP網絡上傳輸SCSI協議,是指用TCP/IP報文、和ISCSI報文封裝SCSI報文,使得SCSI命令和數據可以在普通以太網絡上進行傳輸,如下圖:

119661379076-clip-image002.jpg

iSCSI 協議定義了在 TCP/IP 網絡發送、接收 block(數據塊)級的存儲數據的規則和方 法。發送端將SCSI命令和數據封裝到 TCP/IP 包中再通過網絡轉發,接收端收到 TCP/IP 包 之後,將其還原爲SCSI命令和數據並執行,完成之後將返回的SCSI命令和數據再封裝到 TCP/IP 包中再傳送回發送端。而整個過程在用戶看來,使用遠端的存儲設備就象訪問本地的 SCSI設備一樣簡單。

早在 2001 年上半年,IBM 就推出了IP Storage 200i,是市場上公認的第一款基於iSCSI 協議的產品,這款產品的出現,對於身處信息爆炸時代卻無法承擔光纖通道 SAN 環境高成本的中小型用戶來說,具有巨大的吸引力;2001年10月,Cisco也推出了SN5420存儲路由器,基於IP標準和SAN標準,可以提供與現有LAN、WAN、光纖和SAN設備之間的互操作,率先建立了IP網絡與SAN之間的橋樑。現在,有更多的廠商參與到iSCSI產品的開發中,如Intel已經推出了存儲網卡 IP Storage iSCSI PRO/1000T,將協議轉化也就是封裝、還原 TCP/IP 包的步驟轉移到網卡上來執行,大大降低了服務器處理器的佔用率。同時,還有芯片、板卡製造商加入到iSCSI產品的開發中,如Adaptec、Qlogic 等等。

iSCSI可以實現在IP網絡上運行SCSI協議,使其能夠在諸如高速千兆以太網上進行路由選擇。用戶可使用標準的千兆級以太網傳輸協議,通過Cat5線纜和任意的交換機產品,將服務器與磁盤陣列連接在一起,並且能夠提供接近FC SAN的性能。

iSCSI集SCSI、以太網和TCP/IP等技術於一身,支持iSCSI技術的服務器和存儲設備能夠直接連接到現有的IP交換機和路由器上,具有低廉、開放、大容量、傳輸速度高、安全等諸多優點,最適合需要在網絡上存儲和傳輸大量數據的應用環境,比如廣電視頻製作和媒資系統,視頻監控系統,IPTV系統,數據備份系統,以及許多的對IOPS和帶寬性能要求不是還很高的數據庫存儲系統、大容量文件存儲系統。

ISCSI存儲系統架構

現在市場有很多不同型號的iSCSI存儲設備,設備的型號和參數有很多不同,廠商在做市場宣傳時候也經常採用不同的口號或噱頭,標榜自己的產品有各種各樣不同的功能和優勢。

實際上當我們對iSCSI設備的結構進行深入的研究時就會發現iSCSI從架構上可以分爲4種類型的架構。

一、控制器架構

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

這種類型的iSCSI存儲設備核心處理單元採用高性能的硬件處理芯片,每個芯片功能單一,因此處理效率較高。操作系統是嵌入式設計,與其他類型的操作系統相比,嵌入式操作系統具有體積小、高穩定性、強實時性、固化代碼以及操作方便簡單等特點。因此控制器架構的iSCSI存儲設備具有較高的安全性和和穩定性。

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

控制器架構的iSCSI設備由於核心處理器全部採用硬件,製造成本較高,因此一般銷售價格較高。

目前市場還可以見到一種特殊的基於控制器架構的iSCSI存儲設備。該類存儲設備是在現有FC-SAN存儲設備的基礎上增加iSCSI協議轉換模塊,使得FC-SAN存儲設備可以同時支持FC數據傳輸協議和iSCSI傳輸協議,如EMC 150i/300i/500i,HDS AMS1000/500/200等。

常見控制器架構iSCSI產品:

1、Equlogic PS300E系列

119661379080-clip-image004.jpg

.

2、Infortrend EonStor A16E

Infortrend EonStor A16E-G2130 Front view with 16 bays for SATA II

3、UIT BS2000e/3000e

clip-image008.jpg

區分一個設備是否是控制器架構,可從以下幾個方面去考慮:

1、是否雙控:除了一些早期型號或低端型號外,高性能的iSCSI存儲一般都會採用active-active的雙控制器工作方式。控制器爲模塊化設計,並安裝在同一個機箱內,非兩個獨立機箱的控制器。

2、緩存:有雙控制器緩存鏡像、緩存斷電保護功能。

3、數據校驗:採用專用硬件校驗和數據傳輸芯片,非依靠普通CPU的軟件校驗,或普通RAID卡。

4、內部結構:打開控制器架構的設備,內部全部爲無線纜的背板式連接方式,各硬件模塊連接在背板的各個插槽上。

二、iSCSI連接橋架構

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

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

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

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

SANRAD的V-Switch系列,ATTO Technology的iPBridge系列的iSCSI橋接器,提供iSCSI-to-SCSI與iSCSI-to-FC 的橋接,可將直連的磁盤陣列櫃(Disk Array,JBOD、DAS)或磁帶設備(Autoloader、Tape Library)轉變成iSCSI存儲設備。

不過隨着iSCSI技術的逐漸成熟,連接橋架構的iSCSI設備越來越少,目前的市場上基本已看不到這樣的產品了。

三、PC架構

那麼何謂PC架構?按字面的意思可以理解爲存儲設備建立在PC服務器的基礎上。即就是選擇一個普通的、性能優良的、可支持多塊磁盤的PC(一般爲PC服務器和工控服務器),選擇一款相對成熟穩定的iSCSI target軟件,將iSCSI Target軟件安裝在PC服務器上,使普通的PC服務器轉變成一臺iSCSI存儲設備,並通過PC服務器的以太網卡對外提供iSCSI數據傳輸協議。

目前常見的iSCSI Target軟件多半由商業軟件廠商提供,如DataCore Software的SANmelody,FalconStor Software的iSCSI Server for Windows,和String Bean Software的WinTarget等。這軟件都只能運行在Windows操作系統平臺上。

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

當由於PC架構iSCSI存儲設備的研發、生產、安裝使用相對簡單,硬件和軟件成本相對較低,因此市場上常見的基於PC架構的iSCSI設備的價格都比較低,在一些對性能穩定性要求較低的系統中具有較大的價格優勢。

常見PC架構iSCSI存儲設備:

1、INTEL ***212CC iSCSI產品圖片:

clip-image010.jpg

2、H3C EX1000 iSCSI產品圖片:

clip-image012.jpg

3、HP MSA1510i iSCSI產品圖片:

clip-image014.jpg

四、PC+NIC架構

PC+iSCSI Target軟件方式是一種低價低效比的解決方案,另外還有一種基於PC+NIC的高階高效性iSCSI 方案。

如果只是將高速Ethernet用於存儲網絡化過於可惜,因此衆多廠商發起了iWARP,不僅可實現存儲網絡化,也能實現I/O 的網絡化。通過RDMA(Remote Direct Memory Access)機制簡化網絡兩端的內存數據交換程序,從而加速數據傳輸效率。

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

Broadcom 目前的代表性芯片爲BCM5706(PCI/PCI-X 接口)與BCM5708S(PCIe 接口),其中BCM5706 爲第一代,BCM5708S 爲第二代,第二代傳輸率從1Gbps 提升至2.5Gbps。第三代傳輸率從2.5Gbps 提升至10Gbps。

ISCSI存儲連接方式

我們分析了iSCSI存儲的系統結構,下面來看iSCSI是如何與服務器、工作站等主機設備來連接的,也就是我們如何建立一個iSCSI網絡存儲系統。

iSCSI設備的主機接口一般默認都是IP接口,可以直接與以太網絡交換機和iSCSI交換機連接,形成一個存儲區域網絡。根據主機端HBA卡、網絡交換機的不同,iSCSI設備與主機之間有三種連接方式。

第一種:以太網卡+initiator軟件方式。

服務器、工作站等主機使用標準的以太網卡,通過以太網線直接與以太網交換機連接,iSCSI存儲也通過以太網線連接到以太網交換機上,或直接連接到主機的以太網卡上。在主機上安裝Initiator軟件。

安裝Initiator軟件後,Initiator軟件可以將以太網卡虛擬爲iSCSI卡,接受和發送iSCSI數據報文,從而實現主機和iSCSI設備之間的iSCSI協議和TCP/IP協議傳輸功能。

這種方式由於採用普通的標準以太網卡和以太網交換機,無需額外配置適配器,因此硬件成本最低。缺點是進行ISCSI包文和TCP/IP包文轉換要點主機端的一部分資源。不過在低I/O和低帶寬性能要求的應用環境中和完全滿足數據訪問要求。

目前很多最新版本的常用操作系統都提供免費的Initiator軟件,建立一個存儲系統除了存儲設備本身外,基本上不需要投入更多的資金來,因此在三種系統連接方式中其建設成本是最低的。

第二種:硬件TOE網卡+initiator軟件方式。

第一種方式由於採用普通以太網卡和以太網交換機,無需額外配置適配器,或專用的網絡設備,因此硬件成本最低。但由於進行ISCSI包文和TCP/IP包文的打包和解包全部需要主機主處理器CPU來進行運算,數據傳輸率直接受到主機當前運行狀態和可用資源的影響和限制,因此一般無法提供高帶寬和高IOPS性能。

具有TOE(TCP Offload Engine)功能的智能以太網卡可以將網絡數據流量的處理工作全部轉到網卡上的集成硬件中進行,把系統主處理器CPU從忙於協議處理的繁重的內核中斷服務中解脫出來,主機只承擔TCP/IP控制信息的處理任務。

與第一種方式相比,採用TOE卡可以大幅度提高數據的傳輸速率。TCP/IP協議棧功能由TOE卡完成,而iSCSI層的功能仍舊由主機來完成。

由於TOE卡也採用TCP/IP協議,相當於一塊高性能的以太網卡,所以第二種方式也可以看做是第一種連接方式的特殊情況。

第三種:iSCSI HBA卡連接方式。

在主機上安裝專業的iSCSI HBA適配卡,從而實現主機與交換機之間、主機與存儲之間的高效數據交換。

與前兩種方式相比,第三種連接方式中採用了iSCSI HBA卡,因此數據傳輸性能最好,價格也最高。

後兩種方式都需要在主機上安裝專門的硬件板卡,由於目前TOE網卡和iSCSI HBA的市場價格都比較貴。如果網絡中主機數量比較多,那麼網絡總資金投入不見得會比FC-SAN存儲系統低很多,網絡的帶寬和性能卻相比FC-SAN存儲系統差了很多。

有的讀者可能會問,爲什麼這三種方式中都沒有采用iSCSI交換機?

實際上,我們能在市場上看到的iSCSI交換機都不是真正意義上交換機,所謂的iSCSI交換機應該稱之爲iSCSI協議轉換器、或者iSCSI橋接器。一部分端口用來連接主機的iSCSI HBA卡,另一部分端口用來連接FC存儲或SCSI存儲,只能實現存儲設備與主機之間的FC-iSCSI(或SCSI-iSCSI)協議連接,不能實現iSCSI-iSCSI協議連接,其工作方式完全不同於以太網交換機或FC交換機那樣,實現某一個協議內的互聯互通。

因此iSCSI交換機一般都用作iSCSI存儲內的控制器,而不是iSCSI存儲與主機之間網絡連接設備。

ISCSI存儲使用模式:

1、DAS使用方式

ISCSI存儲設備和SCSI存儲和FC存儲一樣,可以直接通過連接線纜與主機上的HBA連接,作爲主機的DAS直接連接存儲來使用,如下圖:

clip-image016.jpg

ISCSI存儲設備的卷由服務器或NAS網關來管理和使用,其它的工作站通過服務器和NAS網關來訪問iSCSI存儲上數據。整個系統安裝調試簡單方便,服務器和NAS網關很容易實現數據的網絡化共享訪問。但服務器和NAS網關直接影響整體存儲網絡系統的性能,低配置的服務器和NAS網關及有可能成爲整個系統的性能瓶頸。

2、SAN使用方式

ISCSI和FC存儲一樣具有良好的網絡擴展性,可通過網絡交換設備與多臺主機連接。通過網絡交換設備連接時,iSCSI存儲上的LUN對於主機來講相當於裸設備,因而需要注意文件系統的管理問題。

A、存儲設備層共享

ISCSI設備上創建多個LUN,不同的LUN制定給不同的主機。各主機分別管理和訪問自己的LUN。相當於將多個主機的本地磁盤集中放置在一個網絡化的設備中,各主機之間僅實現硬件設備層的共享。如下圖:

clip-image018.jpg

B、集羣共享

系統中有多個數據庫系統和WEB集羣系統,每兩臺服務器之間需要管理和使用相同的LUN,主機之間通過MSCS或RAC等軟件實現集羣共享功能。如下圖:

clip-image020.jpg

每一個卷僅在兩臺主機之間共享,兩臺主機通過集羣軟件共同對同一個文件系統進行管理。

C、網絡存儲共享

在許多大型的高性能計算系統、廣電非線性編輯製作系統、IPTV發佈系統中,應用需要多臺主機能同時訪問同一個文件系統(同一個卷)中的數據,可能會是同一個數據。如下圖:

clip-image022.jpg

爲了保證同一個文件系統可以同時被多臺主機訪問,且不會因爲併發訪問而引起文件系統管理衝突,常規的做法是在所有需要文件系統共享的主機上安裝SAN網絡存儲共享管理軟件,並設置一臺或多臺主機爲管理軟件的服務器端。該服務器負責管理主機之間的元數據交換,因此被成爲MDC,即Metadata Controller。

關於SAN網絡存儲共享管理軟件的功能介紹請參看SAN網絡存儲共享管理軟件全攻略

ISCSI存儲常見技術參數:

目前市場的iSCSI產品數量繁多,用戶在選擇iSCSI產品的時候往往被各種各樣的參數和指標搞得雲頭轉向,不知如何正確去選擇自己希望的產品。下面,我以市場常見幾款產品的技術參數爲例,給大家介紹如何通過廠商的技術參數來正確分析和認識iSCSI產品。

常見iSCSI存儲技術參數表:

序號

技術參數

規格

備註

系統性能

1

每秒最大I/O100,000 IOPS

2

每秒最大傳輸帶寬410MB/S
控制器

3

控制器雙Active-Active SAS/SATA控制器

4

控制器CPU933MHz PowerPC 750GL

5

控制器緩存2GB ECC 緩存, 帶72小時電池備份

6

緩存模式Write-through, write-back, adaptive write

7

RAID校驗採用ASIC硬件校驗
接口

8

主機接口數量4個千兆以太網銅纜接口,兩個SAS接口,4個FC接口,

9

磁盤擴展櫃接口SAS擴展;FC擴展
RAID及磁盤

10

支持硬盤類型SATA1/2:400GB,500GB,750GB硬盤SAS: 73GB, 146GB, 300GB硬盤FC: 146GB, 300GB硬盤SCSI: 73GB, 146GB硬盤

11

最大硬盤數量16SATA或者SAS硬盤最大72個SATA或者SAS硬盤

12

RAID技術RAID0,1 (0+1),3,5,6,10,30,50,60,NRAID and JBOD

13

最大容量16*750GB=12TB72*750GB=54TB

14

最大LUN數量1024

15

RAID功能支持虛擬RAID技術,支持磁盤漫遊
軟件功能

16

快照256個

17

數據鏡像支持

18

數據複製卷復/Snapshot Copy

19

多鏈路冗餘支持

20

負載均衡支持
其它

21

冗餘、熱插拔模塊控制器,電源,風扇,熱備盤

22

管理界面COM1,COM2,GUI,WEB,LCD,TELNET,SSH

23

集中管理支持

實際上任何一個主流iSCSI存儲設備都不可能同時具有上表中的所有的參數或功能。

1、系統性能:

各廠商的技術參數表中最不可靠的就是性能指標了。IOPS一般都會在30000-100000之間變動,iSCSI存儲對外提供幾個IP接口,一般都會說有幾百兆端口。

實際上iSCSI設備的IOPS性能都不高,一般在5000-20000之間,加入你的業務系統對IOPS很關注,建議選擇FC-SAN存儲,如果業務系統對IOPS有一點關注,建議提前做模擬測試,且選擇控制器架構的設備,如果業務系統對IOPS沒有要求,那麼IOPS指標這一項可以不看。

假如技術指標中說有4個IP接口所以就有400MB/S的帶寬性能,那你可以明確一點的就是廠商在騙你。我們知道存儲設備的性能取決於其內部的控制器,而不是主機接口的數量。不提升控制器的處理器速度、不優化其數據傳輸效率,不增加緩存容量,簡單地增加IP主機接口的數量不可能提高存儲設備性能的。

關於性能指標,建議控制器架構的取其三分之二,PC架構取其一半。沒有任何依據,僅僅是我的經驗,也僅供大家參考。

2、控制器:

ISCSI存儲的核心就是控制器了。

一般的iSCSI存儲爲單控制器,中高端設備爲active-active(雙活)或active-standby(主備)模式的雙控制器。可能個別廠商會用”單/雙存儲處理器”來冒充單/雙控制器,所謂的”單/雙存儲處理器”僅僅是PC架構中的兩個Intel或AMD的CPU,甚至只是一個雙核的CPU,和雙控制器完全是兩個概念。

ISCSI的雙活控制器一般是指可以安裝在同一個無源背板上,兩者之間可通過緩存鏡像實現數據同步,兩者可同時管理相同的後端存儲。兩個控制器同時工作,任何一個控制器發生故障時,另一個控制器可以即時接管理它的任務。備用控制器一般都是一塊無源的模塊化電路板,可快速熱插拔更換。PC架構的iSCSI存儲一般無法實現上述功能,只能通過集羣功能(如Windows MSCS)來實現多臺iSCSI存儲之間的主備故障切換。

控制器架構的iSCSI存儲的核心處理芯片多爲PowerPC,部分採用Intel或AMD服務器CPU,個別由FC存儲改造的iSCSI存儲會採用專用的CPU。中高端iSCSI存儲可能會採用雙處理器,一個處理器負責系統管理和數據傳輸,另一個處理器ASIC芯片專門用作RAID校驗和數據讀寫校驗。

緩存一般爲2-4GB,建議小文件、對IOPS有一定要求的應用類系統儘量採用大容量緩存。緩存可根據應用系統的需求設置成Write-through,write-back等多種工作模式。緩存掉電保護可通過鈕釦電池來實現。

PC架構的iSCSI存儲的核心處理芯片多爲Intel或AMD服務器CPU,CPU不僅要負責系統管理和數據傳輸,還要負責RAID校驗和數據讀寫校驗,中高端PC架構iSCSI存儲內容一般爲雙CPU。

緩存一般爲2-4GB,但緩存大小對性能的影響沒有控制器架構的明顯。一般無緩存掉電保護功能,只能通過存儲設備後端或機房中的UPS電源來提供突然的斷電保護。

3、接口:

常見iSCSI多位2-6個IP接口,個別設備可能會提供8個、更多個接口。部分iSCSI存儲提高SAS接口和FC接口。IP接口有以太網接口模塊型(控制器架構、iSCSI橋接器架構和FC-SAN改造存儲)和網卡型(PC架構和PC+NIC架構)

越來越多的iSCSI存儲支持大容量,控制器和磁盤擴展櫃之間通過SAS接口連接,FC-SAN改造型多沿用原來的光纖通道協議接口來擴展容量。

4、RAID及磁盤

近兩年的iSCSI存儲設備基本都能同時支持SATA和SAS硬盤,FC-SAN改造型還用支持FC磁盤,不過相信大家都不會用到。iSCSI橋接器架構的還支持SCSI磁盤。

各廠家的RAID組級別支持一般差別比較大,但RAID0,RAID1,RAID3和RAID5都是最基本的,只要列表中有自己需要的就行。

虛擬RAID技術,也可能被成爲存儲虛擬化(內部的)一般是指可以將多個RAID設置在一個RAID POOL中,相當於將多個RAID合併,然後在其上創建多個LUN。這樣對任何一個LUN進行讀寫訪問是,多個RAID中的磁盤同時工作,有利於提高單卷的訪問性能。其功能與RAID30或50相似或相同。

凡是RAID配置信息保存在本RAID組所有磁盤中的存儲都支持磁盤漂移功能,但是需要所謂3塊或5塊系統盤的不支持,這一點與FC存儲完全相同。

LUN數量一般爲512和1024,除了大型的視頻監控系統存儲之外,其它的業務系統無需過於關注這一項。

5、軟件功能

在軟件功能方面,各廠家千變萬化。低端控制器架構的iSCSI存儲基本上沒有快照、卷複製或卷鏡像等軟件功能,但高端設備的功能一般比較強大,可用性較高。PC架構的iSCSI存儲由於安裝軟件方便,因而軟件功能一般較多,各種功能實現起來也比較容易。

6、其它

控制器架構的iSCSI存儲可實現控制器,電源,風扇,熱備盤等的冗餘和熱插拔,PC架構的iSCSI存儲僅能實現電源,風扇,熱備盤,缺少了最核心的控制器。

集中管理是指當一個系統有多臺存儲設備時,能否通過一臺存儲設備的管理窗口同時監控和管理多臺設備。

轉自:http://www.sansky.net/article/2007-12-03-iscsi-storage.html


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