1. 程式人生 > >iSCSI儲存技術全攻略

iSCSI儲存技術全攻略

什麼是ISCSI

iSCSIiSCSI = 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裝置的結構進行深入的研究時就會發現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

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

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 SSR212CC 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網路儲存系統。

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直接連線儲存來使用,如下圖:

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產品。

常見iSCSI儲存技術引數表:

序號

技術引數

規格

備註

系統性能

1

每秒最大I/O 100,000 IOPS

2

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

3

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

4

控制器CPU