1. 程式人生 > >SCSI匯流排和協議以及SAN儲存網路詳解

SCSI匯流排和協議以及SAN儲存網路詳解

在講解SAN儲存網路之前,我想先在物理層面為大家講解一下乙太網網絡卡,FC-HBA卡(光纖網絡卡),iSCSi-HBA卡的區別。

        乙太網卡:就是我們平常見到的電腦或伺服器上面的網絡卡,它傳輸的是IP協議,通過雙絞線(網線)跟乙太網交換機相連,因為我們平時使用的網絡卡最大的傳輸速率為千兆,所以在生產環境中為了提高IP報文的傳輸速率,有時會用萬兆的光網絡卡,使用光纖線纜與光纖乙太網交換機相連,它傳輸的同樣為IP協議,只是傳輸速率由原來的千兆升級到了萬兆。萬兆網絡卡的傳輸速率最大為2Gb/s。

        備註:有的人太明白為什麼萬兆需要使用光纖介質,這是由於傳輸介質的編碼問題導致的,傳統的雙絞線(網線)最大的傳輸速率只能達到千兆,要想提高傳輸速率就只能更換傳輸介質,把雙絞線(網線)更換為光線。


        

         儲存使用的統一稱為HBA卡,它又分為FC-HBA卡跟iSCSI-HBA卡

         FC-HBA卡(光纖網絡卡):全稱為Fibre  Channel HBA傳輸的FC協議,這是專門用儲網路的中的一種協議,通過光纖線纜與FC交換機(光線儲存交換機)相連,然後接入到後端儲存矩陣中。它的傳輸速率最大可以達到2Gb/s--4Gb/s.

       備註:大家在實際生產中所說的光纖網絡卡實際上指的就是FC網絡卡也就是FC-HBA卡


        iSCSI-HBA卡:全稱叫做iSCSI HBA卡,它傳輸的是iSCSI協議,因為iSCSI-HBA卡在傳輸資料的過程中是將iSCSI協議封裝成TCP/IP協議來進行資料傳輸的,所以iSCSi網絡卡的介面跟千兆的乙太網卡介面相同,都使用雙絞線(網線)跟傳統的乙太網交換機相連,然後接後端接儲存矩陣。有時我們也是用iSCSI-HBA卡當做乙太網網絡卡使用讓它直接傳輸乙太網的TCP/IP報文。


        ???為什麼我們這裡可以把iSCSI當做乙太網卡使用,而且為什麼iSCSC在實際生產環境中連線的網路傳輸裝置為傳統的乙太網交換機,而沒有專門的iSCSI交換機供其連線,後續我會做詳細解答。


下面我就具體來講解一下SCSI匯流排和協議

第一節:SCSI匯流排和協議

         SCSI協議我個人理解它為塊級別的儲存協議。它是一種I/O技術,讓資料以塊的方式進行傳輸的一種協議規範。這個術語也常被用來指稱執行該協議的並行線纜機制,將磁碟和磁帶裝置連線到應用伺服器上的一種匯流排機制 。

           我們來看下面這一張圖:

        image.png

         SCSI匯流排是SCSI裝置之間傳輸資料的通路,所以SCSI匯流排又被稱為SCSI通道。


         image.png

         SCSI控制器稱為主介面卡,其作用就像SCSI匯流排和PC系統匯流排之間的閘道器 ,SCSI控制器邏輯上可以分為一個任務管理單元負責管理target,以及多個邏輯單元,負責管理LUN.4

SCSI連線示意圖:

       image.png

     

       我們知道SCSI總線上可掛載的裝置數量是有限的,一般為8個或者16個,可以用target ID(SCSI ID)來描述這些裝置,裝置只要加入系統,就會有一個代號,我們在區分裝置的時候,只需要說幾號即可。而實際上我們需要用來表示的物件,是遠遠超過該數字的,於是我們引入了LUN的概念,也就是說LUN ID的作用就是擴充了Target ID。每個Target下都可以有多個LUN Device,我們通常簡稱為LUN.每個SCSI ID上最多有32個LUN,一個LUN對應一個邏輯裝置,一個邏輯裝置可能是一個分割槽,也有可能是一個獨立的磁碟.


SCSI通訊模型:

        image.png

         服務端的Traget通過任務分發器進行任務排程,進而控制邏輯單元。

SCSI通訊過程:

        image.png

       SCSI協議分為三層

            應用層

            傳輸層

            物理層

       物理層使用SCSI線纜進行資料傳輸,也可以替換成其它額介質,如光纖,乙太網雙絞線等。


第二節:SCSI協議的封裝iSCSI協議以及FC協議

          image.png

         在我們的實際生產環境中,為了結合現有網路同時為了使用成熟的TCP/IP協議,特地將SCSI的物理層封裝FC,iSCSI,iSER協議結合現有網路來使用。

        FC可以理解為光裝置驅動:使用FC協議,物理介質使用光纖相連組成FC SAN儲存網路,另外還有思科自主研發的FCoE協議,藉助萬兆乙太網傳輸。

        然後就是大名鼎鼎的iSCSI協議,它是將SCSI報文封裝成iSCSI報文,然後在進行二次封裝成TCP/IP報文,最後藉助於乙太網傳輸,用雙絞線(網線)組成IP SAN儲存網路

        還有就是代表了下一代I/O技術使用iSER協議組成的IB SAN網路。它指的是一種交換結構的I/O技術,使用infiniBand交換機來連線後端儲存。


我們在實際生產環境中使用的比較多了是使用FC協議藉助光纖儲存交換機將儲存裝置與客戶端相連組成的FC SAN網路。這種儲存網路架構是SCSI的傳輸層SCSI報文直接封裝成FC協議藉助光纖進行資料傳輸

而iSCSI得先經過SCSI報文封裝成iSCSI協議,然後由iSCSI驅動管理器轉換成TCP\IP報文,然後經由乙太網卡藉助IP網路跟乙太網交換機相連,從而將儲存裝置跟客戶端連線在一起組成IP SAN儲存網路。

這也是我上文中提到的為什麼iSCSI協議可以藉助於乙太網卡進行傳輸。


第三節:IP SAN儲存的三種連線方式

        第一種:乙太網卡+initiator軟體方式

             需要使用儲存裝置的伺服器使用標準的乙太網卡,通過網線直接與乙太網交換機相連,iSCSI儲存也通過網線連線到交換機上。在伺服器上安裝Initiator軟體。iSCSI儲存端通常安裝的是Target軟體。Initiator軟體可以實現iSCSI協議拆封裝成TCP/IP協議的功能。從而實現藉助於乙太網卡傳輸iSCSI協議的功能。

             這種方式的採用標準的乙太網卡跟乙太網交換機,無需額外的介面卡,成本較低。但是無論是儲存伺服器端的Target軟體對iSCSI報文的拆解封裝還是Initiator軟體對iSCSI報文的拆解分裝都是有核心來完成的,故效能較低。

        第二種:硬體TOE卡方式

             其實TOE卡說白了就是乙太網卡的升級版,它將iSCSI報文打包封裝成TCP/IP報文這一過程的處理工作全部轉到網絡卡上來完成,替系統核心分擔一部分流量。這樣樂意大大提高資料的傳輸速率,但是SCSI協議到iSCSI協議的轉換還是經由主機核心來完成。它同樣是藉助乙太網卡跟乙太網交換機來完成的。

        第三種:iSCSI-HBA卡+iSCSI交換機

             採用HBA卡可以將SCSI協議封裝成iSCSI協議,以及iSCSI封裝成TCP/IP的過程全部由HBA卡來完成,極大的提升的資料的傳輸速率。它同樣是藉助於亞太網交換機來完成網路連線,之所以不使用iSCSI交換機是因為iSCSI交換機不是真正意義上的交換機,而是一種整合在HBA卡上面的協議轉換器。用來進行協議轉換。


        這些大概就是SCSI協議跟IP SAN組網的一些知識點,協議小結我會在實驗環境中將IP SAN儲存網路的步驟整理出來。