天天看點

iSCSI存儲系統知識

  SCSI 即小型計算機系統接口(Small Computer System Interface;簡寫:SCSI),一種用于計算機和外部裝置之間(硬碟、光驅、軟驅、列印機等)系統級接口的獨立處理器标準。SCSI是一種智能的通用接口标準,它是各種計算機和外部裝置之間的接口标準。

  iSCSI是由Cisco和IBM發起的,它将SCSI指令封裝在TCP/IP包裡,并使用一個iSCSI幀頭。它基于IP協定棧,假設以不可靠的網絡為基礎,依靠TCP恢複丢失的資料包。

  背景:

    相比直連存儲,網絡存儲解決方案能夠更加有效地共享,整合和管理資源。從伺服器為中心的存儲轉向網絡存儲,一直依賴于資料傳輸技術的發展,速度要求與直連存儲相當,甚至更高,同僚需要克服并行SCSI固有的局限性。

             所有資料在沒有檔案系統格式化的情況下,都以塊的形式存儲于磁盤上。并行SCSI将資料以塊的形式傳送至存儲,但是,對于網絡它的用處相當有限,因為線纜不能超過25m,而且最多連接配接16個裝置;

  iSCSI是一種使用TCP/IP協定,在現有IP網絡上傳輸SCSI塊指令的工業标準,它是一種在現有的IP網絡上無需安裝單獨的光纖網絡即可同時傳輸消息和塊資料的突破性技術。iSCSI基于應用非常廣泛的TCP/IP協定,将SCSI指令/資料塊封裝為iSCSI包,再封裝至TCP 封包,然後封裝到

IP 封包中。iSCSI通過TCP面向連接配接的協定來保護資料塊的可靠傳遞。由于iSCSI基于IP協定棧,是以可以在标準以太網裝置上通過路由或交換機來傳輸。

  

iSCSI存儲系統知識

  iSCSI架構依然遵循典型的SCSI模式:

    随着光纖通道的發明,initiator和target之間的SCSI線纜已被光纖線纜所代替。

    現在随着iSCSI的出現光纖線纜又被價格低廉的網線和TCP/IP網絡所替代。

iSCSI存儲系統知識

  雖然現有的光纖存儲網絡具有高吞吐量的優勢,與其他廠商之間的互通性仍是一個短闆。而基于成熟的TCP/IP協定的iSCSI網絡,不僅免于互通性限制而且在安全性等方面具備優勢。同時,由于千兆以太網的增量部署,iSCSI的吞吐量也會随之增加,與光線通道匹敵甚至超越光線通道。

  iSCSI SAN元件與FC SAN元件相類似。包括以下部件:

    iSCSI Client/Host:

           系統中的iSCSI用戶端或主機(也稱為iSCSI initiator),諸如伺服器,連接配接在IP網絡并對iSCSI target發起請求以及接收響應。每一個iSCSI主機通過唯一的IQN來識别,類似于光纖通道的WWN。

    要在IP網絡上傳遞SCSI塊指令,必須在iSCSI主機上安裝iSCSI驅動。推薦通過GE擴充卡(每秒1000 megabits)連接配接至iSCSI target。如同标準10/100擴充卡,大多數Gigabit擴充卡使用Category 5 或Category 6E線纜。擴充卡上的各端口通過唯一的IP位址來識别。

    iSCSI Target:

      iSCSI target是接收iSCSI指令的裝置。此裝置可以是終端節點,如儲存設備,或是中間裝置,如IP和光纖裝置之間的連接配接橋。每一個iSCSI target通過唯一的IQN來辨別,存儲陣列控制器上(或橋接器上)的各端口通過一個或多個IP位址來辨別。

  本機與異構IP SAN:

    iSCSI initiator與iSCSI target之間的關系如圖1所示。

      本例中,iSCSI initiator(或client)是主機伺服器,而iSCSI target是存儲陣列。此拓撲稱為本機iSCSI SAN,它包含在TCP/IP上傳輸SCSI協定的整個元件。

iSCSI存儲系統知識

    與之相反,異構IP SAN,如下圖所示,包含在TCP/IP與光纖交換結構傳輸SCSI的元件。

      為了實作這一點,需要在IP與光纖通道之間安裝連接配接橋或網關裝置。連接配接橋用于TCP/IP與光纖通道之間的協定轉換。

    是以iSCSI主機将存儲看做iSCSI target。直接連接配接光纖通道target的伺服器必須包含HBA而不是iSCSI主機的網絡适配卡。iSCSI主機可使用NIC或HBA。

iSCSI存儲系統知識

  控制器系統架構:

    iSCSI的核心處理單元采用與FC光纖儲存設備相同的結構。即采用專用的資料傳輸晶片、專用的RAID資料校驗晶片、專用的高性能cache緩存和專用的嵌入式系統平台。打開裝置機箱時可以看到iSCSI裝置内部采用無線纜的背闆結構,所有部件與背闆之間通過标準或非标準的插槽連結在一起,而不是普通PC中的多種不同型号和規格的線纜連結。

    控制器架構iSCSI存儲内部基于無線纜的背闆連結方式,完全消除了連結上的單點故障,是以系統更安全,性能更穩定。一般可用于對性能的穩定性和高可用性具有較高要求的線上存儲系統,比如:中小型資料庫系統,大型資料的庫備份系統,遠端容災系統,網站、電力或非線性編輯制作網等。

  連接配接橋系統架構:

    整個iSCSI存儲系統架構分為兩個部分,一個部分是前端協定轉換裝置,另一部分是後端存儲。結構上類似NAS網關及其後端儲存設備。

   前端協定轉換部分一般為硬體裝置,主機接口為千兆以太網接口,磁盤接口一般為SCSI接口或FC接口,可連接配接SCSI磁盤陣列和FC儲存設備。通過千兆以太網主機接口對外提供iSCSI資料傳輸協定。後端存儲一般采用SCSI磁盤陣列和FC儲存設備,将SCSI磁盤陣列和FC儲存設備的主機接口直接連接配接到iSCSI橋的磁盤接口上。iSCSI連接配接橋裝置本身隻有協定轉換功能,沒有RAID校驗和快照、卷複制等功能。建立RAID組、建立LUN等操作必須在儲存設備上完成,儲存設備有什麼功能,整個iSCSI裝置就具有什麼樣的功能

  PC系統架構:

    即選擇一個普通的、性能優良的、可支援多塊磁盤的PC(一般為PC伺服器和工控伺服器),選擇一款相對成熟穩定的iSCSI target軟體,将iSCSI target軟體安裝在PC伺服器上,使普通的PC伺服器轉變成一台iSCSI儲存設備,并通過PC伺服器的以太網卡對外提供iSCSI資料傳輸協定。

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

  PC+NIC系統架構

    PC+iSCSI target軟體方式是一種低價低效比的iSCSI存儲系統架構解決方案,另外還有一種基于PC+NIC的高階高效性iSCSI存儲系統架構方案。

    這款iSCSI存儲系統架構方案是指在PC伺服器中安裝高性能的TOE智能NIC卡,将CPU資源較大的iSCSI運算、TCP/IP運算等資料傳輸操作轉移到智能卡的硬體晶片上,由智能卡的專用硬體晶片來完成iSCSI運算、TCP/IP運算等,簡化網絡兩端的記憶體資料交換程式,進而加速資料傳輸效率,降低PC的CPU占用,提高存儲的性能。

  iSCSI協定是讓SCSI在TCP協定之上工作的傳輸協定,是一種SCSI遠端過程調用模型到TCP協定的映射。SCSI指令加載在iSCSI請求之上,同時SCSI狀态和響應也由iSCSI來承載。iSCSI同樣使用請求響應機制。

iSCSI存儲系統知識

  在iSCSI 配置中,iSCSI 主機或伺服器将請求發送到節點。 主機包含一個或多個連接配接到IP 網絡的啟動器,以送出請求,并接收來自iSCSI 目标的響應。

   每個啟動器和目标都指定了一個唯一的iSCSI 名稱,如 iSCSI 限定名 (IQN) 或擴充的唯一辨別(EUI)。 IQN 是 223 位元組的 ASCII 名稱。EUI 是 64 位辨別。iSCSI 名稱代表全球唯一命名方案,該方案用于辨別各啟動器或目标,其方式與使用全球節點名(WWNN) 來辨別光纖通道光纖網中裝置的方式相同。

iSCSI存儲系統知識

   iSCSI 目标是響應 iSCSI 指令的裝置。iSCSI 裝置可以是諸如儲存設備的結束節點,或者可以是諸如IP 與光纖通道裝置之間的網橋的中間裝置。每個iSCSI 目标由唯一的iSCSI 名稱辨別。

   要通過 IP 網絡傳輸 SCSI 指令,iSCSI 驅動程式必須安裝到iSCSI 主機和目标中。驅動程式用于通過主機或目标硬體中的網絡接口控制器(NIC) 或 iSCSI HBA 來發送iSCSI 指令和響應。

   為實作最佳性能,請使用傳輸速度為每秒 1000 兆位 (Mbps) 的千兆以太網擴充卡在iSCSI 主機和 iSCSI 目标間進行連接配接。

  iSCSI 指令封裝:

iSCSI存儲系統知識

  發起端和目标端之間以消息的形式進行通信。PDU(Protocal Data Unit)就是用來傳輸這些消息的。

iSCSI存儲系統知識

    iSCSI 協定就是一個在網絡上封包和解包的過程,在網絡的一端,資料包被封裝成包括TCP/IP頭、iSCSI識别包和SCSI資料三部分内容,傳輸到網絡另一端時,這三部分内容分别被順序地解開。iSCSI 系統由一塊 SCSI 卡發出一個 SCSI 指令,指令被封裝到第四層的資訊包中并發送。

  接收方從資訊包中抽取SCSI 指令并執行,然後把傳回的SCSI指令和資料封裝到IP資訊包中,并将它們發回到發送方。系統抽取資料或指令,并把它們傳回SCSI子系統。所有這一切的完成都無需使用者幹預,而且對終端使用者是完全透明的。 為了保證安全,iSCSI 有自己的上網登入操作

  順序。在它們首次運作的時候,啟動器(initiator)裝置将登入到目标裝置中。

    任何一個接收到沒有執行登入過程的啟動器的iSCSI PDU目标裝置都将生成一個協定錯誤,而且目标裝置也會關閉連接配接。在關閉會話之前,目标裝置可能發送回一個被駁回的iSCSI PDU。這種安全性是基本的,因為它隻保護了通信的啟動,卻沒有在每個資訊包的基礎上提供安全性。

  還有其他的安全方法,包括利用IPsec。在控制和資料兩種資訊包中,IPsec 可以提供整體性,實施再次(replay)保護和确認證明,它也為各個資訊包提供加密。

  iSCSI 會話:

  iSCSI 會話建立于一個initiator與一個target之間,一個會話允許多個TCP連接配接,并且支援跨連接配接的錯誤恢複。大多數通信還是建立在SCSI基礎之上的,例如,使用R2T進行流量控制。

  iSCSI添加于SCSI之上的有:立即和主動的資料傳輸以避免往返通信;連接配接建立階段添加登入環節,這是基于文本的參數協商。

  建立一個iSCSI會話,包括

    命名階段:确定需要通路的存儲,以及initiator,與FC不同,命名與位置無關;

    發現階段:找到需要通路的存儲;

    登入階段:建立于存儲的連接配接,讀寫之前首先進行參數協商,按照TCP連接配接登入。

iSCSI存儲系統知識
iSCSI存儲系統知識
iSCSI存儲系統知識

  iSCSI有兩大主要網絡元件。

    第一個是網絡團體,網絡團體表現為可通過IP網絡通路的一個驅動或者網關。一個網絡團體必須有一個或者多個網絡入口,每一個都可以使用,通過IP網絡通路到一些iSCSI節點包含在網絡團體中。

    第二個是網絡入口,網絡入口是一個網絡團隊的元件,有一個TCP/IP的網絡位址可以使用給一個iSCSI節點,在一個ISCSI會話中提供連接配接。一個網絡入口在啟動裝置中間被識别為一個IP位址。一個網絡入口在目标裝置被識别為一個IP位址+監聽端口。

   iSCSI支援同一會話中的多個連接配接。在一些實作中也可以做到同一會話中跨網絡端口組合連接配接。端口組定義了一個iSCSI節點内的一系列網絡端口,提供跨越端口的會話連接配接支援。