一種應(yīng)用于高端磁盤陣列的跨控制器組寫鏡像方法和裝置制造方法
【專利摘要】提供一種應(yīng)用于高端磁盤陣列的跨控制器組寫鏡像方法和裝置,若接收到的寫數(shù)據(jù)請求為跨存儲控制器組寫數(shù)據(jù)請求,則生成所述數(shù)據(jù)的副本并在本地緩存,然后將所述數(shù)據(jù)的副本轉(zhuǎn)發(fā)到應(yīng)當(dāng)存儲所述數(shù)據(jù)的資源所屬的存儲控制器,所述資源所屬存儲控制器緩存接收到的所述數(shù)據(jù)的副本,并把所述數(shù)據(jù)鏡像到同組存儲控制器的鏡像存儲控制器上;在完成數(shù)據(jù)鏡像后,所述資源所屬的存儲控制器發(fā)送響應(yīng)消息到與所述客戶端主機(jī)連接的所述存儲控制器。所述方法和裝置只要進(jìn)行一次數(shù)據(jù)的轉(zhuǎn)發(fā)即可完成跨控制器組寫數(shù)據(jù)鏡像,減小了數(shù)據(jù)傳遞次數(shù),大大提高了鏡像的效率與性能。
【專利說明】—種應(yīng)用于高端磁盤陣列的跨控制器組寫鏡像方法和裝置
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及數(shù)據(jù)存儲【技術(shù)領(lǐng)域】,具體涉及一種應(yīng)用于高端磁盤陣列的跨控制器組寫鏡像方法和裝置。
【背景技術(shù)】
[0002]為了提高存儲系統(tǒng)的性能,存儲系統(tǒng)中引入緩存技術(shù),客戶端數(shù)據(jù)寫到控制器緩存中即認(rèn)為IO已經(jīng)完成,但緩存中的數(shù)據(jù)掉電易失,在多控制器存儲系統(tǒng)中緩存鏡像的管理是磁盤系統(tǒng)可用性與性能的關(guān)鍵,本地自動鏡像提供了較高的讀寫性能,如果跨控制器鏡像能采用本地鏡像的方式,則性能可以得到很大的提升。目前跨控制器進(jìn)行數(shù)據(jù)鏡像時,需要執(zhí)行兩次數(shù)據(jù)傳遞才能完成整個流程,這將嚴(yán)重影響整個存儲系統(tǒng)的性能。
【發(fā)明內(nèi)容】
[0003]針對以上缺陷,本發(fā)明提供一種應(yīng)用于高端磁盤陣列的跨控制器組寫鏡像方法和裝置,只要進(jìn)行一次數(shù)據(jù)的轉(zhuǎn)發(fā)即可完成跨控制器組寫鏡像,減小了數(shù)據(jù)傳遞次數(shù),大大提高了鏡像的效率與性能。
[0004]所述方法包括:
[0005]S1:與客戶端主機(jī)連接的存儲控制器接收客戶端主機(jī)發(fā)送的數(shù)據(jù)請求;
[0006]S2:解析所述數(shù)據(jù)請求,判斷所述數(shù)據(jù)請求的類型;
[0007]S3:如果是寫數(shù)據(jù)請求,則生成所述數(shù)據(jù)的副本,并加入相應(yīng)的鏈表中;
[0008]S4:將所述數(shù)據(jù)的副本轉(zhuǎn)發(fā)到應(yīng)當(dāng)存儲該數(shù)據(jù)的資源所屬存儲控制器;
[0009]S5:所述資源所屬存儲控制器緩存接收到的所述數(shù)據(jù)的副本,并把所述數(shù)據(jù)鏡像到同組存儲控制器的鏡像存儲控制器上;
[0010]S6:在完成數(shù)據(jù)鏡像后,所述資源所屬的存儲控制器發(fā)送響應(yīng)消息到與所述客戶端主機(jī)連接的所述存儲控制器。
[0011]一種應(yīng)用于高端磁盤陣列的跨控制器組寫鏡像裝置,設(shè)置在存儲控制器中,包括消息處理模塊、磁盤緩存資源管理模塊、跨存儲控制器寫鏡像模塊和通信模塊,其中
[0012]所述消息處理模塊,用于解析從客戶端主機(jī)接收的數(shù)據(jù)請求,判斷所述數(shù)據(jù)請求的類型;
[0013]所述磁盤緩存數(shù)據(jù)管理模塊,用于在所述數(shù)據(jù)請求為寫數(shù)據(jù)請求時,生成所述數(shù)據(jù)的副本,并將所述副本加入相應(yīng)的鏈表中;
[0014]所述跨控制器寫鏡像模塊,用于將所述數(shù)據(jù)的副本通過通信模塊轉(zhuǎn)發(fā)到應(yīng)當(dāng)存儲該數(shù)據(jù)的資源所屬存儲控制器;
[0015]所述通信模塊,用于建立本存儲控制器與其他存儲控制器之間的通信連接。
[0016]本發(fā)明的有益效果是只要進(jìn)行一次數(shù)據(jù)的轉(zhuǎn)發(fā)即可完成跨控制器組寫鏡像,減小了數(shù)據(jù)傳遞次數(shù),大大提高了鏡像的效率與性能?!緦@綀D】
【附圖說明】[0017]圖1為本發(fā)明提出的跨控制器組寫鏡像方法流程圖。
[0018]圖2為包括本發(fā)明提出的跨控制器組寫鏡像裝置的多個存儲控制器結(jié)構(gòu)框圖。
[0019]圖3為本發(fā)明提出的緩存數(shù)據(jù)組織形式。
[0020]圖4為本發(fā)明提出的所述裝置的通信模塊組網(wǎng)拓?fù)鋱D。
【具體實(shí)施方式】
[0021]結(jié)合附圖1至4對本發(fā)明的技術(shù)方案進(jìn)行詳細(xì)說明。本發(fā)明涉及一種高端磁盤陣列系統(tǒng)中存儲控制器組之間緩存鏡像的方法和裝置,將跨存儲控制器組寫鏡像數(shù)據(jù)轉(zhuǎn)化成遠(yuǎn)程存儲控制器本地緩存寫鏡像解決方案,實(shí)現(xiàn)跨存儲控制器組寫數(shù)據(jù)鏡像功能,提高了高端磁盤陣列中緩存數(shù)據(jù)跨存儲控制器寫性能及鏡像效率。磁盤陣列中的所有的LUN(全稱
為Logic unit number,邏輯單元編號)都有唯一的ID號與所屬存儲控制器--對應(yīng),系統(tǒng)
中多個存儲控制器對客戶端提供服務(wù),跨存儲控制器組寫鏡像技術(shù)對于數(shù)據(jù)的發(fā)起端,即客戶端主機(jī)透明,與客戶端主機(jī)連接的某一存儲控制器接收并解析出客戶端主機(jī)發(fā)起的數(shù)據(jù)請求,根據(jù)緩存數(shù)據(jù)所屬的LUN的ID號與存儲控制器的對應(yīng)關(guān)系,自動設(shè)置內(nèi)部寫數(shù)據(jù)方式。若客戶端主機(jī)連接除LUN資源所屬存儲控制器外的任意存儲控制器,寫數(shù)據(jù)請求通過內(nèi)部高速互聯(lián)鏈路進(jìn)行轉(zhuǎn)發(fā),LUN資源所屬存儲控制器接收到數(shù)據(jù)后轉(zhuǎn)化為本地寫鏡像,有效減小了跨存儲控制器組寫鏡像的消息通信次數(shù),降低了高端磁盤陣列多控制器寫數(shù)據(jù)鏡像的系統(tǒng)復(fù)雜度,克服了高端磁盤陣列跨控制器組寫鏡像性能瓶頸問題。
[0022]參見附圖1,本發(fā)明提出的應(yīng)用于高端磁盤陣列的跨控制器組寫鏡像方法包括:
[0023]S1:與客戶端主機(jī)連接的存儲控制器接收客戶端主機(jī)發(fā)送的數(shù)據(jù)請求;
[0024]S2:所述存儲控制器中的消息處理模塊解析所述數(shù)據(jù)請求,判斷所述數(shù)據(jù)請求的類型;
[0025]如果是讀數(shù)據(jù)請求,則根據(jù)存儲所述數(shù)據(jù)的資源的ID與所屬存儲控制器的對應(yīng)關(guān)系向相應(yīng)的存儲控制器轉(zhuǎn)發(fā)讀數(shù)據(jù)請求;
[0026]S3:如果是寫數(shù)據(jù)請求,則所述存儲控制器中的磁盤資源緩存模塊生成所述數(shù)據(jù)的副本,并加入相應(yīng)的鏈表中;
[0027]S4:所述存儲控制器中的跨控制器鏡像模塊將所述數(shù)據(jù)的副本轉(zhuǎn)發(fā)到應(yīng)當(dāng)存儲該數(shù)據(jù)的資源所屬存儲控制器;
[0028]S5:所述資源所屬存儲控制器通過一定的數(shù)據(jù)結(jié)構(gòu)緩存接收到的所述數(shù)據(jù)的副本,待所述數(shù)據(jù)轉(zhuǎn)發(fā)存儲完畢后,所述資源所屬存儲控制器啟動本地鏡像功能,把所述數(shù)據(jù)鏡像到同組存儲控制器的鏡像存儲控制器上;所述數(shù)據(jù)在所述鏡像存儲控制器上的組織方式如附圖3所示。
[0029]S6:在完成數(shù)據(jù)鏡像后,所述資源所屬的存儲控制器中的通信模塊(如圖4所示)發(fā)送響應(yīng)消息回到與所述客戶端主機(jī)連接的所述存儲控制器,至此數(shù)據(jù)鏡像過程完畢。
[0030]參見附圖2,本發(fā)明提出的所述裝置包括消息處理模塊、磁盤緩存資源管理模塊、跨存儲控制器寫鏡像模塊和通信模塊,其中
[0031]所述的消息處理模塊,用于解析從客戶端主機(jī)接收的數(shù)據(jù)請求,判斷所述數(shù)據(jù)請求的類型??蛻舳酥鳈C(jī)連接任何存儲控制器都能處理讀寫數(shù)據(jù)請求,并根據(jù)讀寫的方式設(shè)置相應(yīng)的通信消息頭。讀寫數(shù)據(jù)請求消息的設(shè)置根據(jù)LUN所屬存儲控制器的關(guān)系來設(shè)定,如被訪問的LUN屬于本地存儲控制器,則設(shè)置成本地鏡像讀寫請求消息,如果屬于本存儲控制器組的遠(yuǎn)程存儲控制器,則設(shè)置成遠(yuǎn)程鏡像讀寫請求消息,如果屬于跨存儲控制器組的存儲控制器,則設(shè)定為跨存儲控制器組鏡像讀寫請求消息。
[0032]所述的磁盤緩存數(shù)據(jù)管理模塊,用于將所有從本存儲控制器或其他存儲控制器發(fā)送的數(shù)據(jù)存儲在鏈表中,特別是用于在所述數(shù)據(jù)請求為寫數(shù)據(jù)請求時,生成所述數(shù)據(jù)的副本,并加入相應(yīng)的鏈表中。所述鏈表的組織方式如附圖3。每臺存儲控制器用鏈表將所有分配的空閑頁掛接在一個雙向哈希鏈表中,寫入的數(shù)據(jù)都緩存在每臺存儲控制器對應(yīng)磁盤節(jié)點(diǎn)的鏈表上。當(dāng)控制系統(tǒng)發(fā)出刷寫后端磁盤命令時,所有存儲控制器釋放此緩存數(shù)據(jù),所有釋放的緩存數(shù)據(jù)所占據(jù)的頁移動到空余頁鏈表中。
[0033]所述的跨控制器寫鏡像模塊,當(dāng)客戶端主機(jī)發(fā)送讀寫請求時,其遠(yuǎn)程鏡像數(shù)據(jù)被模擬成本地?cái)?shù)據(jù),具體為遠(yuǎn)程存儲控制器接收到讀寫請求時,構(gòu)造一個對于本地寫鏡像的消息頭,并把這個消息頭和需要讀的數(shù)據(jù)轉(zhuǎn)發(fā)到本地存儲控制器,本地存儲控制器接收到本地鏡像寫消息與數(shù)據(jù)后,進(jìn)行相應(yīng)的本地寫鏡像操作,在本地控制器看來,和本地?cái)?shù)據(jù)寫鏡像毫無差別,這樣,遠(yuǎn)程數(shù)據(jù)被模擬成了本地?cái)?shù)據(jù)。所述的跨控制器寫鏡像模塊,特別是用于將所述數(shù)據(jù)的副本轉(zhuǎn)發(fā)到應(yīng)當(dāng)存儲該數(shù)據(jù)的資源所屬存儲控制器。所述轉(zhuǎn)發(fā)過程具體為:將所述副本在本地內(nèi)存進(jìn)行DMA映射,以LUN資源所屬存儲控制器為目標(biāo),所述副本數(shù)據(jù)通過遠(yuǎn)程DMA通道進(jìn)行發(fā)送。
[0034]所述通信模塊,用于建立本存儲控制器與其他存儲控制器之間的通信連接,本存儲控制器中的跨控制器寫鏡像模塊使用該通信模塊通過遠(yuǎn)程DMA方式實(shí)現(xiàn)數(shù)據(jù)轉(zhuǎn)發(fā)。所述遠(yuǎn)程DMA方式能大大減小大批量數(shù)據(jù)交換時CPU的負(fù)擔(dān),騰出CPU周期處理其它CPU負(fù)載量較大的業(yè)務(wù)。存儲控制器的通信模塊之間建立的拓?fù)鋱D如附圖4所示。所述通信模塊還用于從所述資源所屬存儲控制器接收響應(yīng)消息。
[0035]當(dāng)然,本發(fā)明還可有其他多種實(shí)施例,在不背離本發(fā)明精神及其實(shí)質(zhì)的情況下,熟悉本領(lǐng)域的技術(shù)人員當(dāng)可根據(jù)本發(fā)明作出各種相應(yīng)的改變和變形,但這些相應(yīng)的改變和變形都應(yīng)屬于本發(fā)明的權(quán)利要求的保護(hù)范圍。
【權(quán)利要求】
1.一種應(yīng)用于高端磁盤陣列的跨控制器組寫鏡像方法,其特征在于包括: Si:與客戶端主機(jī)連接的存儲控制器接收客戶端主機(jī)發(fā)送的數(shù)據(jù)請求; S2:解析所述數(shù)據(jù)請求,判斷所述數(shù)據(jù)請求的類型; S3:如果是寫數(shù)據(jù)請求,則生成所述數(shù)據(jù)的副本,并加入相應(yīng)的鏈表中; S4:將所述數(shù)據(jù)的副本轉(zhuǎn)發(fā)到應(yīng)當(dāng)存儲該數(shù)據(jù)的資源所屬存儲控制器; S5:所述資源所屬存儲控制器緩存接收到的所述數(shù)據(jù)的副本,并把所述數(shù)據(jù)鏡像到同組存儲控制器的鏡像存儲控制器上; S6:在完成數(shù)據(jù)鏡像后,所述資源所屬的存儲控制器發(fā)送響應(yīng)消息到與所述客戶端主機(jī)連接的所述存儲控制器。
2.如權(quán)利要求1所述的方法,其特征在于: 若所述存儲該數(shù)據(jù)的資源所屬存儲控制器為跨存儲控制器組的存儲控制器,則所述數(shù)據(jù)請求具體為跨存儲控制器組寫數(shù)據(jù)請求。
3.如權(quán)利要求1或2所述的方法,其特征在于: 將所述數(shù)據(jù)的副本轉(zhuǎn)發(fā)到應(yīng)當(dāng)存儲該數(shù)據(jù)的資源所屬存儲控制器具體為:將所述數(shù)據(jù)的副本在本地內(nèi)存進(jìn)行DMA映射,以存儲該數(shù)據(jù)的資源所屬存儲控制器為目標(biāo),通過遠(yuǎn)程DMA通道進(jìn)行發(fā)送。
4.一種應(yīng)用于高端磁盤陣列的跨控制器組寫鏡像裝置,設(shè)置在存儲控制器中,其特征在于包括消息處理模塊、磁盤緩存資源管理模塊、跨存儲控制器寫鏡像模塊和通信模塊,其中 所述消息處理模塊,用于解析從客戶端主機(jī)接收的數(shù)據(jù)請求,判斷所述數(shù)據(jù)請求的類型; 所述磁盤緩存數(shù)據(jù)管理模塊,用于在所述數(shù)據(jù)請求為寫數(shù)據(jù)請求時,生成所述數(shù)據(jù)的副本,并將所述副本加入相應(yīng)的鏈表中; 所述跨控制器寫鏡像模塊,用于將所述數(shù)據(jù)的副本通過通信模塊轉(zhuǎn)發(fā)到應(yīng)當(dāng)存儲該數(shù)據(jù)的資源所屬存儲控制器; 所述通信模塊,用于建立本存儲控制器與其他存儲控制器之間的通信連接。
5.如權(quán)利要求4所述的裝置,其特征在于: 所述通信模塊將所述數(shù)據(jù)的副本在本地內(nèi)存進(jìn)行DMA映射,以存儲該數(shù)據(jù)的資源所屬存儲控制器為目標(biāo),通過遠(yuǎn)程DMA通道進(jìn)行發(fā)送。
6.如權(quán)利要求4或5所述的裝置,其特征在于:所述通信模塊還從所述資源所屬存儲控制器接收響應(yīng)消息。
【文檔編號】G06F3/06GK103577125SQ201310598327
【公開日】2014年2月12日 申請日期:2013年11月22日 優(yōu)先權(quán)日:2013年11月22日
【發(fā)明者】李偉國, 呂爍, 周耀輝, 韓東濤 申請人:浪潮(北京)電子信息產(chǎn)業(yè)有限公司