天天看點

HBA詳解(原創)

hba概述 

主機總線擴充卡(host bus adapter,hba)是一個在伺服器和存儲裝置 間提供輸入/輸出(i/o)處理和實體連接配接的電路闆和/或內建電路擴充卡。因為hba減輕了主處理器在資料存儲和檢索任務的負擔,它能夠提高伺服器的性能。一個hba和與之相連的磁盤子系統有時一起被稱作一個磁盤通道。

hba的正常定義:就是連接配接主機i/o總線和計算機記憶體系統的i/o擴充卡。按照這個定義,像顯示卡就是連接配接視訊總線和記憶體,網卡就是連接配接網絡 總線和記憶體,scsi-fc卡就是連接配接scsi或者fc總線和記憶體的,它們都應該算是hba。hba卡有fc-hba和iscsi hba将來還有其他hba卡,但是,hba通常用在scsi。adapter(擴充卡)和nic用于fc;而nic也會用于以太網和令牌環網。

我們知道,一台計算機内部多半由兩條總線串在起來(當然實際情況會有不同,這裡隻讨論常見的,簡單的情況),一條總線叫系統總線,一條叫i/o總線。系統總線上接了cpu,memory,cache什麼的,i/o總線上接的就是外圍裝置,現如今最常見的就是pci總線了。這兩條總線之間用橋接的晶片或者說電路連接配接起來。舉個形象的例子,就好比一個城市裡,有兩條主幹道,一條屬于行政區,一條屬于商業區,中間有個環島,将兩條主幹道連接配接到了一起,系統總線就好比行政區裡的主幹道,而i/o總線就好比商業區的主幹道。系統總線和i/o總線的帶寬的機關都是以gbyte來記,但是顯而易見的是,行政區的主幹道和商業區的主幹道相比的話,前者肯定更“核心”,更寬,更順暢,設計的要求也高。

我們知道,在向公仆部門要求服務的時候,是要有一些接口的部門和程式的,而橋接晶片的作用就是連接配接和協調兩條總線的工作的。

雖然i/o總線的速度和系統總線的帶寬相比要低很多,但是好歹也是以g來計量的,而我們知道外圍裝置的速度,往往隻有幾百兆,甚至幾十k而已,怎麼協調工作呢?好比賣煎餅果子攤子不能直接戳到城市主幹道上,怎麼辦?好辦,在主幹道邊上開個2000平米的小吃城,把攤子都收進去好了。那麼主機總線擴充卡的作用也就是這個,我們就是要把外設組織起來,連接配接到i/o總線上去!hba就是指host和i/o bus直接的一個擴充卡,也好比一個水管工常說的“雙通”。 而hba的作用就是實作内部通道協定pci或sbus和光纖通道協定之間的轉換。

hba的重要性

在早期的san存儲系統中,伺服器與交換機的資料傳輸是通過光纖進行的,因為伺服器是把scsi指令傳輸到儲存設備上,不能走普通lan網的ip協定,是以需要使用fc傳輸,是以這種san就叫fc-san,而後期出現了用ip協定封裝的san,可以完全走普通lan網絡,是以叫做ip-san,其中最典型的就是現在熱門的iscsi。

這兩種方式都需要對資料塊進行繁重的讀包解包操作,是以高性能的san系統是需要在伺服器上安裝一塊專門負責解包工作以減輕處理器負擔的網卡,這種網卡大家就叫它hba卡,它除了執行解包工作外當然還可以提供一個光纖接口(如果是iscsi hba卡就是提供普通的rj45接口)以用于跟對應的交換機連接配接;另外,hba實體上你可以把它當作網卡一樣插在pci或者pci-e槽位裡,是以這種裝置的用法非常像一張網卡,很多人也就把它跟普通網卡或普通的光纖網卡混淆了。當然,有的iscsi hba卡就可以當作普通網卡來用,不過從價格上考慮這是非常奢侈的。 

hba的原理

常見的伺服器和儲存設備之間的資料通訊協定是ide,scsi和光纖通道。為了實作伺服器和儲存設備之間的通訊,通訊的兩端都需要實作同樣的通訊協定。 儲存設備上通常都有控制器,控制器實作了一種或幾種通訊協定,它可以實作ide,scsi或光纖通道等存儲協定到實體儲存設備的操作協定之間的轉換。而伺服器的通訊協定是由擴充卡或主機闆上的內建電路實作的,它負責實作伺服器内總線協定和ide,scsi等存儲協定的轉換。例如pc機中,一般主機闆上都有ide協定的功能,ide磁盤控制器上有ide協定的功能。是以ide磁盤可以連接配接到pc機的ide連接配接線上。如果磁盤隻支援scsi協定,那麼這種磁盤就不能直接與pc機連接配接。這時就需要在pc機擴充槽上插入一塊scsi卡,scsi磁盤可以與卡連接配接。scsi卡實作了pc總線到scsi的轉換。這種scsi卡實作的功能就是主機總線适配卡的功能。如果磁盤隻支援光纖通道協定,那麼伺服器上就需要支援光纖通道協定,因為光纖通道的高速特性一般伺服器主機闆都不支援,需要專門的主機總線适配卡。伺服器插入主機總線适配卡後,就可以與支援光纖通道的磁盤通過光纖通道連接配接了。

主機總線适配卡内部有一個小的中央處理器,一些記憶體作為資料緩存以及連接配接光纖通道和總線的連接配接器件等。這個小的中央處理器負責pci和光纖通道兩種協定的轉換。它還有其他的一些功能,初始化與光纖通道網絡連接配接的伺服器端口,支援上層協定例如tcp/ip,scsi等,8b/10b的編碼解碼等。

光纖網卡和hba的關系 

因傳輸協定的不同的,網卡可分為三種,一是以太網卡,二是fc網卡,三是iscsi網卡。

以太網卡:學名ethernet adapter,傳輸協定為ip協定,一般通過光纖線纜或雙絞線與以太網交換機連接配接。接口類型分為光口和電口。光口一般都是通過光纖線纜來進行資料傳輸,接口子產品一般為sfp(傳輸率2gb/s)和gbic(1gb/s),對應的接口為sc、st和lc。電口目前常用接口類型為rj45,用來與雙絞線連接配接,也有與同軸電纜連接配接的接口,不過現在已經用的比較少了。

fc網卡:一般也叫光纖網卡,學名fibre channel hba。傳輸協定為光纖通道協定,一般通過光纖線纜與光纖通道交換機連接配接。接口類型分為光口和電口。光口一般都是通過光纖線纜來進行資料傳輸,接口子產品一般為sfp(傳輸率2gb/s)和gbic(1gb/s),對應的接口為sc和lc。電口的接口類型一般為db9針或hssdc。

iscsi網卡:學名iscsi hba,傳輸iscsi協定,接口類型與以太網卡相同。

大家說的“光纖網卡”一般是指fc hba卡,插在伺服器上,外接存儲用的光纖交換機;而光口的以太網卡一般都叫做“光纖以太網卡”,也是插在伺服器上,不過它外接的是帶光口的以太網交換機。

下表對這些網卡進行了總結

網卡名稱

對應關系

fc-hba(光纖網卡)

hba卡

iscsi-hba卡

rj45接口

以太網卡

光纖接口的以太網卡(光纖以太網卡

參考至:http://www.it.com.cn/f/server/063/6/241650.htm

             http://baike.baidu.com/view/88016.htm

             http://blog.csdn.net/wyzxg/article/details/3278370

本文原創,轉載請注明出處、作者

如有錯誤,歡迎指正

郵箱:[email protected]

作者:czmmiao 原文位址:http://czmmiao.iteye.com/blog/1162210