專利名稱:應用于ip san集群存儲系統的交換設備的制作方法
技術領域:
本發明涉及信息存儲領域,尤其涉及一種應用于互聯網協議(IP)存儲域網絡(SAN)集群存儲系統的交換設備和數據處理方法。
背景技術:
存儲域網絡(Storage Area Network, SAN)是ー種將存儲設備、連接設備和接ロ集成在ー個高速網絡中的技術,承擔了數據存儲任務,SAN網絡與局域網(LAN)業務網絡相隔離,存儲數據流不會占用業務網絡帶寬。早期的SAN采用的是光纖通道(FC)技術,基于IP網絡的小型計算機系統接ロ(iSCSI)協議出現以后,為了區分,業界就把SAN分為FC SAN和IPSAN。iSCSI是ー種在傳輸控制協議(TCP)/互聯網協議(IP)上進行數據塊傳輸的標準,實現了在IP網絡上運行小型計算機系統接ロ(SCSI)協議,基于iSCSI的存儲系統只需不多的投資便可以實現SAN存儲功能。IP SAN因為其價格便宜,部署方便,已經成為大多數·中小企業在選擇存儲系統時的首選。但是傳統的SAN在客戶容量或性能需求增加吋,只能通過提升硬件配置或者加入更多的磁盤實現,無法實現性能和容量的同時擴展,而且在做擴容時需要暫停前端業務,從而造成ー些不便。集群存儲系統可以實現系統的橫向和在線擴展,在増加系統容量的同時能夠同時實現性能的擴展,并且保證系統在擴容過程中前端業務的進行,實現系統的無縫升級。但是由于集群存儲系統是并發接入,也就是單個客戶端在接入時會并發的連接集群系統的多個節點,如圖1(a)所示,而iSCSI發起者需要一個存儲的IP地址來連接到存儲節點上,如圖1(b)所示。
發明內容
本發明提供了ー種應用于IP SAN集群存儲系統的交換設備和數據處理方法,以克服現有IP SAN存儲系統無法實現性能和容量的同時擴展的缺陷。本發明提供了一種應用于互聯網協議(IP)存儲域網絡(SAN)集群存儲系統的交換設備,該交換設備包括基于IP網絡的小型計算機系統接ロ(iSCSI)目標方模塊,與iSCSI發起者相連,用于接收iSCSI發起者傳輸的傳輸控制協議(TCP)/IP消息,解析所述TCP/IP消息獲得小型計算機系統接ロ(SCSI)指令,向數據處理模塊發送所述SCSI指令;所述數據處理模塊,分別與所述iSCSI目標方模塊和所述IP SAN集群存儲系統的存儲節點相連,用于接收所述數據處理模塊發送的所述SCSI指令,根據所述SCSI指令在存儲節點上執行數據的并發訪問。優選地,該交換設備還包括監控模塊,用于監控并維護所有存儲節點的節點狀態,以及向所述數據處理模塊發送節點狀態發生變化的存儲節點信息,所述存儲節點信息包括節點地址和節點狀態;
所述數據處理模塊,具體用于根據所述SCSI指令和所述監控模塊發送所述存儲節點信息在對應的存儲節點上執行數據的并發訪問。優選地,所述iSCSI目標方模塊,具體用于為所述iSCSI發起者提供所述交換設備的IP地址。優選地,所述監控模塊,具體用干定時或實時檢測與各存儲節點的連接,當預定時間內無法檢測到當前存儲節點,則將該當前存儲節點的節點狀態修改為故障狀態,若在預定時間內檢測到該當前存儲節點,則將該當前存儲節點的節點狀態修改為正常狀態;將新加入的存儲節點的節點狀態設置為正常狀態;以及向所述數據處理模塊發送節點狀態發生變化的存儲節點信息。優選地,所述數據處理模塊,具體用于將所述SCSI指令轉換為對應的操作,當所述操作為寫操作時,將數據進行分塊處理,將處理后的數據塊并發地寫入處于正常狀態的存儲節點上;當所述操作為讀操作時,從所述處于正常狀態的存儲節點讀取數據塊,將讀取到的所述數據塊組合成數據信息后發送至所述iSCSI目標方模塊。 優選地,所述iSCSI目標方模塊,還用于接收所述數據處理模塊發送的所述數據信息,以及向所述iSCSI發起者發送所述數據信息。本發明還提供了一種應用于互聯網協議(IP)存儲域網絡(SAN)集群存儲系統的數據處理方法,該方法包括接收基于IP網絡的小型計算機系統接ロ(iSCSI)發起者傳輸的傳輸控制協議(TCP)/IP消息,解析所述TCP/IP消息獲得小型計算機系統接ロ(SCSI)指令;根據所述SCSI指令在所述IP SAN集群存儲系統的存儲節點上執行數據的并發訪問。優選地,所述接收iSCSI發起者傳輸的TCP/IP消息之前,該方法還包括為所述iSCSI發起者提供所述IP SAN集群存儲系統的IP地址。優選地,所述根據所述SCSI指令在所述IP SAN集群存儲系統的存儲節點上執行數據的并發訪問包括監控并維護所有存儲節點的節點狀態,根據所述SCSI指令和存儲節點的當前狀態在對應的存儲節點上執行數據的并發訪問。優選地,所述根據所述SCSI指令和存儲節點的當前狀態在對應的存儲節點上執行數據的并發訪問,包括將所述SCSI指令轉換為對應的操作,當所述操作為寫操作時,將數據進行分塊處理,將處理后的數據塊并發地寫入處于正常狀態的存儲節點上;當所述操作為讀操作吋,從所述處于正常狀態的存儲節點讀取數據塊,將讀取到的所述數據塊組合成數據信息后發送至所述iSCSI發起者。本發明實施例,可以使IP SAN存儲系統實現橫向(scale-out)擴展,從而實現存儲系統容量和性能的線性擴展。
圖I (a)為現有的集群存儲系統的連接方式示意圖;圖I (b)為現有的iSCSI發起方的連接方式示意圖2為本發明應用于IPSAN集群存儲系統的交換設備實施例的結構示意圖;圖3為本發明應用于IP SAN集群存儲系統的數據處理方法實施例的流程圖。
具體實施例方式為使本發明的目的、技術方案和優點更加清楚明白,下文中將結合附圖對本發明的實施例進行詳細說明。需要說明的是,在不沖突的情況下,本申請中的實施例及實施例中的特征可以相互任意組合。為了將iSCSI技術和集群存儲技術進行融合,本發明通過在iSCSI發起者和SAN之間增加一級交換設備實現集群存儲設備的標準iSCSI接入。iSCSI發起者通過交換設備的IP地址與交換設備上的iSCSI目標方建立連接,交換設備將iSCSI目標方接收的數據通過并發的方式存儲到集群存儲上。本架構主要涉及iSCSI發起者與集群存儲間的交換設備,為了提高整個集群的傳輸效率,交換設備不是作為集群存儲的客戶端使用,它本 身就是集群存儲的ー個有機組成部分,如圖2所示,該交換設備主要包括三個部分iSCSI目標方模塊21、數據處理模塊22,其中iSCSI目標方模塊,與iSCSI發起者相連,用于接收iSCSI發起者傳輸的傳輸控制協議(TCP)/IP消息,解析所述TCP/IP消息獲得小型計算機系統接ロ(SCSI)指令,向數據處理模塊發送所述SCSI指令;所述數據處理模塊,分別與所述iSCSI目標方模塊和所述IP SAN集群存儲系統的存儲節點相連,用于接收所述數據處理模塊發送的所述SCSI指令,根據所述SCSI指令在存儲節點上執行數據的并發訪問。另外,該系統還可以包括監控模塊23,用于監控并維護所有存儲節點的節點狀態,以及向所述數據處理模塊發送節點狀態發生變化的存儲節點信息,所述存儲節點信息包括節點地址和節點狀態;此時,所述數據處理模塊,具體用于根據所述SCSI指令和所述監控模塊發送所述存儲節點信息在對應的存儲節點上執行數據的并發訪問。具體地,上述iSCSI目標方模塊將交換設備的IP地址提供給iSCSI發起者,建立連接后,iSCSI目標方模塊接收并解析由iSCSI發起者傳來的消息包中的SCSI指令,然后將SCSI指令交給數據處理模塊進行相關操作。由于iSCSI協議是個標準協議,iSCSI目標方的主要處理包括(I)將交換設備IP提供給iSCSI發起者;(2)解析TCP/IP消息包中的SCSI指令;(3)將SCSI指令交給數據處理模塊。上述監控模塊通過一個狀態表來監控并維護后端存儲節點的狀態,狀態表中記錄集群所有存儲節點的信息,包括節點地址、主機名以及節點狀態(正常狀態(up)/故障狀態(down))。系統監控模塊通過定時或實時地檢測系統與節點的連接確定節點的狀態,當一段時間無法Ping通存儲節點時,監控模塊認為該節點失去連接,并將該節點狀態修改為down,在節點可以連接后監控模塊會將該節點狀態修改為up ;集群存儲系統移除相關節點時,監控模塊會將該節點信息從狀態表中刪除,新加入節點會記錄到狀態表中并標記為up。當節點或系統狀態發生變化吋,監控模塊會及時通知數據處理模塊,數據處理模塊在數據并發寫入時會避開故障節點,寫入新添加的節點。上述數據處理模塊在接到SCSI指令后,將指令轉化為對存儲系統的操作,核心的處理是大塊數據讀寫時的并發處理。在大塊數據寫操作時,數據處理模塊會根據存儲系統的存儲策略(條帶化布局)將數據進行分塊處理(條帶化),然后將數據塊按照一定的規則(哈希處理或者指定布局信息,視具體存儲系統而定)存儲到后端的狀態為UP的存儲節點上。在大塊的數據讀操作時,數據處理模塊會按照之前指定的規則將數據由存儲節點讀取相關數據塊,之后將數據塊組合成完整的數據交給iSCSI目標方模塊封裝并發送至iSCSI發起者。由此可見,上述交換設備在IP SAN集群存儲系統上實現了 iSCSI目標方,一方面實現了集群存儲系統的iSCSI標準接入,簡化了集群存儲系統的使用;另一方面將橫向擴展架構應用到IP SAN中,實現了 IP SAN存儲系統的高可擴展性和高性能。本發明還提供了一種基于包含圖2所示交換設備的IP SAN集群存儲系統的數據處理方法,如圖3所示,該方法包括步驟301、接收iSCSI發起者傳輸的傳輸控制協議(TCP)/IP消息,解析所述TCP/IP消息獲得小型計算機系統接ロ(SCSI)指令;
在該步驟301之前,該方法還包括為所述iSCSI發起者提供所述IPSAN集群存儲系統的IP地址;步驟302、根據所述SCSI指令在所述IP SAN集群存儲系統的存儲節點上執行數據的并發訪問。該步驟302包括監控并維護所有存儲節點的節點狀態,根據所述SCSI指令和存儲節點的當前狀態在對應的存儲節點上執行數據的并發訪問;具體地,將所述SCSI指令轉換為對應的操作,當所述操作為寫操作時,將數據進行分塊處理,將處理后的數據塊并發地寫入處于正常狀態的存儲節點上;當所述操作為讀操作時,從所述處于正常狀態的存儲節點讀取數據塊,將讀取到的所述數據塊組合成數據信息后發送至所述iSCSI發起者。上述數據處理方法,在IP SAN集群存儲系統上實現了 iSCSI目標方,一方面實現了集群存儲系統的iSCSI標準接入,簡化了集群存儲系統的使用;另一方面將橫向擴展架構應用到IP SAN中,實現了 IP SAN存儲系統的高可擴展性和高性能。本領域普通技術人員可以理解上述方法中的全部或部分步驟可通過程序來指令相關硬件完成,上述程序可以存儲于計算機可讀存儲介質中,如只讀存儲器、磁盤或光盤等。可選地,上述實施例的全部或部分步驟也可以使用ー個或多個集成電路來實現。相應地,上述實施例中的各模塊/単元可以采用硬件的形式實現,也可以采用軟件功能模塊的形式實現。本發明不限制于任何特定形式的硬件和軟件的結合。以上實施例僅用以說明本發明的技術方案而非限制,僅僅參照較佳實施例對本發明進行了詳細說明。本領域的普通技術人員應當理解,可以對本發明的技術方案進行修改或者等同替換,而不脫離本發明技術方案的精神和范圍,均應涵蓋在本發明的權利要求范圍當中。
權利要求
1.一種應用于互聯網協議(IP)存儲域網絡(SAN)集群存儲系統的交換設備,其特征在于,該交換設備包括 基于IP網絡的小型計 算機系統接ロ(iSCSI)目標方模塊,與iSCSI發起者相連,用于接收iSCSI發起者傳輸的傳輸控制協議(TCP)/IP消息,解析所述TCP/IP消息獲得小型計算機系統接ロ(SCSI)指令,向數據處理模塊發送所述SCSI指令; 所述數據處理模塊,分別與所述iSCSI目標方模塊和所述IP SAN集群存儲系統的存儲節點相連,用于接收所述數據處理模塊發送的所述SCSI指令,根據所述SCSI指令在存儲節點上執行數據的并發訪問。
2.根據權利要求I所述的交換設備,其特征在干,該交換設備還包括 監控模塊,用于監控并維護所有存儲節點的節點狀態,以及向所述數據處理模塊發送節點狀態發生變化的存儲節點信息,所述存儲節點信息包括節點地址和節點狀態; 所述數據處理模塊,具體用于根據所述SCSI指令和所述監控模塊發送所述存儲節點信息在對應的存儲節點上執行數據的并發訪問。
3.根據權利要求I或2所述的交換設備,其特征在于 所述iSCSI目標方模塊,具體用于為所述iSCSI發起者提供所述交換設備的IP地址。
4.根據權利要求2所述的交換設備,其特征在于 所述監控模塊,具體用于定時或實時檢測與各存儲節點的連接,當預定時間內無法檢測到當前存儲節點,則將該當前存儲節點的節點狀態修改為故障狀態,若在預定時間內檢測到該當前存儲節點,則將該當前存儲節點的節點狀態修改為正常狀態;將新加入的存儲節點的節點狀態設置為正常狀態;以及向所述數據處理模塊發送節點狀態發生變化的存儲節點信息。
5.根據權利要求4所述的交換設備,其特征在干 所述數據處理模塊,具體用于將所述SCSI指令轉換為對應的操作,當所述操作為寫操作時,將數據進行分塊處理,將處理后的數據塊并發地寫入處于正常狀態的存儲節點上;當所述操作為讀操作時,從所述處于正常狀態的存儲節點讀取數據塊,將讀取到的所述數據塊組合成數據信息后發送至所述iSCSI目標方模塊。
6.根據權利要求5所述的交換設備,其特征在于 所述iSCSI目標方模塊,還用于接收所述數據處理模塊發送的所述數據信息,以及向所述iSCSI發起者發送所述數據信息。
7.一種應用于互聯網協議(IP)存儲域網絡(SAN)集群存儲系統的數據處理方法,其特征在于,該方法包括 接收基于IP網絡的小型計算機系統接ロ(iSCSI)發起者傳輸的傳輸控制協議(TCP)/IP消息,解析所述TCP/IP消息獲得小型計算機系統接ロ(SCSI)指令; 根據所述SCSI指令在所述IP SAN集群存儲系統的存儲節點上執行數據的并發訪問。
8.根據權利要求7所述的方法,其特征在于 所述接收iSCSI發起者傳輸的TCP/IP消息之前,該方法還包括 為所述iSCSI發起者提供所述IP SAN集群存儲系統的IP地址。
9.根據權利要求7或8所述的方法,其特征在于 所述根據所述SCSI指令在所述IP SAN集群存儲系統的存儲節點上執行數據的并發訪問包括 監控并維護所有存儲節點的節點狀態,根據所述SCSI指令和存儲節點的當前狀態在對應的存儲節點上執行數據的并發訪問。
10.根據權利要求9所述的方法,其特征在于 所述根據所述SCSI指令和存儲節點的當前狀態在對應的存儲節點上執行數據的并發訪問,包括 將所述SCSI指令轉換為對應的操作,當所述操作為寫操作時,將數據進行分塊處理,將處理后的數據塊并發地寫入處于正常狀態的存儲節點上;當所述操作為讀操作時,從所述處于正常狀態的存儲節點讀取數據塊,將讀取到的所述數據塊組合成數據信息后發送至所述iSCSI發起者。
全文摘要
本發明提供了一種應用于IP SAN集群存儲系統的交換設備和數據處理方法,其中,該交換設備包括基于IP網絡的小型計算機系統接口(iSCSI)目標方模塊,與iSCSI發起者相連,用于接收iSCSI發起者傳輸的TCP/IP消息,解析該TCP/IP消息獲得小型計算機系統接口(SCSI)指令,向數據處理模塊發送該SCSI指令;所述數據處理模塊,分別與iSCSI目標方模塊和IP SAN集群存儲系統的存儲節點相連,用于接收所述數據處理模塊發送的所述SCSI指令,根據所述SCSI指令在存儲節點上執行數據的并發訪問。本發明可以使IP SAN存儲系統實現橫向擴展,從而實現存儲系統容量和性能的線性擴展。
文檔編號H04L29/08GK102868739SQ20121032603
公開日2013年1月9日 申請日期2012年9月5日 優先權日2012年9月5日
發明者張在貴, 張立強 申請人:浪潮(北京)電子信息產業有限公司