SAN儲存網路管理系統中HBA應用層API的實現

2021-08-23 11:16:48 字數 1750 閱讀 7168

隨著資訊資料量的急速膨脹,儲存越來越追求效率和無限可擴充套件性,而san光纖儲存網路是現在非常流行的一種解決方案。光纖通訊具有無可比擬的高速資料量傳輸,加上網路化的儲存管理,及無限**的可擴容性,這一行業的市場前景非常樂觀。

乙個簡單的光纖儲存網路主要有以下幾大組成部分:

1) 儲存裝置,一般是磁碟陣列櫃

2) 光纖通道卡,也就是fc hba,類似於網絡卡

3) 光纖通道交換機,可以實現資料路由及硬分割槽管理等

4) 應用主機伺服器,安裝光纖通道卡

相應的,也需要有相關的管理系統對整個儲存網路進行管理配置。一般來說,管理系統主要分兩大部分,一部分是光纖通道卡的管理,另一部分則是對儲存的管理。

乙個大型的san儲存網路中,可能有很多不同廠家,不同型號的光纖通道卡,這就對卡的管理提了乙個很大的難題。而且暫時也沒有乙個統一的規範和工業標準支援。t11組織就提出了common hba api的概念,提供對上層應用的統一的api標準介面呼叫。相關的規範可以參看t11的主頁: [url]

這樣對上層管理系統來說,它就不再需要關心底層硬體的細節,只是通過標準介面的呼叫對卡進行管理和配置。我們只需要實現特定hba的應用層api即可,通過登錄檔(windows平台)或配置檔案,common hba api可以裝載這些應用層api。

hba應用層api一般需要和特定光纖通道卡驅動進行互動,在windows作業系統下,可以採用deviceiocontrol api,如下面的示例**:

srb_buffer smpi;

ioctlpayload_t *py = null;

dword cbdata;

bool ret;

smpi.sic.headerlength = sizeof(srb_io_control);

smpi.sic.timeout = 1000;

smpi.sic.length = 4000-sizeof(srb_io_control);

smpi.sic.controlcode = vendor_ioctl_fc;

strncpy ((char *) smpi.sic.signature, vendor_ioctl_signature, 8);

py = (ioctlpayload_t *)smpi.ucdatabuffer;

py->signature = vendor_signature;

py->majorfunction = majorfunc;

py->minorfunction = minorfunc;

py->length = sizeof(ioctlpayload_t);

py->status = -1;

ret = deviceiocontrol(handle, // device handle

ioctl_scsi_miniport, // io control code

&smpi, // input buffer

4000,

&smpi, // output buffer

4000,

&cbdata, // # bytes returned

null); // synchronous call

當然如果是linux作業系統,也有相關的ioctl api進行互動。具體的**實現就不多說了。

[url]

SAN網路化儲存介紹

i san 資料整合解決方案 san資料整合解決方案通過集中資金和人力,提高資產利用率 降低運營成本,並按照你的商業需求自動再分配儲存資源。ibm san資料整合解決方案 如果您的企業也和大多數企業一樣,分支企業分處於不同的儲存環境。其結果通常是儲存效能不能得到充分使用,再分配或重配置儲存資源又經常...

儲存陣列和SAN網路的典型部署

在企業內部做iaas,共享儲存資源池是必然要求,對於大部分企業來講,其實並不需要太多新技術,傳統的san儲存網路在當下是絕對能夠非常良好的支撐iaas私有雲的,儲存陣列和san交換機就夠了,至於該買什麼牌子,同檔次裡找便宜的吧,不差錢的話,推薦emc的儲存解決方案。這篇將以emc vnx和博科交換機...

SAN網路上的儲存備份和恢復

san網路上的儲存備份和恢復 資料遷移可能會使得你的備份工作變得更加複雜。因此,你可能會要使用到一些你所不熟悉的備份策略。在本篇中,我會談及一些san環境中的備份目標和可以幫助你實現這些目標的san備份方式。備份目標 在規劃儲存區域網路的備份時有兩個重要的目標值得留意。首先是消除備份視窗。當前的資料...