亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

數(shù)據(jù)存儲的方法及控制器的制造方法

文檔序號:6631950閱讀:231來源:國知局
數(shù)據(jù)存儲的方法及控制器的制造方法
【專利摘要】本發(fā)明公開了一種數(shù)據(jù)存儲的方法及控制器,涉及信息【技術(shù)領(lǐng)域】,可以提高可靠性。所述方法包括:控制器存儲虛擬LU的元數(shù)據(jù),虛擬LU的元數(shù)據(jù)包括虛擬LU的標(biāo)識與N個子LU的標(biāo)識之間的對應(yīng)關(guān)系,控制器接收主機發(fā)送的寫請求,該寫請求攜帶有虛擬LU的標(biāo)識,根據(jù)虛擬LU的標(biāo)識,查詢虛擬LU的元數(shù)據(jù),確定N個子LU的標(biāo)識,最后向N個子LU分別執(zhí)行寫請求。本發(fā)明適用于對LU存儲的數(shù)據(jù)進行備份。
【專利說明】數(shù)據(jù)存儲的方法及控制器

【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及信息【技術(shù)領(lǐng)域】,特別涉及一種數(shù)據(jù)存儲的方法及控制器。

【背景技術(shù)】
[0002]隨著企業(yè)業(yè)務(wù)的多元發(fā)展以及集中存儲的應(yīng)用需求,用戶對數(shù)據(jù)保護的要求越來越高,一種典型的數(shù)據(jù)保護方式為對待保護數(shù)據(jù)進行備份。一般地,數(shù)據(jù)的載體可以為LU (邏輯單元,Logical Unit),即對LU進行備份,得到對應(yīng)的多個副本。
[0003]目前,一種對LU進行數(shù)據(jù)存儲的方法,將提供原數(shù)據(jù)的LU作為主LU,并對該主LU進行備份,生成對應(yīng)的多個從LU,這些從LU即為主LU對應(yīng)的多個副本。
[0004]然而,當(dāng)通過對主LU進行備份生成多個從LU時,僅主LU能夠執(zhí)行主機發(fā)送的寫請求,而從LU無法執(zhí)行主機發(fā)送的寫請求,導(dǎo)致當(dāng)主LU發(fā)生不可恢復(fù)的故障時,例如,當(dāng)主LU所在硬盤故障或加載原數(shù)據(jù)失敗時,主機業(yè)務(wù)中斷,從而導(dǎo)致可靠性較低。


【發(fā)明內(nèi)容】

[0005]本發(fā)明提供一種數(shù)據(jù)存儲的方法及控制器,可以提高可靠性。
[0006]本發(fā)明采用的技術(shù)方案為:
[0007]第一方面,本發(fā)明提供一種數(shù)據(jù)存儲的方法,應(yīng)用于存儲系統(tǒng),所述存儲系統(tǒng)包括控制器、虛擬邏輯單元LU及N個子LU,所述N個子LU用于為所述虛擬LU提供存儲空間;所述控制器存儲所述虛擬LU的元數(shù)據(jù),所述虛擬LU的元數(shù)據(jù)包括所述虛擬LU的標(biāo)識與所述N個子LU的標(biāo)識之間的對應(yīng)關(guān)系;其中,N為不小于2的自然數(shù),所述方法包括:
[0008]所述控制器接收主機發(fā)送的寫請求,所述寫請求攜帶有所述虛擬LU的標(biāo)識;
[0009]所述控制器根據(jù)所述虛擬LU的標(biāo)識,查詢所述虛擬LU的元數(shù)據(jù),確定所述N個子LU的標(biāo)識;
[0010]所述控制器向所述N個子LU分別執(zhí)行所述寫請求。
[0011]結(jié)合第一方面,在第一方面的第一種可能的實現(xiàn)方式中,所述方法還包括:
[0012]所述控制器接收所述主機發(fā)送的讀請求,所述讀請求中攜帶有所述虛擬LU的標(biāo)識;
[0013]所述控制器根據(jù)所述虛擬LU的標(biāo)識,查詢所述虛擬LU的元數(shù)據(jù),從所述N個子LU的標(biāo)識中確定目標(biāo)子LU的標(biāo)識;
[0014]所述控制器向所述目標(biāo)子LU執(zhí)行所述讀請求。
[0015]結(jié)合第一方面,在第一方面的第二種可能的實現(xiàn)方式中,所述N個子LU包含變化位圖,所述方法還包括:
[0016]所述控制器將第m個子LU的標(biāo)識從所述元數(shù)據(jù)中移除;其中,所述第m個子LU為所述N個子LU中的任意一個;
[0017]所述控制器在所述第m個子LU的變化位圖中記錄所述第m個子LU發(fā)生變化的數(shù)據(jù)。
[0018]結(jié)合第一方面的第二種可能的實現(xiàn)方式,在第一方面的第三種可能的實現(xiàn)方式中,所述方法還包括:
[0019]所述控制器根據(jù)所述第m個子LU的變化位圖中L位指示變化的數(shù)據(jù),將所述N-1個子LU中的任一個子LU的變化位圖中與所述L位對應(yīng)的存儲地址中的數(shù)據(jù),寫入到所述第m個子LU的變化位圖中所述L位對應(yīng)的存儲地址中;
[0020]所述控制器將所述第m個子LU的變化位圖中所述L位恢復(fù)為數(shù)據(jù)未變化狀態(tài)。
[0021]結(jié)合第一方面,在第一方面的第四種可能的實現(xiàn)方式中,所述方法還包括:
[0022]所述控制器將第N+1個子LU的標(biāo)識添加到所述元數(shù)據(jù)中,則N+1個子LU用于為所述虛擬LU提供存儲空間,所述元數(shù)據(jù)更新為包括所述虛擬LU的標(biāo)識與所述N+1個子LU的標(biāo)識之間的對應(yīng)關(guān)系;
[0023]所述控制器根據(jù)所述元數(shù)據(jù),將所述N個子LU中的任一個子LU中的數(shù)據(jù)寫入到所述第N+1個子LU。
[0024]第二方面,本發(fā)明提供一種控制器,所述控制器位于存儲系統(tǒng),所述存儲系統(tǒng)還包括虛擬邏輯單元LU及N個子LU,所述N個子LU用于為所述虛擬LU提供存儲空間;其中,N為不小于2的自然數(shù),所述控制器包括:
[0025]存儲單元,用于存儲所述虛擬LU的元數(shù)據(jù),所述虛擬LU的元數(shù)據(jù)包括所述虛擬LU的標(biāo)識與所述N個子LU的標(biāo)識之間的對應(yīng)關(guān)系;
[0026]接收單元,用于接收主機發(fā)送的寫請求,所述寫請求攜帶有所述虛擬LU的標(biāo)識;
[0027]確定單元,用于根據(jù)所述接收單元接收的所述虛擬LU的標(biāo)識,查詢所述存儲單元存儲的所述虛擬LU的元數(shù)據(jù),確定所述N個子LU的標(biāo)識;
[0028]執(zhí)行單元,用于向所述確定單元確定的所述N個子LU分別執(zhí)行所述寫請求。
[0029]結(jié)合第二方面,在第二方面的第一種可能的實現(xiàn)方式中,
[0030]所述接收單元,還用于接收所述主機發(fā)送的讀請求,所述讀請求中攜帶有所述虛擬LU的標(biāo)識;
[0031]所述確定單元,還用于根據(jù)所述接收單元接收的所述虛擬LU的標(biāo)識,查詢所述存儲單元存儲的所述虛擬LU的元數(shù)據(jù),從所述N個子LU的標(biāo)識中確定目標(biāo)子LU的標(biāo)識;
[0032]所述執(zhí)行單元,還用于向所述確定單元確定的所述目標(biāo)子LU執(zhí)行所述讀請求。
[0033]結(jié)合第二方面,在第二方面的第二種可能的實現(xiàn)方式中,
[0034]所述確定單元確定的所述N個子LU包含變化位圖;
[0035]所述控制器還包括:移除單元、記錄單元;
[0036]所述移除單元,用于將第m個子LU的標(biāo)識從所述存儲單元存儲的所述元數(shù)據(jù)中移除;其中,所述第m個子LU為所述N個子LU中的任意一個;
[0037]所述記錄單元,用于在所述移除單元將所述第m個子LU的標(biāo)識移除后,在所述第m個子LU的變化位圖中記錄所述第m個子LU發(fā)生變化的數(shù)據(jù)。
[0038]結(jié)合第二方面的第二種可能的實現(xiàn)方式,在第二方面的第三種可能的實現(xiàn)方式中,所述控制器還包括:寫入單元;
[0039]所述寫入單元,用于根據(jù)所述記錄單元記錄的所述第m個子LU的變化位圖中L位指示變化的數(shù)據(jù),將所述N-1個子LU中的任一個子LU的變化位圖中與所述L位對應(yīng)的存儲地址中的數(shù)據(jù),寫入到所述第m個子LU的變化位圖中所述L位對應(yīng)的存儲地址中;
[0040]所述記錄單元,還用于將所述第m個子LU的變化位圖中所述L位恢復(fù)為數(shù)據(jù)未變化狀態(tài)。
[0041]結(jié)合第二方面,在第二方面的第四種可能的實現(xiàn)方式中,所述控制器還包括:添加單元;
[0042]所述添加單元,用于將第N+1個子LU的標(biāo)識添加到所述存儲單元存儲的所述元數(shù)據(jù)中,則N+1個子LU用于為所述虛擬LU提供存儲空間,所述元數(shù)據(jù)更新為包括所述虛擬LU的標(biāo)識與所述N+1個子LU的標(biāo)識之間的對應(yīng)關(guān)系;
[0043]所述寫入單元,還用于根據(jù)所述元數(shù)據(jù),將所述N個子LU中的任一個子LU中的數(shù)據(jù)寫入到所述第N+1個子LU。
[0044]第三方面,本發(fā)明提供一種控制器,所述控制器位于存儲系統(tǒng),所述存儲系統(tǒng)還包括虛擬邏輯單元LU及N個子LU,所述N個子LU用于為所述虛擬LU提供存儲空間;其中,N為不小于2的自然數(shù),所述控制器包括:
[0045]存儲器,用于存儲所述虛擬LU的元數(shù)據(jù),所述虛擬LU的元數(shù)據(jù)包括所述虛擬LU的標(biāo)識與所述N個子LU的標(biāo)識之間的對應(yīng)關(guān)系;
[0046]接收器,用于接收主機發(fā)送的寫請求,所述寫請求攜帶有所述虛擬LU的標(biāo)識;
[0047]處理器,用于根據(jù)所述接收器接收的所述虛擬LU的標(biāo)識,查詢所述存儲器存儲的所述虛擬LU的元數(shù)據(jù),確定所述N個子LU的標(biāo)識,并向所述N個子LU分別執(zhí)行所述寫請求。
[0048]結(jié)合第三方面,在第三方面的第一種可能的實現(xiàn)方式中,
[0049]所述接收器,還用于接收所述主機發(fā)送的讀請求,所述讀請求中攜帶有所述虛擬LU的標(biāo)識;
[0050]所述處理器,還用于根據(jù)所述接收器接收的所述虛擬LU的標(biāo)識,查詢所述存儲器存儲的所述虛擬LU的元數(shù)據(jù),從所述N個子LU的標(biāo)識中確定目標(biāo)子LU的標(biāo)識,并向所述目標(biāo)子LU執(zhí)行所述讀請求。
[0051]結(jié)合第三方面,在第三方面的第二種可能的實現(xiàn)方式中,
[0052]所述處理器確定的所述N個子LU包含變化位圖;
[0053]所述處理器,還用于將第m個子LU的標(biāo)識從所述存儲器存儲的所述元數(shù)據(jù)中移除;其中,所述第m個子LU為所述N個子LU中的任意一個;
[0054]所述處理器,還用于在所述第m個子LU的變化位圖中記錄所述第m個子LU發(fā)生變化的數(shù)據(jù)。
[0055]結(jié)合第三方面的第二種可能的實現(xiàn)方式,在第三方面的第三種可能的實現(xiàn)方式中,
[0056]所述處理器,還用于根據(jù)所述第m個子LU的變化位圖中L位指示變化的數(shù)據(jù),將所述N-1個子LU中的任一個子LU的變化位圖中與所述L位對應(yīng)的存儲地址中的數(shù)據(jù),寫入到所述第m個子LU的變化位圖中所述L位對應(yīng)的存儲地址中;
[0057]所述處理器,還用于將所述第m個子LU的變化位圖中所述L位恢復(fù)為數(shù)據(jù)未變化狀態(tài)。
[0058]結(jié)合第三方面,在第三方面的第四種可能的實現(xiàn)方式中,
[0059]所述處理器,還用于將第N+1個子LU的標(biāo)識添加到所述存儲器存儲的所述元數(shù)據(jù)中,則N+1個子LU用于為所述虛擬LU提供存儲空間,所述元數(shù)據(jù)更新為包括所述虛擬LU的標(biāo)識與所述N+1個子LU的標(biāo)識之間的對應(yīng)關(guān)系;
[0060]所述處理器,還用于根據(jù)所述元數(shù)據(jù),將所述N個子LU中的任一個子LU中的數(shù)據(jù)寫入到所述第N+1個子LU。
[0061]本發(fā)明提供的數(shù)據(jù)存儲的方法及控制器,應(yīng)用于存儲系統(tǒng),存儲系統(tǒng)包括控制器、虛擬LU及N個子LU,N個子LU用于為虛擬LU提供存儲空間,控制器存儲虛擬LU的元數(shù)據(jù),虛擬LU的元數(shù)據(jù)包括虛擬LU的標(biāo)識與N個子LU的標(biāo)識之間的對應(yīng)關(guān)系,其中,N為不小于2的自然數(shù),控制器首先接收主機發(fā)送的寫請求,該寫請求攜帶有虛擬LU的標(biāo)識,然后根據(jù)虛擬LU的標(biāo)識,查詢虛擬LU的元數(shù)據(jù),確定N個子LU的標(biāo)識,最后向N個子LU分別執(zhí)行寫請求。與目前通過對主LU進行備份生成多個從LU相比,本發(fā)明通過為虛擬LU添加多個對應(yīng)的子LU,即建立虛擬LU與多個實際的子LU之間的對應(yīng)關(guān)系,能夠?qū)崿F(xiàn)各個子LU均執(zhí)行主機發(fā)送的同一個寫請求,從而實現(xiàn)當(dāng)某個子LU發(fā)生不可恢復(fù)的故障時,其他子LU能夠執(zhí)行主機發(fā)送的寫請求,即避免主機業(yè)務(wù)中斷,從而可以提高可靠性。

【專利附圖】

【附圖說明】
[0062]為了更清楚地說明本發(fā)明或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對本發(fā)明描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其它的附圖。
[0063]圖1為本發(fā)明實施例中存儲系統(tǒng)的結(jié)構(gòu)示意圖;
[0064]圖2為本發(fā)明實施例中數(shù)據(jù)存儲的方法流程圖;
[0065]圖3為本發(fā)明實施例中另一種數(shù)據(jù)存儲的方法流程圖;
[0066]圖4為本發(fā)明實施例中鏡像LU的示意圖;
[0067]圖5為本發(fā)明實施例中添加子LU的過程示意圖;
[0068]圖6為本發(fā)明實施例中添加子LU的另一過程示意圖;
[0069]圖7為本發(fā)明實施例中添加子LU的又一過程示意圖;
[0070]圖8為本發(fā)明實施例中子LU分裂的過程示意圖;
[0071]圖9為本發(fā)明實施例中已分裂子LU反向同步的過程示意圖;
[0072]圖10為本發(fā)明實施例中又一種數(shù)據(jù)存儲的方法流程圖;
[0073]圖11為本發(fā)明實施例中又一種添加子LU的過程示意圖;
[0074]圖12為本發(fā)明實施例中控制器的結(jié)構(gòu)示意圖;
[0075]圖13為本發(fā)明實施例中另一種控制器的結(jié)構(gòu)示意圖;
[0076]圖14為本發(fā)明實施例中又一種控制器的結(jié)構(gòu)示意圖。

【具體實施方式】
[0077]下面將結(jié)合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術(shù)方案進行清楚地描述,顯然,所描述的實施例僅僅是本發(fā)明一部分實施例,而不是全部的實施例?;诒景l(fā)明中的實施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其它實施例,都屬于本發(fā)明保護的范圍。
[0078]本發(fā)明實施例提供的技術(shù)方案可以應(yīng)用于存儲系統(tǒng)中,存儲系統(tǒng)包括控制器、虛擬LU及N個子LU,如圖1所示。其中,N個子LU用于為虛擬LU提供存儲空間,控制器存儲虛擬LU的元數(shù)據(jù),虛擬LU的元數(shù)據(jù)包括虛擬LU的標(biāo)識與N個子LU的標(biāo)識之間的對應(yīng)關(guān)系,N為不小于2的自然數(shù)。
[0079]本發(fā)明實施例提供一種數(shù)據(jù)存儲的方法,能夠提高可靠性,如圖2所示,所述方法包括:
[0080]201、控制器接收主機發(fā)送的寫請求。
[0081 ] 其中,寫請求攜帶有虛擬LU的標(biāo)識。
[0082]對于本發(fā)明實施例,虛擬LU不占用實際的存儲空間,僅占用對應(yīng)的虛擬LU的標(biāo)識(ID, Identity),虛擬LU的標(biāo)識用于對虛擬LU進行唯一標(biāo)識。
[0083]202、控制器根據(jù)虛擬LU的標(biāo)識,查詢虛擬LU的元數(shù)據(jù),確定N個子LU的標(biāo)識。
[0084]對于本發(fā)明實施例,控制器存儲有虛擬LU的元數(shù)據(jù),虛擬LU的元數(shù)據(jù)包括虛擬LU的標(biāo)識與N個子LU的標(biāo)識之間的對應(yīng)關(guān)系。其中,N個子LU中存儲的數(shù)據(jù)相同。
[0085]對于本發(fā)明實施例,虛擬LU對應(yīng)有N個子LU的實現(xiàn)方式具體可以為:首先為虛擬LU添加第一個子LU,該子LU中存儲的數(shù)據(jù)為待備份數(shù)據(jù),然后為虛擬LU添加N-1個其他子LU,最后將待備份數(shù)據(jù)寫入N-1個其他子LU中。也可以同時為虛擬LU添加N個子LU,然后N個子LU同時執(zhí)行相同的寫請求。
[0086]203、控制器向N個子LU分別執(zhí)行寫請求。
[0087]對于本發(fā)明實施例,控制器對N個子LU執(zhí)行相同的寫請求,執(zhí)行該寫請求之后,該N個子LU中存儲的數(shù)據(jù)仍然相同。如控制器對N個子LU執(zhí)行并行的相同的寫請求,N個子LU中寫入相同的數(shù)據(jù),則N個子LU形成互為鏡像關(guān)系。
[0088]本發(fā)明實施例提供的數(shù)據(jù)存儲的方法,應(yīng)用于存儲系統(tǒng),存儲系統(tǒng)包括控制器、虛擬LU及N個子LU,N個子LU用于為虛擬LU提供存儲空間,控制器存儲虛擬LU的元數(shù)據(jù),虛擬LU的元數(shù)據(jù)包括虛擬LU的標(biāo)識與N個子LU的標(biāo)識之間的對應(yīng)關(guān)系,其中,N為不小于2的自然數(shù),控制器首先接收主機發(fā)送的寫請求,該寫請求攜帶有虛擬LU的標(biāo)識,然后根據(jù)虛擬LU的標(biāo)識,查詢虛擬LU的元數(shù)據(jù),確定N個子LU的標(biāo)識,最后向N個子LU分別執(zhí)行寫請求。與目前通過對主LU進行備份生成多個從LU相比,本發(fā)明實施例通過為虛擬LU添加多個對應(yīng)的子LU,即建立虛擬LU與多個實際的子LU之間的對應(yīng)關(guān)系,能夠?qū)崿F(xiàn)各個子LU均執(zhí)行主機發(fā)送的同一個寫請求,從而實現(xiàn)當(dāng)某個子LU發(fā)生不可恢復(fù)的故障時,其他子LU能夠執(zhí)行主機發(fā)送的寫請求,即避免主機業(yè)務(wù)中斷,從而可以提高可靠性。
[0089]作為對圖2所示方法的具體說明,當(dāng)需要移除虛擬LU對應(yīng)的某個子LU時,本發(fā)明實施例提供另一種數(shù)據(jù)存儲的方法,如圖3所示,所述方法包括:
[0090]301、控制器接收主機發(fā)送的寫請求。
[0091 ] 其中,寫請求攜帶有虛擬LU的標(biāo)識。
[0092]對于本發(fā)明實施例,虛擬LU不占用實際的存儲空間,僅占用對應(yīng)的虛擬LU的標(biāo)識,虛擬LU的標(biāo)識用于對虛擬LU進行唯一標(biāo)識。
[0093]302、控制器根據(jù)虛擬LU的標(biāo)識,查詢虛擬LU的元數(shù)據(jù),確定N個子LU的標(biāo)識。
[0094]對于本發(fā)明實施例,控制器存儲有虛擬LU的元數(shù)據(jù),虛擬LU的元數(shù)據(jù)包括虛擬LU的標(biāo)識與N個子LU的標(biāo)識之間的對應(yīng)關(guān)系。其中,N個子LU中存儲的數(shù)據(jù)相同。
[0095]對于本發(fā)明實施例,控制器存儲有虛擬LU的元數(shù)據(jù)的實現(xiàn)方式具體可以為:在主機與虛擬LU之間添加鏡像LU,如圖4所示,鏡像LU包括緩存(cache)和元卷(volume),緩存用于存儲虛擬LU的元數(shù)據(jù),元卷用于將主機需要進行的讀操作或?qū)懖僮鱾鬏斨撂摂MLU,以使得主機對虛擬LU進行讀操作或?qū)懖僮鳌?br> [0096]對于本發(fā)明實施例,若在主機與虛擬LU之間添加鏡像LU,則控制器可以根據(jù)鏡像LU中元卷的標(biāo)識,生成虛擬LU的標(biāo)識。在本發(fā)明實施例中,由于在存儲系統(tǒng)中,可以通過各個元卷的標(biāo)識對各個元卷進行唯一標(biāo)識,并且每個虛擬LU均對應(yīng)唯一的一個元卷,因此根據(jù)元卷的標(biāo)識生成的虛擬LU的標(biāo)識,能夠?qū)μ摂MLU進行唯一標(biāo)識。
[0097]對于本發(fā)明實施例,控制器具體可以通過將元卷的標(biāo)識的高位置1,生成虛擬LU的標(biāo)識;還可以通過將元卷的標(biāo)識與鏡像LU的標(biāo)識進行與運算,即將元卷的標(biāo)識作為高位,并將鏡像LU的標(biāo)識作為低位,或?qū)㈢R像LU的標(biāo)識作為高位,并將元卷的標(biāo)識作為低位,生成虛擬LU的標(biāo)識。
[0098]需要說明的是,本發(fā)明實施例中控制器存儲虛擬LU的元數(shù)據(jù)的實現(xiàn)方式不限于上述在主機與虛擬LU之間添加鏡像LU的方式,其他任何可以實現(xiàn)控制器存儲虛擬LU的元數(shù)據(jù)的方式,均適用本發(fā)明實施例。
[0099]對于本發(fā)明實施例,虛擬LU對應(yīng)有N個子LU的實現(xiàn)方式具體可以為:首先為虛擬LU添加第一個子LU,該子LU中存儲的數(shù)據(jù)為待備份數(shù)據(jù),并在元數(shù)據(jù)中添加虛擬LU與該子LU之間的對應(yīng)關(guān)系,如圖5所示;然后為虛擬LU添加N-1個其他子LU,如圖6所示;最后將待備份數(shù)據(jù)寫入N-1個其他子LU中,并在元數(shù)據(jù)中添加虛擬LU與該N-1個其他子LU之間的對應(yīng)關(guān)系,如圖7所不。
[0100]303、控制器向N個子LU分別執(zhí)行寫請求。
[0101]對于本發(fā)明實施例,控制器對N個子LU執(zhí)行相同的寫請求,執(zhí)行該寫請求之后,該N個子LU中存儲的數(shù)據(jù)仍然相同。如控制器對N個子LU執(zhí)行并行的相同的寫請求,N個子LU中寫入相同的數(shù)據(jù),則N個子LU形成互為鏡像關(guān)系。
[0102]對于本發(fā)明實施例,子LU還可以執(zhí)行主機發(fā)送的讀請求。作為步驟301的替換:控制器接收主機發(fā)送的讀請求,該讀請求中攜帶有虛擬LU的標(biāo)識。作為步驟302的替換:控制器根據(jù)虛擬LU的標(biāo)識,查詢虛擬LU的元數(shù)據(jù),從N個子LU的標(biāo)識中確定目標(biāo)子LU的標(biāo)識。作為步驟303的替換:控制器向目標(biāo)子LU執(zhí)行讀請求。
[0103]需要說明的是,本發(fā)明實施例中,控制器可以向虛擬LU對應(yīng)的任意一個子LU執(zhí)行讀請求,也可以向虛擬LU對應(yīng)的任意多個子LU執(zhí)行并發(fā)讀請求。
[0104]對于本發(fā)明實施例,與現(xiàn)有技術(shù)中僅可以向唯一的主LU執(zhí)行讀請求相比,本發(fā)明實施例通過向虛LU對應(yīng)的任意多個子LU執(zhí)行并發(fā)讀請求,即同時通過多個子LU讀取所需的不同數(shù)據(jù),從而可以降低執(zhí)行讀請求的時間。
[0105]304、控制器將第m個子LU的標(biāo)識從元數(shù)據(jù)中移除。
[0106]其中,第m個子LU為N個子LU中的任意一個。在本發(fā)明實施例中,N個子LU包含變化位圖。
[0107]對于本發(fā)明實施例,當(dāng)需要對虛擬LU對應(yīng)的第m個子LU進行分裂操作時,控制器將該第m個子LU的標(biāo)識從元數(shù)據(jù)中移除。
[0108]305、控制器在第m個子LU的變化位圖中記錄第m個子LU發(fā)生變化的數(shù)據(jù)。
[0109]對于本發(fā)明實施例,當(dāng)移除后的子LU存儲的數(shù)據(jù)發(fā)生改變時,或者當(dāng)移除子LU后,其他未移除子LU存儲的數(shù)據(jù)發(fā)生改變時,控制器記錄移除后的子LU的變化位圖中發(fā)生變化的數(shù)據(jù)。
[0110]例如圖8所示,若虛擬LU對應(yīng)的子LU 2已分裂,并且分裂后虛擬LU的數(shù)據(jù)發(fā)生改變,即子LU O和子LU I的數(shù)據(jù)發(fā)生改變,此時,已分裂的子LU 2的數(shù)據(jù)未發(fā)生同步改變,或者,分裂后的子LU 2的數(shù)據(jù)發(fā)生改變,則子LU 2對應(yīng)的變化位圖中發(fā)生變化的數(shù)據(jù)狀態(tài)由“O”變更為“I”。其中,“O”表示數(shù)據(jù)未發(fā)生變化,“I”表示數(shù)據(jù)發(fā)生變化。
[0111]306、控制器根據(jù)第m個子LU的變化位圖中L位指示變化的數(shù)據(jù),將N-1個子LU中的任一個子LU的變化位圖中與L位對應(yīng)的存儲地址中的數(shù)據(jù),寫入到第m個子LU的變化位圖中L位對應(yīng)的存儲地址中。
[0112]對于本發(fā)明實施例,控制器可以將N-1個子LU中的任一個子LU中的數(shù)據(jù)寫入第m個子LUN中,控制器還可以將N-1個子LU中的任意多個子LU中的數(shù)據(jù)寫入第m個子LUN中。
[0113]對于本發(fā)明實施例,若移除后的子LU需要進行數(shù)據(jù)恢復(fù),則已移除的子LU可以通過虛擬LU對應(yīng)的其他子LU進行數(shù)據(jù)恢復(fù)。在本發(fā)明實施例中,由于虛擬LU對應(yīng)的其他子LU之間均為對等的子LU,并且這些子LU存儲的數(shù)據(jù)完全相同,因此已移除的子LU可以通過這些子LU恢復(fù)數(shù)據(jù),從而實現(xiàn)當(dāng)這些子LU中的某個子LU故障時,已移除子LU可以通過其他未故障的子LU完成數(shù)據(jù)恢復(fù),即可以避免某個子LU故障而導(dǎo)致已移除子LU數(shù)據(jù)恢復(fù)中斷的情況;同時,與現(xiàn)有技術(shù)中已移除子LU僅可通過存儲待備份數(shù)據(jù)的主LU進行數(shù)據(jù)恢復(fù)相比,本發(fā)明實施例中已移除子LU通過這些子LU進行數(shù)據(jù)恢復(fù),能夠?qū)崿F(xiàn)已移除子LU同時通過多個子LU進行數(shù)據(jù)恢復(fù),即已移除的子LU可以通過不同的子LU恢復(fù)不同的數(shù)據(jù),以實現(xiàn)對全部需要恢復(fù)的數(shù)據(jù)進行恢復(fù),從而可以降低已移除子LU進行恢復(fù)的時間。
[0114]307、控制器將第m個子LU的變化位圖中L位恢復(fù)為數(shù)據(jù)未變化狀態(tài)。
[0115]例如圖8所示,分裂后的子LU 2可以根據(jù)未分裂的子LU O和子LU I同時進行數(shù)據(jù)恢復(fù),并且子LU 2的變化位圖中L位恢復(fù)為數(shù)據(jù)未變化狀態(tài),數(shù)據(jù)恢復(fù)完成后,如圖7所
/Jn ο
[0116]對于本發(fā)明實施例,若移除后的子LU需要進行反向同步,即需要將已移除的子LU的數(shù)據(jù)作為虛擬LU對應(yīng)的數(shù)據(jù),則通過修改元數(shù)據(jù)包括的對應(yīng)關(guān)系即可實現(xiàn)反向同步。在本發(fā)明實施例中,與現(xiàn)有技術(shù)中將已移除LU的發(fā)生改變的數(shù)據(jù)寫入主LU以實現(xiàn)進行反向同步相比,本發(fā)明實施例通過修改虛擬LU與子LU之間的對應(yīng)關(guān)系即可實現(xiàn)反向同步,即將元數(shù)據(jù)包括的對應(yīng)關(guān)系,由虛擬LU的標(biāo)識與未移除子LU的標(biāo)識之間的對應(yīng)關(guān)系,修改為虛擬LU的標(biāo)識與已移除子LU的標(biāo)識之間的對應(yīng)關(guān)系,從而可以避免對LU進行寫入數(shù)據(jù)的過程,進而可以降低進行反向同步的時間。
[0117]例如圖9所示,若移除后的子LU 2需要進行反向同步,則將元數(shù)據(jù)包括的虛擬LU與子LU O和子LU I之間的對應(yīng)關(guān)系,修改為虛擬LU與子LU 2之間的對應(yīng)關(guān)系。
[0118]本發(fā)明實施例提供的數(shù)據(jù)存儲的方法,應(yīng)用于存儲系統(tǒng),存儲系統(tǒng)包括控制器、虛擬LU及N個子LU,N個子LU用于為虛擬LU提供存儲空間,控制器存儲虛擬LU的元數(shù)據(jù),虛擬LU的元數(shù)據(jù)包括虛擬LU的標(biāo)識與N個子LU的標(biāo)識之間的對應(yīng)關(guān)系,其中,N為不小于2的自然數(shù),控制器首先接收主機發(fā)送的寫請求,該寫請求攜帶有虛擬LU的標(biāo)識,然后根據(jù)虛擬LU的標(biāo)識,查詢虛擬LU的元數(shù)據(jù),確定N個子LU的標(biāo)識,最后向N個子LU分別執(zhí)行寫請求。與目前通過對主LU進行備份生成多個從LU相比,本發(fā)明實施例通過為虛擬LU添加多個對應(yīng)的子LU,即建立虛擬LU與多個實際的子LU之間的對應(yīng)關(guān)系,能夠?qū)崿F(xiàn)各個子LU均執(zhí)行主機發(fā)送的同一個寫請求,從而實現(xiàn)當(dāng)某個子LU發(fā)生不可恢復(fù)的故障時,其他子LU能夠執(zhí)行主機發(fā)送的寫請求,即避免主機業(yè)務(wù)中斷,從而可以提高可靠性。
[0119]作為對圖2所示方法的具體說明,當(dāng)需要為虛擬LU添加子LU時,本發(fā)明實施例提供又一種數(shù)據(jù)存儲的方法,如圖10所示,所述方法包括:
[0120]1001、控制器接收主機發(fā)送的寫請求。
[0121]其中,寫請求攜帶有虛擬LU的標(biāo)識。
[0122]對于本發(fā)明實施例,虛擬LU不占用實際的存儲空間,僅占用對應(yīng)的虛擬LU的標(biāo)識,虛擬LU的標(biāo)識用于對虛擬LU進行唯一標(biāo)識。
[0123]1002、控制器根據(jù)虛擬LU的標(biāo)識,查詢虛擬LU的元數(shù)據(jù),確定N個子LU的標(biāo)識。
[0124]對于本發(fā)明實施例,控制器存儲有虛擬LU的元數(shù)據(jù),虛擬LU的元數(shù)據(jù)包括虛擬LU的標(biāo)識與N個子LU的標(biāo)識之間的對應(yīng)關(guān)系。其中,N個子LU中存儲的數(shù)據(jù)相同。
[0125]對于本發(fā)明實施例,控制器存儲有虛擬LU的元數(shù)據(jù)的實現(xiàn)方式具體可以為:在主機與虛擬LU之間添加鏡像LU,如圖4所示,鏡像LU包括緩存(cache)和元卷(volume),緩存用于存儲虛擬LU的元數(shù)據(jù),元卷用于將主機需要進行的讀操作或?qū)懖僮鱾鬏斨撂摂MLU,以使得主機對虛擬LU進行讀操作或?qū)懖僮鳌?br> [0126]對于本發(fā)明實施例,若在主機與虛擬LU之間添加鏡像LU,則控制器可以根據(jù)鏡像LU中元卷的標(biāo)識,生成虛擬LU的標(biāo)識。在本發(fā)明實施例中,由于在存儲系統(tǒng)中,可以通過各個元卷的標(biāo)識對各個元卷進行唯一標(biāo)識,并且每個虛擬LU均對應(yīng)唯一的一個元卷,因此根據(jù)元卷的標(biāo)識生成的虛擬LU的標(biāo)識,能夠?qū)μ摂MLU進行唯一標(biāo)識。
[0127]對于本發(fā)明實施例,控制器具體可以通過將元卷的標(biāo)識的高位置1,生成虛擬LU的標(biāo)識;還可以通過將元卷的標(biāo)識與鏡像LU的標(biāo)識進行與運算,即將元卷的標(biāo)識作為高位,并將鏡像LU的標(biāo)識作為低位,或?qū)㈢R像LU的標(biāo)識作為高位,并將元卷的標(biāo)識作為低位,生成虛擬LU的標(biāo)識。
[0128]需要說明的是,本發(fā)明實施例中控制器存儲虛擬LU的元數(shù)據(jù)的實現(xiàn)方式不限于上述在主機與虛擬LU之間添加鏡像LU的方式,其他任何可以實現(xiàn)控制器存儲虛擬LU的元數(shù)據(jù)的方式,均適用本發(fā)明實施例。
[0129]對于本發(fā)明實施例,虛擬LU對應(yīng)有N個子LU的實現(xiàn)方式具體可以為:首先為虛擬LU添加第一個子LU,該子LU中存儲的數(shù)據(jù)為待備份數(shù)據(jù),并在元數(shù)據(jù)中添加虛擬LU與該子LU之間的對應(yīng)關(guān)系,如圖5所示;然后為虛擬LU添加N-1個其他子LU,如圖6所示;最后將待備份數(shù)據(jù)寫入N-1個其他子LU中,并在元數(shù)據(jù)中添加虛擬LU與該N-1個其他子LU之間的對應(yīng)關(guān)系,如圖7所不。
[0130]1003、控制器向N個子LU分別執(zhí)行寫請求。
[0131 ] 對于本發(fā)明實施例,控制器對N個子LU執(zhí)行相同的寫請求,執(zhí)行該寫請求之后,該N個子LU中存儲的數(shù)據(jù)仍然相同。如控制器對N個子LU執(zhí)行并行的相同的寫請求,N個子LU中寫入相同的數(shù)據(jù),則N個子LU形成互為鏡像關(guān)系。
[0132]對于本發(fā)明實施例,子LU還可以執(zhí)行主機發(fā)送的讀請求。作為步驟1001的替換:控制器接收主機發(fā)送的讀請求,該讀請求中攜帶有虛擬LU的標(biāo)識。作為步驟1002的替換:控制器根據(jù)虛擬LU的標(biāo)識,查詢虛擬LU的元數(shù)據(jù),從N個子LU的標(biāo)識中確定目標(biāo)子LU的標(biāo)識。作為步驟1003的替換:控制器向目標(biāo)子LU執(zhí)行讀請求。
[0133]需要說明的是,本發(fā)明實施例中,控制器可以向虛擬LU對應(yīng)的任意一個子LU執(zhí)行讀請求,也可以向虛擬LU對應(yīng)的任意多個子LU執(zhí)行并發(fā)讀請求。
[0134]對于本發(fā)明實施例,與現(xiàn)有技術(shù)中僅可以向唯一的主LU執(zhí)行讀請求相比,本發(fā)明實施例通過向虛LU對應(yīng)的任意多個子LU執(zhí)行并發(fā)讀請求,即同時通過多個子LU讀取所需的不同數(shù)據(jù),從而可以降低執(zhí)行讀請求的時間。
[0135]1004、控制器將第N+1個子LU的標(biāo)識添加到元數(shù)據(jù)中。
[0136]進一步地,通過控制器將第N+1個子LU的標(biāo)識添加到元數(shù)據(jù)中,則N+1個子LU用于為虛擬LU提供存儲空間,元數(shù)據(jù)更新為包括虛擬LU的標(biāo)識與N+1個子LU的標(biāo)識之間的對應(yīng)關(guān)系。其中,N+1個子LU包括N個子LU及第N+1個子LU。
[0137]1005、控制器根據(jù)元數(shù)據(jù),將N個子LU中的任一個子LU中的數(shù)據(jù)寫入到第N+1個子LU。
[0138]對于本發(fā)明實施例,控制器可以將N個子LU中的任一個子LU中的數(shù)據(jù)寫入到第N+1個子LU,也可以將N個子LU中的任意多個子LU中的數(shù)據(jù)寫入到第N+1個子LU。
[0139]例如圖11所示,控制器可以將虛擬LU對應(yīng)的子LU O、子LU I及子LU 2中的任一個子LU的數(shù)據(jù)寫入子LU 3,以實現(xiàn)為虛擬LU添加對應(yīng)的子LU 3。
[0140]對于本發(fā)明實施例,控制器為虛擬LU添加第N+1個子LU后,該第N+1個子LU與N個子LU之間為對等的子LU,并且存儲有相同的數(shù)據(jù)。
[0141]本發(fā)明實施例提供的數(shù)據(jù)存儲的方法,應(yīng)用于存儲系統(tǒng),存儲系統(tǒng)包括控制器、虛擬LU及N個子LU,N個子LU用于為虛擬LU提供存儲空間,控制器存儲虛擬LU的元數(shù)據(jù),虛擬LU的元數(shù)據(jù)包括虛擬LU的標(biāo)識與N個子LU的標(biāo)識之間的對應(yīng)關(guān)系,其中,N為不小于2的自然數(shù),控制器首先接收主機發(fā)送的寫請求,該寫請求攜帶有虛擬LU的標(biāo)識,然后根據(jù)虛擬LU的標(biāo)識,查詢虛擬LU的元數(shù)據(jù),確定N個子LU的標(biāo)識,最后向N個子LU分別執(zhí)行寫請求。與目前通過對主LU進行備份生成多個從LU相比,本發(fā)明實施例通過為虛擬LU添加多個對應(yīng)的子LU,即建立虛擬LU與多個實際的子LU之間的對應(yīng)關(guān)系,能夠?qū)崿F(xiàn)各個子LU均執(zhí)行主機發(fā)送的同一個寫請求,從而實現(xiàn)當(dāng)某個子LU發(fā)生不可恢復(fù)的故障時,其他子LU能夠執(zhí)行主機發(fā)送的寫請求,即避免主機業(yè)務(wù)中斷,從而可以提高可靠性。
[0142]進一步地,作為對圖2、圖3及圖4所示方法的實現(xiàn),本發(fā)明實施例還提供了一種控制器,控制器位于存儲系統(tǒng),存儲系統(tǒng)還包括虛擬邏輯單元LU及N個子LU,N個子LU用于為虛擬LU提供存儲空間,N為不小于2的自然數(shù),如圖12所示,所述控制器包括:存儲單元121、接收單元122、確定單元123、執(zhí)行單元124。
[0143]存儲單元121,用于存儲虛擬LU的元數(shù)據(jù)。
[0144]其中,虛擬LU的元數(shù)據(jù)包括虛擬LU的標(biāo)識與N個子LU的標(biāo)識之間的對應(yīng)關(guān)系。
[0145]接收單元122,用于接收主機發(fā)送的寫請求。
[0146]其中,寫請求攜帶有虛擬LU的標(biāo)識。
[0147]確定單元123,用于根據(jù)接收單元122接收的虛擬LU的標(biāo)識,查詢存儲單元121存儲的虛擬LU的元數(shù)據(jù),確定N個子LU的標(biāo)識。
[0148]執(zhí)行單元124,用于向確定單元123確定的N個子LU分別執(zhí)行寫請求。如控制器對N個子LU執(zhí)行并行的相同的寫請求,N個子LU中寫入相同的數(shù)據(jù),則N個子LU形成互為鏡像關(guān)系。
[0149]接收單元122,還用于接收主機發(fā)送的讀請求,讀請求中攜帶有虛擬LU的標(biāo)識。
[0150]確定單元123,還用于根據(jù)接收單元122接收的虛擬LU的標(biāo)識,查詢存儲單元121存儲的虛擬LU的元數(shù)據(jù),從N個子LU的標(biāo)識中確定目標(biāo)子LU的標(biāo)識。
[0151]執(zhí)行單元124,還用于向確定單元123確定的目標(biāo)子LU執(zhí)行讀請求。
[0152]確定單元123確定的N個子LU包含變化位圖。
[0153]進一步地,如圖13所示,所述控制器還包括:移除單元131、記錄單元132。
[0154]移除單元131,用于將第m個子LU的標(biāo)識從存儲單元121存儲的元數(shù)據(jù)中移除。
[0155]其中,第m個子LU為N個子LU中的任意一個。
[0156]記錄單元132,用于在移除單元131將第m個子LU的標(biāo)識移除后,在第m個子LU的變化位圖中記錄第m個子LU發(fā)生變化的數(shù)據(jù)。
[0157]可選地,所述控制器還包括:寫入單元133。
[0158]寫入單元133,用于根據(jù)記錄單元132記錄的第m個子LU的變化位圖中L位指示變化的數(shù)據(jù),將N-1個子LU中的任一個子LU的變化位圖中與L位對應(yīng)的存儲地址中的數(shù)據(jù),寫入到第m個子LU的變化位圖中L位對應(yīng)的存儲地址中。
[0159]記錄單元132,還用于將第m個子LU的變化位圖中L位恢復(fù)為數(shù)據(jù)未變化狀態(tài)。
[0160]可選地,所述控制器還包括:添加單元134。
[0161]添加單元134,用于將第N+1個子LU的標(biāo)識添加到存儲單元121存儲的元數(shù)據(jù)中。
[0162]進一步地,通過將第N+1個子LU的標(biāo)識添加到存儲單元121存儲的元數(shù)據(jù)中,則N+1個子LU用于為虛擬LU提供存儲空間,元數(shù)據(jù)更新為包括虛擬LU的標(biāo)識與N+1個子LU的標(biāo)識之間的對應(yīng)關(guān)系。其中,N+1個子LU包括N個子LU及第N+1個子LU。
[0163]寫入單元133,還用于根據(jù)元數(shù)據(jù),將N個子LU中的任一個子LU中的數(shù)據(jù)寫入到第N+1個子LU。
[0164]本發(fā)明實施例提供的控制器,該控制器位于存儲系統(tǒng),存儲系統(tǒng)還包括虛擬LU及N個子LU,N個子LU用于為虛擬LU提供存儲空間,控制器存儲虛擬LU的元數(shù)據(jù),虛擬LU的元數(shù)據(jù)包括虛擬LU的標(biāo)識與N個子LU的標(biāo)識之間的對應(yīng)關(guān)系,其中,N為不小于2的自然數(shù),控制器首先接收主機發(fā)送的寫請求,該寫請求攜帶有虛擬LU的標(biāo)識,然后根據(jù)虛擬LU的標(biāo)識,查詢虛擬LU的元數(shù)據(jù),確定N個子LU的標(biāo)識,最后向N個子LU分別執(zhí)行寫請求。與目前通過對主LU進行備份生成多個從LU相比,本發(fā)明實施例通過為虛擬LU添加多個對應(yīng)的子LU,即建立虛擬LU與多個實際的子LU之間的對應(yīng)關(guān)系,能夠?qū)崿F(xiàn)各個子LU均執(zhí)行主機發(fā)送的同一個寫請求,從而實現(xiàn)當(dāng)某個子LU發(fā)生不可恢復(fù)的故障時,其他子LU能夠執(zhí)行主機發(fā)送的寫請求,即避免主機業(yè)務(wù)中斷,從而可以提高可靠性。
[0165]需要說明的是,本發(fā)明實施例中提供的控制器中各單元所對應(yīng)的其他相應(yīng)描述,可以參考圖2、圖3及圖4中的對應(yīng)描述,在此不再贅述。
[0166]再進一步地,本發(fā)明實施例還提供了一種控制器,控制器位于存儲系統(tǒng),存儲系統(tǒng)還包括虛擬邏輯單元LU及N個子LU,N個子LU用于為虛擬LU提供存儲空間,N為不小于2的自然數(shù),如圖14所示,所述控制器包括:存儲器141、接收器142、處理器143、發(fā)送器144,所述發(fā)送器144與所述處理器143相連接。
[0167]存儲器141,用于存儲虛擬LU的元數(shù)據(jù)。
[0168]其中,虛擬LU的元數(shù)據(jù)包括虛擬LU的標(biāo)識與N個子LU的標(biāo)識之間的對應(yīng)關(guān)系。
[0169]接收器142,用于接收主機發(fā)送的寫請求。
[0170]其中,寫請求攜帶有虛擬LU的標(biāo)識。
[0171]處理器143,用于根據(jù)接收器142接收的虛擬LU的標(biāo)識,查詢存儲器141存儲的虛擬LU的元數(shù)據(jù),確定N個子LU的標(biāo)識,并向N個子LU分別執(zhí)行寫請求。如控制器對N個子LU執(zhí)行并行的相同的寫請求,N個子LU中寫入相同的數(shù)據(jù),則N個子LU形成互為鏡像關(guān)系。
[0172]接收器142,還用于接收主機發(fā)送的讀請求。
[0173]其中,讀請求中攜帶有虛擬LU的標(biāo)識。
[0174]處理器143,還用于根據(jù)接收器142接收的虛擬LU的標(biāo)識,查詢存儲器141存儲的虛擬LU的元數(shù)據(jù),從N個子LU的標(biāo)識中確定目標(biāo)子LU的標(biāo)識,并向目標(biāo)子LU執(zhí)行讀請求。
[0175]處理器143確定的N個子LU包含變化位圖。
[0176]處理器143,還用于將第m個子LU的標(biāo)識從存儲器141存儲的元數(shù)據(jù)中移除。其中,第m個子LU為N個子LU中的任意一個。
[0177]處理器143,還用于在第m個子LU的變化位圖中記錄第m個子LU發(fā)生變化的數(shù)據(jù)。
[0178]處理器143,還用于根據(jù)第m個子LU的變化位圖中L位指示變化的數(shù)據(jù),將N_1個子LU中的任一個子LU的變化位圖中與L位對應(yīng)的存儲地址中的數(shù)據(jù),寫入到第m個子LU的變化位圖中L位對應(yīng)的存儲地址中。
[0179]處理器143,還用于將第m個子LU的變化位圖中L位恢復(fù)為數(shù)據(jù)未變化狀態(tài)。
[0180]處理器143,還用于將第N+1個子LU的標(biāo)識添加到存儲器141存儲的元數(shù)據(jù)中。
[0181]進一步地,通過將第N+1個子LU的標(biāo)識添加到存儲器141存儲的元數(shù)據(jù)中,則N+1個子LU用于為虛擬LU提供存儲空間,元數(shù)據(jù)更新為包括虛擬LU的標(biāo)識與N+1個子LU的標(biāo)識之間的對應(yīng)關(guān)系。其中,N+1個子LU包括N個子LU及第N+1個子LU。
[0182]處理器143,還用于根據(jù)元數(shù)據(jù),將N個子LU中的任一個子LU中的數(shù)據(jù)寫入到第N+1個子LU。
[0183]本發(fā)明實施例提供的控制器,位于存儲系統(tǒng),存儲系統(tǒng)還包括虛擬LU及N個子LU,N個子LU用于為虛擬LU提供存儲空間,控制器存儲虛擬LU的元數(shù)據(jù),虛擬LU的元數(shù)據(jù)包括虛擬LU的標(biāo)識與N個子LU的標(biāo)識之間的對應(yīng)關(guān)系,其中,N為不小于2的自然數(shù),控制器首先接收主機發(fā)送的寫請求,該寫請求攜帶有虛擬LU的標(biāo)識,然后根據(jù)虛擬LU的標(biāo)識,查詢虛擬LU的元數(shù)據(jù),確定N個子LU的標(biāo)識,最后向N個子LU分別執(zhí)行寫請求。與目前通過對主LU進行備份生成多個從LU相比,本發(fā)明實施例通過為虛擬LU添加多個對應(yīng)的子LU,即建立虛擬LU與多個實際的子LU之間的對應(yīng)關(guān)系,能夠?qū)崿F(xiàn)各個子LU均執(zhí)行主機發(fā)送的同一個寫請求,從而實現(xiàn)當(dāng)某個子LU發(fā)生不可恢復(fù)的故障時,其他子LU能夠執(zhí)行主機發(fā)送的寫請求,即避免主機業(yè)務(wù)中斷,從而可以提高可靠性。
[0184]需要說明的是,本發(fā)明實施例中提供的控制器中各設(shè)備所對應(yīng)的其他相應(yīng)描述,可以參考圖2、圖3及圖4中的對應(yīng)描述,在此不再贅述。
[0185]本發(fā)明實施例提供的控制器可以實現(xiàn)上述提供的方法實施例,具體功能實現(xiàn)請參見方法實施例中的說明,在此不再贅述。本發(fā)明實施例提供的數(shù)據(jù)存儲的方法及控制器可以適用于對LU存儲的數(shù)據(jù)進行備份,但不僅限于此。
[0186]本領(lǐng)域普通技術(shù)人員可以理解實現(xiàn)上述實施例方法中的全部或部分流程,是可以通過計算機程序來指令相關(guān)的硬件來完成,所述的程序可存儲于一計算機可讀取存儲介質(zhì)中,該程序在執(zhí)行時,可包括如上述各方法的實施例的流程。其中,所述的存儲介質(zhì)可為磁碟、光盤、只讀存儲記憶體(Read-Only Memory, ROM)或隨機存儲記憶體(Random AccessMemory, RAM)等。
[0187]以上所述,僅為本發(fā)明的【具體實施方式】,但本發(fā)明的保護范圍并不局限于此,任何熟悉本【技術(shù)領(lǐng)域】的技術(shù)人員在本發(fā)明揭露的技術(shù)范圍內(nèi),可輕易想到的變化或替換,都應(yīng)涵蓋在本發(fā)明的保護范圍之內(nèi)。因此,本發(fā)明的保護范圍應(yīng)該以權(quán)利要求的保護范圍為準(zhǔn)。
【權(quán)利要求】
1.一種數(shù)據(jù)存儲的方法,應(yīng)用于存儲系統(tǒng),其特征在于,所述存儲系統(tǒng)包括控制器、虛擬邏輯單元LU及N個子LU,所述N個子LU用于為所述虛擬LU提供存儲空間;所述控制器存儲所述虛擬LU的元數(shù)據(jù),所述虛擬LU的元數(shù)據(jù)包括所述虛擬LU的標(biāo)識與所述N個子LU的標(biāo)識之間的對應(yīng)關(guān)系;其中,N為不小于2的自然數(shù),所述方法包括: 所述控制器接收主機發(fā)送的寫請求,所述寫請求攜帶有所述虛擬LU的標(biāo)識; 所述控制器根據(jù)所述虛擬LU的標(biāo)識,查詢所述虛擬LU的元數(shù)據(jù),確定所述N個子LU的標(biāo)識; 所述控制器向所述N個子LU分別執(zhí)行所述寫請求。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述方法還包括: 所述控制器接收所述主機發(fā)送的讀請求,所述讀請求中攜帶有所述虛擬LU的標(biāo)識;所述控制器根據(jù)所述虛擬LU的標(biāo)識,查詢所述虛擬LU的元數(shù)據(jù),從所述N個子LU的標(biāo)識中確定目標(biāo)子LU的標(biāo)識; 所述控制器向所述目標(biāo)子LU執(zhí)行所述讀請求。
3.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述N個子LU包含變化位圖,所述方法還包括: 所述控制器將第m個子LU的標(biāo)識從所述元數(shù)據(jù)中移除;其中,所述第m個子LU為所述N個子LU中的任意一個; 所述控制器在所述第m個子LU的變化位圖中記錄所述第m個子LU發(fā)生變化的數(shù)據(jù)。
4.根據(jù)權(quán)利要求3所述的方法,其特征在于,所述方法還包括: 所述控制器根據(jù)所述第m個子LU的變化位圖中L位指示變化的數(shù)據(jù),將所述N-1個子LU中的任一個子LU的變化位圖中與所述L位對應(yīng)的存儲地址中的數(shù)據(jù),寫入到所述第m個子LU的變化位圖中所述L位對應(yīng)的存儲地址中; 所述控制器將所述第m個子LU的變化位圖中所述L位恢復(fù)為數(shù)據(jù)未變化狀態(tài)。
5.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述方法還包括: 所述控制器將第N+1個子LU的標(biāo)識添加到所述元數(shù)據(jù)中,則N+1個子LU用于為所述虛擬LU提供存儲空間,所述元數(shù)據(jù)更新為包括所述虛擬LU的標(biāo)識與所述N+1個子LU的標(biāo)識之間的對應(yīng)關(guān)系; 所述控制器根據(jù)所述元數(shù)據(jù),將所述N個子LU中的任一個子LU中的數(shù)據(jù)寫入到所述第N+1個子LU。
6.一種控制器,所述控制器位于存儲系統(tǒng),其特征在于,所述存儲系統(tǒng)還包括虛擬邏輯單元LU及N個子LU,所述N個子LU用于為所述虛擬LU提供存儲空間;其中,N為不小于2的自然數(shù),所述控制器包括: 存儲單元,用于存儲所述虛擬LU的元數(shù)據(jù),所述虛擬LU的元數(shù)據(jù)包括所述虛擬LU的標(biāo)識與所述N個子LU的標(biāo)識之間的對應(yīng)關(guān)系; 接收單元,用于接收主機發(fā)送的寫請求,所述寫請求攜帶有所述虛擬LU的標(biāo)識; 確定單元,用于根據(jù)所述接收單元接收的所述虛擬LU的標(biāo)識,查詢所述存儲單元存儲的所述虛擬LU的元數(shù)據(jù),確定所述N個子LU的標(biāo)識; 執(zhí)行單元,用于向所述確定單元確定的所述N個子LU分別執(zhí)行所述寫請求。
7.根據(jù)權(quán)利要求6所述的控制器,其特征在于, 所述接收單元,還用于接收所述主機發(fā)送的讀請求,所述讀請求中攜帶有所述虛擬LU的標(biāo)識; 所述確定單元,還用于根據(jù)所述接收單元接收的所述虛擬LU的標(biāo)識,查詢所述存儲單元存儲的所述虛擬LU的元數(shù)據(jù),從所述N個子LU的標(biāo)識中確定目標(biāo)子LU的標(biāo)識; 所述執(zhí)行單元,還用于向所述確定單元確定的所述目標(biāo)子LU執(zhí)行所述讀請求。
8.根據(jù)權(quán)利要求6所述的控制器,其特征在于, 所述確定單元確定的所述N個子LU包含變化位圖; 所述控制器還包括:移除單元、記錄單元; 所述移除單元,用于將第m個子LU的標(biāo)識從所述存儲單元存儲的所述元數(shù)據(jù)中移除;其中,所述第m個子LU為所述N個子LU中的任意一個; 所述記錄單元,用于在所述移除單元將所述第m個子LU的標(biāo)識移除后,在所述第m個子LU的變化位圖中記錄所述第m個子LU發(fā)生變化的數(shù)據(jù)。
9.根據(jù)權(quán)利要求8所述的控制器,其特征在于,所述控制器還包括:寫入單元; 所述寫入單元,用于根據(jù)所述記錄單元記錄的所述第m個子LU的變化位圖中L位指示變化的數(shù)據(jù),將所述N-1個子LU中的任一個子LU的變化位圖中與所述L位對應(yīng)的存儲地址中的數(shù)據(jù),寫入到所述第m個子LU的變化位圖中所述L位對應(yīng)的存儲地址中; 所述記錄單元,還用于將所述第m個子LU的變化位圖中所述L位恢復(fù)為數(shù)據(jù)未變化狀態(tài)。
10.根據(jù)權(quán)利要求6所述的控制器,其特征在于,所述控制器還包括:添加單元; 所述添加單元,用于將第N+1個子LU的標(biāo)識添加到所述存儲單元存儲的所述元數(shù)據(jù)中,則N+1個子LU用于為所述虛擬LU提供存儲空間,所述元數(shù)據(jù)更新為包括所述虛擬LU的標(biāo)識與所述N+1個子LU的標(biāo)識之間的對應(yīng)關(guān)系; 所述寫入單元,還用于根據(jù)所述元數(shù)據(jù),將所述N個子LU中的任一個子LU中的數(shù)據(jù)寫入到所述第N+1個子LU。
11.一種控制器,所述控制器位于存儲系統(tǒng),其特征在于,所述存儲系統(tǒng)還包括虛擬邏輯單元LU及N個子LU,所述N個子LU用于為所述虛擬LU提供存儲空間;其中,N為不小于2的自然數(shù),所述控制器包括: 存儲器,用于存儲所述虛擬LU的元數(shù)據(jù),所述虛擬LU的元數(shù)據(jù)包括所述虛擬LU的標(biāo)識與所述N個子LU的標(biāo)識之間的對應(yīng)關(guān)系; 接收器,用于接收主機發(fā)送的寫請求,所述寫請求攜帶有所述虛擬LU的標(biāo)識; 處理器,用于根據(jù)所述接收器接收的所述虛擬LU的標(biāo)識,查詢所述存儲器存儲的所述虛擬LU的元數(shù)據(jù),確定所述N個子LU的標(biāo)識,并向所述N個子LU分別執(zhí)行所述寫請求。
12.根據(jù)權(quán)利要求11所述的控制器,其特征在于, 所述接收器,還用于接收所述主機發(fā)送的讀請求,所述讀請求中攜帶有所述虛擬LU的標(biāo)識; 所述處理器,還用于根據(jù)所述接收器接收的所述虛擬LU的標(biāo)識,查詢所述存儲器存儲的所述虛擬LU的元數(shù)據(jù),從所述N個子LU的標(biāo)識中確定目標(biāo)子LU的標(biāo)識,并向所述目標(biāo)子LU執(zhí)行所述讀請求。
13.根據(jù)權(quán)利要求11所述的控制器,其特征在于, 所述處理器確定的所述N個子LU包含變化位圖; 所述處理器,還用于將第m個子LU的標(biāo)識從所述存儲器存儲的所述元數(shù)據(jù)中移除;其中,所述第m個子LU為所述N個子LU中的任意一個; 所述處理器,還用于在所述第m個子LU的變化位圖中記錄所述第m個子LU發(fā)生變化的數(shù)據(jù)。
14.根據(jù)權(quán)利要求13所述的控制器,其特征在于, 所述處理器,還用于根據(jù)所述第m個子LU的變化位圖中L位指示變化的數(shù)據(jù),將所述N-1個子LU中的任一個子LU的變化位圖中與所述L位對應(yīng)的存儲地址中的數(shù)據(jù),寫入到所述第m個子LU的變化位圖中所述L位對應(yīng)的存儲地址中; 所述處理器,還用于將所述第m個子LU的變化位圖中所述L位恢復(fù)為數(shù)據(jù)未變化狀態(tài)。
15.根據(jù)權(quán)利要求11所述的控制器,其特征在于, 所述處理器,還用于將第N+1個子LU的標(biāo)識添加到所述存儲器存儲的所述元數(shù)據(jù)中,則N+1個子LU用于為所述虛擬LU提供存儲空間,所述元數(shù)據(jù)更新為包括所述虛擬LU的標(biāo)識與所述N+1個子LU的標(biāo)識之間的對應(yīng)關(guān)系; 所述處理器,還用于根據(jù)所述元數(shù)據(jù),將所述N個子LU中的任一個子LU中的數(shù)據(jù)寫入到所述第N+1個子LU。
【文檔編號】G06F12/08GK104360959SQ201410587018
【公開日】2015年2月18日 申請日期:2014年10月28日 優(yōu)先權(quán)日:2014年10月28日
【發(fā)明者】唐萍峰, 楊彬 申請人:華為技術(shù)有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1