天天看點

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指令和資料可以在普通以太網絡上進行傳輸,如下圖:

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從架構上可以分為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系列

.

2、Infortrend EonStor A16E

3、UIT BS2000e/3000e

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

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産品圖檔:

2、H3C EX1000 iSCSI産品圖檔:

3、HP MSA1510i iSCSI産品圖檔:

四、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裝置的主機接口一般預設都是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存儲與主機之間網絡連接配接裝置。

1、DAS使用方式

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

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

2、SAN使用方式

ISCSI和FC存儲一樣具有良好的網絡擴充性,可通過網絡交換裝置與多台主機連接配接。通過網絡交換裝置連接配接時,iSCSI存儲上的LUN對于主機來講相當于裸裝置,因而需要注意檔案系統的管理問題。

A、儲存設備層共享

ISCSI裝置上建立多個LUN,不同的LUN制定給不同的主機。各主機分别管理和通路自己的LUN。相當于将多個主機的本地磁盤集中放置在一個網絡化的裝置中,各主機之間僅實作硬體裝置層的共享。如下圖:

B、叢集共享

系統中有多個資料庫系統和WEB叢集系統,每兩台伺服器之間需要管理和使用相同的LUN,主機之間通過MSCS或RAC等軟體實作叢集共享功能。如下圖:

每一個卷僅在兩台主機之間共享,兩台主機通過叢集軟體共同對同一個檔案系統進行管理。

C、網絡存儲共享

在許多大型的高性能計算系統、廣電非線性編輯制作系統、IPTV釋出系統中,應用需要多台主機能同時通路同一個檔案系統(同一個卷)中的資料,可能會是同一個資料。如下圖:

為了保證同一個檔案系統可以同時被多台主機通路,且不會因為并發通路而引起檔案系統管理沖突,正常的做法是在所有需要檔案系統共享的主機上安裝SAN網絡存儲共享管理軟體,并設定一台或多台主機為管理軟體的伺服器端。該伺服器負責管理主機之間的中繼資料交換,是以被成為MDC,即Metadata Controller。

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

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

常見iSCSI存儲技術參數表:

序号

技術參數

規格

備注

系統性能

1

每秒最大I/O

100,000 IOPS

2

每秒最大傳輸帶寬

410MB/S

控制器

3

雙Active-Active SAS/SATA控制器

4

控制器CPU

933MHz 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/

【轉載自:iHk-system.com|尋訪諸神的網站】