ISCSI概念、構架、連接方式、組成和工作原理

  本文是參照 高俊峯 老師的 構建高性能Linux服務器的視頻寫的。希望能給有需要的人一點幫助,同時也是爲了方便自己。


1、存儲的一些概念和術語:

SCSI:小型計算機系統接口(Small Computer System Interface)

FC:光纖通道(Fibre Channel)

DAS:直連式存儲(Direct-Attached Storage)

NAS:網絡接入存儲(Network-Attached Storage)

SAN:存儲區域網絡(Storage Area Network)


2、認識ISCSI:

iSCSI=Internet Small Computer System Interface

iSCSI 是一種在Internet協議上,特別是以太網上進行數據塊傳輸的標準,它是一種基於Ip Storage理論的新型存儲技術,該技術是將存儲行業廣泛應用的SCSI接口與IP網絡技術相結合,可以在IP網絡上構建SAN存儲區域網絡,簡單地說,iSCSI就是在IP網絡上運行SCSI協議的一種網絡存儲技術



3、ISCSI技術的優勢:

與傳統的SCSI技術比較起來,ISCSI技術有三個革命性的變化:

* 把原來只用於本機的SCSI透過TCP/IP網絡傳送,使連接距離可作無限的地域延伸;

* 連接的服務器數量無限(原來的SCSI-3的上限是15);

* 由於是服務器架構,因此也可以實現在線擴容以至動態部署。


4、ISCSI構架:

4.1、控制器架構:

採用專用的數據傳輸芯片、專用的RAID數據校驗芯片、專用的高性能Cache緩存和專用的嵌入式系統平臺,是一個核心全硬件的設備。

優點:具有較高的安全性和穩定性。

缺點:核心處理器全部採用硬件,製造成本較高。

適用環境:可以用於對性能的穩定性和高可用性具有較高要求的在線存儲系統,例如:中小型數據庫系統,大型數據庫備份系統,遠程容災系統等。


4.2、ISCSI連接橋架構:

連接橋架構分爲兩個部分:

*前端的協議轉換器;

*後端存儲

前端協議轉換部分一般是硬件設備,只有協議轉換功能,沒有RAID檢驗和快照、卷影複製等功能,因此,創建RAID組、創建LUN等操作必須在存儲設備上完成。

後端存儲一般採用ISCSI磁盤陣列和FC存儲設備

隨着iscsi技術的成熟,連接橋架構的ISCSI設備越來越少了。


4.3、PC架構:

也就是將存儲設備搭建在PC服務器上,通俗的說就是選擇一個性能良好、可支持多塊硬盤的PC服務器,然後選擇一款成熟的存儲端管理軟件(ISCSI Target),並將其安裝在這臺PC服務器上,這樣就將一個普通的PC服務器變成了一臺ISCSI存儲設備了。最後通過PC服務器的以太網卡對外提供ISCSI數據傳輸服務。

客戶端主機可以安裝iscsi客戶端軟件(ISCSI Initiator)通過以太網連接PC服務器共享出來的存儲空間。

PC架構的典型圖例如下:




5、iSCSI存儲連接方式:

5.1、以太網卡+initiator軟件方式:

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

優點:在現有網絡基礎上即可完成,成本低;

缺點:消耗客戶端主機部分資源。

適用環境:在低I/O和低寬帶性能要求的應用環境中。


5.2、硬件TOE網卡+Initiator軟件方式:

具有TOE(TCP Offload Engine)功能的智能以太網卡,可以將網絡數據流量的處理工作全部轉到網卡的集成硬件中完成。客戶端主機可以從繁忙的協議轉換中解脫出來。

優點:採用TOE卡後可以大幅度的提高數據和傳輸速率,降低了客戶端主機的資源消耗。

缺點:需要購買TOE功能的網卡,成本較高。


5.3、ISCSI HBA卡連接方式:

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

優點:數據傳輸性能最好

缺點:需要購買ISCSI HBA適配卡,成本較高。

TOE網卡和ISCSI HBA的市場價格都比較貴,如果主機較少的話還可以接受,如果網絡主機比較多,成本消耗很大。



6、ISCSI系統的組成:

一個簡單的ISCSI系統大致有以下幾部分組成:

* iSCSI initiator或者iSCSI HBA(在客戶端安裝的軟件或硬件)

* iSCSI Target(安裝在服務器端)

* 以太網交換機

* 一臺或是多臺服務器


6.1、ISCSI Target概念:

一個可以被用於存儲數據的iscsi磁盤陣列或者具有iscsi功能的設備都可以被稱爲“ISCSI Target”。

利用iSCSI Target軟件,可以將服務器的存儲空間分配給客戶機使用,客戶機就可以像使用本地硬盤一樣使用iscsi硬盤。

目前大多數iscsi Target軟件都是收費的。不過,也有一些linux平臺開源的iscsi Target軟件。例如:iSCSI Enterprise Target。


6.2、iSCSI initiator概念:

iSCSI initiator是一個安裝在計算機上的一個軟件或是一個硬件設備,它負責處理同iscsi存儲設備進行通信。

iSCSI服務器與iSCSI存儲設備之間的連接方式有兩種:

第一種是基於軟件的方式,即軟件iSCSI initiator

第二種是基於硬件的方式,即硬件iSCSI initiator

iSCSI initiator 軟件一般都是免費的,Centos和RHEL對iSCSI initiator支持非常不錯,現在的Linux發行版本都默認已經自帶了iSCSI initiator。



7、iSCSI技術實現原理圖:


基本實現過程:

iSCSI協議定義了在TCP/IP網絡發送、接收block(數據塊)級的存儲數據的規則和方法。

發送端將SCSI命令和數據封裝到TCP/IP包中再通過網絡轉發,接收端收到TCP/IP包之後,將其還原爲SCSI命令和數據並執行,完成之後將返回的SCSI命令和數據再次封裝到TCP/IP包中再次發送回發送端。整個過程在用戶看來:使用遠端的存儲設備就像訪問本地的SCSI設備一樣簡單。






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