基于IBA的SRP Target的研究與實現(xiàn)
引言
InfiniBand是一種新的互連技術,它將I/O系統(tǒng)與CPU/Mem分開??朔水斍癐/O結構的種種弊端,提供了高帶寬、低延遲、可擴展的I/0互連。SRP協(xié)議是Infini-Band中的一種通信協(xié)議,在InfiniBand中將SCSI命令進行打包,允許SCSI命令通過RDMA(遠程直接內(nèi)存訪問)在不同的系統(tǒng)之間進行通信.實現(xiàn)存儲設備共享和RDMA通信服務。
1 SRP Target簡介
SRP Target將系統(tǒng)中的存儲設備信息映射到IB網(wǎng)絡上.讓SRP Initiator端的服務器能夠在IB網(wǎng)絡上獲取到這些SCSI存儲設備的信息,并可通過與SRP Target對存儲設備的進行訪問。
圖1為SRP Target的協(xié)議棧結構,如圖所示,與IB鏈路直接連接的是InfiniBand HCA,它與SRP Initiator端的HCA建立了RDMA通道,負責提供RDMA通信服務。SRP Target區(qū)域包括了SCSI Target、SRP Target Drive和InfiniBand Driver三個部分。
2 SRP Target的實現(xiàn)
2.1 初始化SRP Target模塊
SCSI Target的初始化是指獲取系統(tǒng)中的SCSI存儲設備信息并注冊,以使模塊具有處理SCSI命令的功能。SRPTarget的初始化關鍵是使SRP Target與SCSI Target建立聯(lián)系,使其具有處理SRP信息、進行SCSI命令的轉換、進行m管理以及提供RDMA通道服務等功能。初始化完成之后,SRP Initiator便可以獲取IB網(wǎng)絡上的SCSI存儲設備信息。
2.2 讀操作的實現(xiàn)
讀操作是指SRP Initiator服務器從SRP Target服務器讀取信息的過程。讀操作包括了SRP Initiator從SRP Target服務器獲取SCSI存儲設備信息、查看存儲設備容量大小,讀取存儲設備文件信息等操作。實現(xiàn)具體過程如圖2所示。
當完成數(shù)據(jù)傳輸以后。SRP Target就要對執(zhí)行過程中所占有的資源進行釋放,為下一個任務騰出資源,SRP Tar一get就處于等待接收下一個任務的狀態(tài)中。
2.3 寫操作實現(xiàn)過程
寫操作是指SRP Initiator服務器從SRP Target服務器寫信息的過程。寫操作包括了SRP Initiator服務器向SRPTarget服務器上的存儲設備寫入數(shù)據(jù),對存儲設備進行格式化等操作。
釋放SCSI命令占有資源的操作過程與前述處理讀命令的過程是一致的。
2.4 處理異常中斷
當SRP Initiator通過RDMA通道向SRP Target發(fā)送SRP請求信息.要求RDMA通道對應的SRP Target端口接收SRP請求信息。端口執(zhí)行接收操作,但是出現(xiàn)異常中斷,接收SRP請求信息失敗,就要進行相應的處理措施.具體步驟如下:
評論