專利名稱:一種基于iSCSI協(xié)議的IP存儲控制方法及其裝置的制作方法
技術領域:
本發(fā)明屬于網(wǎng)絡存儲領域,具體提出了一種基于iSCSI協(xié)議的IP存儲控制方法及其裝置。
背景技術:
千兆以太網(wǎng)的不斷發(fā)展和普及,為IP存儲的快速發(fā)展奠定了堅實的基礎,國際數(shù)據(jù)公司(IDC)最新公布的外部磁盤存儲系統(tǒng)市場統(tǒng)計數(shù)據(jù)表明,近年來IP存儲市場持續(xù)大幅增長,與2004年第四季度相比,2005年第一季度全球IP存儲增長了22%。IP存儲將成為下一代網(wǎng)絡存儲的重要發(fā)展方向之一。
相對于光纖通道存儲而言,IP存儲具有下列優(yōu)點1)基于IP協(xié)議傳送SCSI指令集,使SCSI數(shù)據(jù)塊能夠在高速千兆以太網(wǎng)上進行傳輸,并利用IP協(xié)議的技術標準實現(xiàn)SCSI和TCP/IP協(xié)議的連接,使系統(tǒng)成為一個低成本、組織靈活、開放式架構的存儲平臺。
2)能充分利用已有的IP網(wǎng)絡資源,包括IP網(wǎng)絡結構、管理工具、安全技術以及IP網(wǎng)絡的使用經(jīng)驗。而且對于以局域網(wǎng)為網(wǎng)絡環(huán)境的用戶,需要不多的投資,就可以方便、快捷地對信息和數(shù)據(jù)進行交互式傳輸和管理。
3)突破光纖通道存儲傳輸距離的限制(10公里),可以利用IP網(wǎng)絡提供一個高速(需要高速鏈路的支持)、遠距離的存儲解決方案。
隨著萬兆以太網(wǎng)絡的發(fā)展和普及,IP存儲的性能將進一步得到提高。
目前,實現(xiàn)IP存儲的協(xié)議主要有三種,它們分別是基于IP的光纖通道協(xié)議(FCIP)、Internet的光纖通道協(xié)議(iFCP)和因特網(wǎng)小型微型計算機系統(tǒng)接口協(xié)議(iSCSI)。其中前兩種協(xié)議的主要目的是通過IP網(wǎng)絡連接FC存儲區(qū)域網(wǎng)(FC SAN)以構成一個范圍更大的FC SAN,構成后的存儲還是光纖通道存儲,而iSCSI協(xié)議則可以完全脫離光纖通道來構建純IP儲區(qū)域網(wǎng)(IP SAN)。
對于基于iSCSI協(xié)議的IP存儲而言,目前主要存在下列問題第一、主要適用點到點結構,即存儲訪問發(fā)起端(initiator)和存儲目標端(target)之間一一對應地配置和使用,這種存儲體系結構不利于存儲規(guī)模的擴大。
第二、不支持多個存儲應用服務器對同一存儲設備的并發(fā)存儲訪問。
發(fā)明內容
本發(fā)明的目的在于提供一種基于iSCSI協(xié)議的IP存儲控制方法,該方法不僅可以實現(xiàn)存儲應用服務器和iSCSI存儲設備的交換互連,而且還能支持多個存儲應用服務器對同一iSCSI存儲設備的并發(fā)存儲訪問,克服了傳統(tǒng)iSCSI存儲中點到點結構的不足;本發(fā)明還提供了實現(xiàn)該方法的裝置。
本發(fā)明提供的一種基于iSCSI協(xié)議的IP存儲控制方法,其步驟為(1)初始化(1.1)運行簡單網(wǎng)絡管理協(xié)議,識別出所有預置有iSCSI信息庫的存儲應用服務器和iSCSI存儲設備;(1.2)對識別出的iSCSI存儲設備進行虛擬化處理,得到邏輯存儲設備;(1.3)建立存儲應用服務器與邏輯存儲設備之間的存儲訪問控制策略和路由表;(1.4)建立元數(shù)據(jù)的共享鎖和互斥鎖,建立共享隊列和互斥隊列;(2)路由信息提取與路由處理(2.1)從存儲應用服務器發(fā)出的存儲讀/寫服務訪問請求中提取IP地址和TCP端口號;(2.2)根據(jù)IP地址和TCP端口號定位邏輯目標存儲設備;(2.3)檢查訪問請求是否與存儲訪問控制策略相一致,如果不一致轉向步驟(2.1);(2.4)將訪問請求按照路由表映射到邏輯目標存儲設備所在的端口;(3)并發(fā)操作處理
(3.1)利用鎖機制,判斷是否存在對同一元數(shù)據(jù)的并發(fā)操作,如果是,進入步驟(3.2),否則,各操作并行進行,完成后修改元數(shù)據(jù)信息,并向存儲應用服務器反饋更新信息,然后轉向步驟(2);(3.2)判斷元數(shù)據(jù)的并發(fā)操作為共享操作還是互斥操作,如果為共享操作,則讀優(yōu)先,寫操作進入共享隊列等待;否則,選擇一個寫操作執(zhí)行,其余的寫操作進入互斥隊列等待;被選中的寫操作執(zhí)行完成后修改元數(shù)據(jù)信息,并向存儲應用服務器反饋更新信息;(3.3)從共享隊列和/或互斥隊列中挑選等待的寫操作執(zhí)行,執(zhí)行完成后修改元數(shù)據(jù)信息,并向存儲應用服務器反饋更新信息;(3.4)判斷共享隊列和互斥隊列是否都為空,如果都為空,則轉向步驟(2),否則轉向步驟(3.3)。
實現(xiàn)上述方法的裝置,連接存儲應用服務器和iSCSI存儲設備;其特征在于該裝置包括存儲目標模塊、存儲訪問發(fā)起模塊、存儲管理模塊、存儲虛擬化模塊和訪問控制模塊;存儲應用服務器中設置有用于獲取元數(shù)據(jù)信息的可裝載文件系統(tǒng)功能模塊;存儲目標模塊用于與存儲應用服務器通信、判斷其訪問權限,執(zhí)行元數(shù)據(jù)的鎖管理功能,查詢和控制訪問控制模塊;存儲管理模塊用于控制存儲目標模塊、存儲訪問發(fā)起模塊和存儲虛擬化模塊,建立邏輯目標存儲設備與iSCSI存儲設備之間的初始路由表,并根據(jù)iSCSI存儲設備的動態(tài)變化更新路由表;存儲虛擬化模塊在存儲管理模塊的控制下,對存儲訪問發(fā)起模塊識別出的iSCSI存儲設備進行虛擬化處理,并為存儲目標模塊和訪問控制模塊提供統(tǒng)一的邏輯存儲設備;存儲訪問控制模塊用于傳遞存儲虛擬化模塊和iSCSI存儲設備之間的控制和數(shù)據(jù)信息,并接受來自存儲管理模塊的存儲設備管理信息;訪問控制模塊實施分區(qū)訪問控制和并發(fā)訪問控制,通過路由表實施存儲應用服務器與iSCSI存儲設備之間的存儲訪問控制功能。
本發(fā)明的特點主要表現(xiàn)在兩方面,其一是有效地將iSCSI Initiator和iSCSI Target功能集成在一起,實現(xiàn)對存儲應用服務器和iSCSI存儲設備的統(tǒng)一管理,其二是利用iSCSI信息建立會話路由表,實現(xiàn)交換功能和支持多個存儲應用服務器對同一iSCSI存儲設備的并發(fā)存儲訪問。利用該發(fā)明設計的存儲控制裝置,簡化了IP存儲的配置和管理,拓展了IP存儲體系結構,實現(xiàn)了存儲并發(fā)訪問控制和交換功能,有利于IP存儲的普及。
圖1為基于iSCSI協(xié)議的IP存儲控制方法流程圖;圖2為包含本發(fā)明裝置的存儲系統(tǒng)結構示意圖;圖3為IP存儲控制裝置的性能測試結果圖。
具體實施例方式
下面結合附圖對本發(fā)明作進一步詳細的說明。如圖1所示,本發(fā)明方法的步驟為(1)初始化;(1.1)運行簡單網(wǎng)絡管理協(xié)議,識別出所有預置有iSCSI信息庫的存儲應用服務器和iSCSI存儲設備;(1.2)對識別出的iSCSI存儲設備進行虛擬化處理,得到邏輯目標存儲設備;(1.3)建立存儲應用服務器與邏輯目標存儲設備之間的存儲訪問控制策略,同時生成邏輯目標存儲設備與iSCSI存儲設備之間的初始路由表;(1.4)建立元數(shù)據(jù)的共享鎖和互斥鎖,分別用于處理寫-讀相關和寫-寫相關,同時建立共享隊列和互斥隊列;(2)路由信息提取與路由處理(2.1)從存儲應用服務器發(fā)出的存儲讀/寫服務訪問請求中提取IP地址和TCP端口號;(2.2)根據(jù)步驟(2.1)中提取的IP地址和TCP端口號定位邏輯目標存儲設備;
(2.3)檢查訪問請求是否與步驟(1.3)中建立的存儲應用服務器與邏輯目標存儲設備之間的存儲訪問控制策略相一致,如果不一致則終止該訪問請求,轉向步驟(2.1)重新接收新的請求。
(2.4)將訪問請求按照步驟(1.3)中建立的路由表映射到邏輯目標存儲設備所對應的端口;(3)并發(fā)操作處理(3.1)利用鎖機制,判斷是否存在對同一元數(shù)據(jù)的并發(fā)操作,如果是,進入步驟(3.2),否則,各操作并行進行,每個操作完成后分別修改元數(shù)據(jù)信息,并向存儲應用服務器反饋更新信息,然后轉向步驟(2)進入下一輪存儲訪問操作處理;(3.2)判斷元數(shù)據(jù)的并發(fā)操作為共享操作還是互斥操作,如果為共享操作,則讀優(yōu)先,寫操作進入共享隊列等待;否則,按照預先設定的策略(如按優(yōu)先級、順序或隨機)選擇一個寫操作執(zhí)行,其余的寫操作按設定的策略進入互斥隊列等待;被選中的寫操作執(zhí)行完成后修改元數(shù)據(jù)信息,并向存儲應用服務器反饋更新信息;(3.3)從共享隊列和/或互斥隊列中挑選等待的寫操作執(zhí)行,執(zhí)行完成后修改元數(shù)據(jù)信息,并向存儲應用服務器反饋更新信息;(3.4)判斷共享隊列和互斥隊列是否都為空,如果都為空,則轉向步驟(2),否則轉向步驟(3.3)。
如圖2所示,實現(xiàn)上述方法的IP存儲控制裝置2由存儲目標模塊4、存儲訪問發(fā)起模塊5、存儲管理模塊6、存儲虛擬化模塊7和訪問控制模塊8五部分組成。
存儲控制裝置2連接存儲應用服務器1和iSCSI存儲設備3,共同構成IP存儲系統(tǒng),實現(xiàn)多個存儲應用服務器和多個iSCSI存儲設備的交換,支持多個存儲應用服務器對同一iSCSI存儲設備的并發(fā)存儲訪問,從而克服了傳統(tǒng)iSCSI存儲中點到點結構的不足。存儲應用服務器1由m個子存儲應用服務器1.1~1.m構成,在各子存儲應用服務器1.1~1.m中均設置有可裝載文件系統(tǒng)功能模塊9.1~9.m,用于獲取元數(shù)據(jù)信息,iSCSI存儲設備3由n個子iSCSI存儲設備3.1~3.n構成,其中,m和n的取值主要由裝置的端口數(shù)量確定。
存儲目標模塊4用于接收存儲應用服務器1發(fā)出的存儲讀/寫服務請求,提取該請求中的IP地址和TCP端口號并定位邏輯存儲設備,然后查詢訪問控制模塊8,判斷存儲應用服務器是否有對邏輯存儲設備的訪問權限,如果沒有訪問權限就拒絕該請求,如果具有訪問權限,則接受該請求,并通過訪問控制模塊8向被存儲虛擬化模塊7虛擬化后的邏輯存儲設備轉發(fā)存儲應用服務器的存儲訪問請求。除上述功能外,存儲目標模塊4還執(zhí)行元數(shù)據(jù)的鎖管理功能,并與存儲應用服務器端的可裝載文件系統(tǒng)功能模塊9.1~9.m通信,向存儲應用服務器1反饋待訪問數(shù)據(jù)的元數(shù)據(jù)鎖狀態(tài)。
存儲管理模塊6利用簡單網(wǎng)絡管理協(xié)議(SNMP),控制存儲目標模塊4識別預置有iSCSI信息庫的存儲應用服務器1,并控制存儲訪問發(fā)起模塊5識別預置有iSCSI信息庫的iSCSI存儲設備3,在此基礎之上,存儲管理模塊6還要控制存儲虛擬化模塊7對存儲訪問發(fā)起模塊6識別出的iSCSI存儲設備進行虛擬化處理,在此基礎上建立邏輯目標存儲設備與iSCSI存儲設備之間的初始路由表,并根據(jù)iSCSI存儲設備的動態(tài)變化更新路由表。
存儲虛擬化模塊7在存儲管理模塊6的控制下,對存儲訪問發(fā)起模塊5識別出的iSCSI存儲設備進行虛擬化處理,從而屏蔽iSCSI存儲設備在物理特性上可能存在的不同(如容量、轉速),并為存儲目標模塊4和訪問控制模塊8提供統(tǒng)一的邏輯存儲設備,該邏輯存儲設備就是經(jīng)過虛擬化處理后的iSCSI存儲設備的存儲視圖。存儲虛擬化通過屏蔽不同存儲設備的物理差異并提供統(tǒng)一的存儲視圖來簡化存儲目標模塊4對iSCSI存儲設備讀/寫處理和簡化訪問控制模塊8對iSCSI存儲設備的訪問控制處理。
存儲訪問控制模塊5用于傳遞存儲虛擬化模塊7和iSCSI存儲設備之間的控制和數(shù)據(jù)信息,并接受來自存儲管理模塊6的存儲設備管理信息,被存儲訪問發(fā)起模塊5連接的iSCSI存儲設備經(jīng)過存儲虛擬化模塊7進行虛擬化處理后得到邏輯目標存儲設備。
訪問控制模塊8實施訪問控制功能,具體包括分區(qū)訪問控制和并發(fā)訪問控制。訪問控制模塊8從存儲應用服務器1發(fā)出的讀/寫請求中提取出存儲應用服務器的IP地址和TCP端口號,通過路由表實施存儲應用服務器1與iSCSI存儲設備3之間的存儲訪問控制功能。
我們基于INTEL XSCAL IOP技術進行了控制器原型設計,在100兆網(wǎng)絡環(huán)境下利用IOMeter軟件測試了系統(tǒng)性能″其中存儲應用服務器采用ADM1.6GHZ的CPU,512M內存,操作系統(tǒng)是Linux2.4.20-8;IP存儲設備采用XEON1.7GHZ CPU,512M內存,操作系統(tǒng)也是Linux2.4.20-8。存儲控制器為Intel IQ31244,256MRAM,2個Gb NIC,IOP600MHz。IOMeter設置為100%順序寫、I/O并發(fā)數(shù)為16。測試結果如圖3所示。
權利要求
1.一種基于iSCSI協(xié)議的IP存儲控制方法,其步驟為(1)初始化(1.1)運行簡單網(wǎng)絡管理協(xié)議,識別出所有預置有iSCSI信息庫的存儲應用服務器和iSCSI存儲設備;(1.2)對識別出的iSCSI存儲設備進行虛擬化處理,得到邏輯存儲設備;(1.3)建立存儲應用服務器與邏輯存儲設備之間的存儲訪問控制策略和路由表;(1.4)建立元數(shù)據(jù)的共享鎖和互斥鎖,建立共享隊列和互斥隊列;(2)路由信息提取與路由處理(2.1)從存儲應用服務器發(fā)出的存儲讀/寫服務訪問請求中提取IP地址和TCP端口號;(2.2)根據(jù)IP地址和TCP端口號定位邏輯目標存儲設備;(2.3)檢查訪問請求是否與存儲訪問控制策略相一致,如果不一致轉向步驟(2.1);(2.4)將訪問請求按照路由表映射到邏輯目標存儲設備所在的端口;(3)并發(fā)操作處理(3.1)利用鎖機制,判斷是否存在對同一元數(shù)據(jù)的并發(fā)操作,如果是,進入步驟(3.2),否則,各操作并行進行,完成后修改元數(shù)據(jù)信息,并向存儲應用服務器反饋更新信息,然后轉向步驟(2);(3.2)判斷元數(shù)據(jù)的并發(fā)操作為共享操作還是互斥操作,如果為共享操作,則讀優(yōu)先,寫操作進入共享隊列等待;否則,選擇一個寫操作執(zhí)行,其余的寫操作進入互斥隊列等待;被選中的寫操作執(zhí)行完成后修改元數(shù)據(jù)信息,并向存儲應用服務器反饋更新信息;(3.3)從共享隊列和/或互斥隊列中挑選等待的寫操作執(zhí)行,執(zhí)行完成后修改元數(shù)據(jù)信息,并向存儲應用服務器反饋更新信息;(3.4)判斷共享隊列和互斥隊列是否都為空,如果都為空,則轉向步驟(2),否則轉向步驟(3.3)。
2.一種實現(xiàn)權利要求1所述方法的裝置,連接存儲應用服務器和iSCSI存儲設備;其特征在于該裝置包括存儲目標模塊(4)、存儲訪問發(fā)起模塊(5)、存儲管理模塊(6)、存儲虛擬化模塊(7)和訪問控制模塊(8);存儲應用服務器中設置有用于獲取元數(shù)據(jù)信息的可裝載文件系統(tǒng)功能模塊;存儲目標模塊(4)用于與存儲應用服務器(1)通信、判斷其訪問權限,執(zhí)行元數(shù)據(jù)的鎖管理功能,查詢和控制訪問控制模塊(8);存儲管理模塊(6)用于控制存儲目標模塊(4)、存儲訪問發(fā)起模塊(5)和存儲虛擬化模塊(7),建立邏輯目標存儲設備與iSCSI存儲設備之間的初始路由表,并根據(jù)iSCSI存儲設備的動態(tài)變化更新路由表;存儲虛擬化模塊(7)在存儲管理模塊(6)的控制下,對存儲訪問發(fā)起模塊(5)識別出的iSCSI存儲設備進行虛擬化處理,并為存儲目標模塊(4)和訪問控制模塊(8)提供統(tǒng)一的邏輯存儲設備;存儲訪問控制模塊(5)用于傳遞存儲虛擬化模塊(7)和iSCSI存儲設備之間的控制和數(shù)據(jù)信息,并接受來自存儲管理模塊(6)的存儲設備管理信息;訪問控制模塊(8)實施分區(qū)訪問控制和并發(fā)訪問控制,通過路由表實施存儲應用服務器(1)與iSCSI存儲設備(3)之間的存儲訪問控制功能。
全文摘要
本發(fā)明公開了一種基于iSCSI協(xié)議的IP存儲控制方法和裝置。該方法包括初始化、路由信息提取與路由處理和并發(fā)操作處理三個步驟,它將iSCSI Initiator和iSCSI Target功能集成在一起,實現(xiàn)對存儲應用服務器和iSCSI存儲設備的統(tǒng)一管理,并利用iSCSI信息建立會話路由表,實現(xiàn)交換功能和支持多個存儲應用服務器對同一iSCSI存儲設備的并發(fā)存儲訪問。其裝置包括存儲目標模塊、存儲訪問發(fā)起模塊、存儲管理模塊、存儲虛擬化模塊和訪問控制模塊;存儲應用服務器中設置有用于獲取元數(shù)據(jù)信息的可裝載文件系統(tǒng)功能模塊。本發(fā)明克服了傳統(tǒng)iSCSI存儲中點到點結構的不足,簡化了IP存儲的配置和管理,拓展了IP存儲體系結構,實現(xiàn)了存儲并發(fā)訪問控制和交換功能,有利于IP存儲的普及。
文檔編號H04L12/56GK1753406SQ200510019668
公開日2006年3月29日 申請日期2005年10月26日 優(yōu)先權日2005年10月26日
發(fā)明者周敬利, 曾東, 余勝生, 秦磊華 申請人:華中科技大學