專利名稱:存儲系統、控制集群元數據的方法及裝置的制作方法
技術領域:
本發明涉及存儲技術,尤其涉及一種存儲系統、控制集群元數據的方法及裝置。
背景技術:
存儲系統中,記錄了數據邏輯與物理位置的映像關系的數據即集群元數據。其中,集群是指存儲系統中的存儲設備集群。集群元數據中包含了用戶數據存儲的位置信息等,如果丟失了集群元數據,將無法找到用戶數據的存儲位置,從而將最終導致用戶數據的丟失。通常,集群元數據存儲在元數據服務器中,并且,為了提高集群元數據存儲的可靠性,元數據服務器一般有兩臺,一臺為主元數據服務器,一臺為備元數據服務器。其中,主元數據服務器在存儲系統工作時,為客戶端提供集群元數據,以使客戶端根據主元數據服務器提供的集群元數據讀取到存儲的用戶數據。備元數據服務器用來對集群元數據進行備份,當主元數據服務器不能正常工作時,備元數據服務器可替代主元數據服務器為客戶端提供集群元數據。但是,當主元數據服務器和為備元數據服務器均不能正常工作時,將導致整個存儲系統無法正常工作。
發明內容
有鑒于此,本發明實施例提供一種存儲系統、控制集群元數據的方法及裝置,用于解決現有存儲系統中集群元數據丟失后,無法自動恢復的問題。第一個方面,本發明實施例提供一種控制集群元數據的方法,包括將集群元數據按照與各存儲節點的相關性進行劃分,得到所述各存儲節點的相關元數據;所述各存儲節點為所述集群元數據所屬集群內的存儲節點;將所述相關元數據下發到所述集群內相關的存儲節點;當所述集群元數據無法獲取時,從所述集群內的各存儲節點獲取下發的相關元數據;將獲取的相關元數據構建成所述集群元數據。第二個方面,本發明實施例提供一種用于控制集群元數據的方法,包括接收并存儲元數據控制器下發的相關元數據,所述相關元數據與本存儲節點相關,由所述元數據控制器將集群元數據按照與各存儲節點的相關性進行劃分得到;將所述相關元數據發送給所述元數據控制器,以使得當所述集群元數據無法獲取時,所述元數據控制器將接收到的相關元數據構建成所述集群元數據。第三個方面,本發明實施例提供一種用于控制集群元數據的方法,包括接收元數據控制器發送的集群元數據,所述集群元數據由所述元數據控制器將獲取的相關元數據構建得到,所述相關元數據由所述元數據控制器當所述集群元數據無法獲取時,從所述集群內的各存儲節點獲取得到;
保存接收的所述集群元數據。第四個方面,本發明實施例提供一種控制集群元數據的裝置,包括第一劃分單元,用于將集群元數據按照與各存儲節點的相關性進行劃分,得到所述各存儲節點的相關元數據;所述各存儲節點為所述集群元數據所屬集群內的存儲節點;第一下發單元,用于將所述相關元數據下發到所述集群內相關的存儲節點;第一獲取單元,用于當所述集群元數據無法獲取時,從所述集群內的各存儲節點獲取下發的相關元數據;第一構建單元,用于將獲取的相關元數據構建成所述集群元數據。第五個方面,本發明實施例提供一種存儲節點設備,包括元數據接收單元,用于接收并存儲元數據控制器下發的相關元數據,所述相關元數據與本存儲節點相關,由所述元數據控制器將集群元數據按照與各存儲節點的相關性進行劃分得到;元數據發送單元,用于將所述相關元數據發送給所述元數據控制器,以使得當所述集群元數據無法獲取時,所述元數據控制器將接收到的相關元數據構建成所述集群元數據。第六個方面,本發明實施例提供一種元數據服務器,包括第一接收單元,用于接收元數據控制器發送的集群元數據,所述集群元數據由所述元數據控制器將獲取的相關元數據構建得到,所述相關元數據由所述元數據控制器當所述集群元數據無法獲取時,從所述集群內的各存儲節點獲取得到;存儲單元,用于保存所述集群元數據接收單元接收的所述集群元數據。第七個方面,本發明實施例提供一種存儲系統,包括上述控制集群元數據的裝置、上述存儲節點設備及上述元數據服務器。本發明實施例提供的存儲系統、控制集群元數據的方法及裝置,通過將集群元數據劃分并下發到各存儲節點進行保存,使得主元數據服務器及備元數據服務器均故障,丟失了集群元數據的情況下,仍能夠通過從各存儲節點獲取元數據,構建得到集群元數據,從而恢復集群元數據,解決了現有技術中主元數據服務器及備元數據服務器均故障導致集群元數據丟失而無法恢復的問題,提高了存儲系統的可靠性。
圖1為本發明實施例提供的一種控制集群元數據的方法的流程圖;圖2為本發明實施例提供的一種用于控制集群元數據的方法的流程圖;圖3為本發明實施例提供的另一種用于控制集群元數據的方法的流程圖;圖4為本發明實施例提供的控制集群元數據的方法應用示意圖;圖5為本發明實施例提供的控制集群元數據的方法中MDC重新構建整個存儲系統的集群元數據的流程圖;圖6為本發明實施例提供的一種控制集群元數據的裝置的結構示意圖;圖7為本發明實施例提供的一種存儲節點設備的結構示意圖;圖8為本發明實施例提供的一種元數據服務器的結構示意圖;圖9為本發明實施例提供的一種存儲系統的結構示意圖。
具體實施例方式圖1為本發明實施例提供的一種控制集群元數據的方法的流程圖。本實施例提供的方法可由集群元數據所屬存儲系統的主控板執行,例如可在主控板上增加一個控制模塊,以執行本實施例提供的方法。如圖1所示,該方法包括步驟11、將集群元數據按照與各存儲節點的相關性進行劃分,得到該各存儲節點的相關元數據;該各存儲節點為所述集群元數據所屬集群內的存儲節點。例如,某一個存儲系統的設備集群包括存儲節點A、B、C、D和E,那么,集群元數據便可劃分為5個相關元數據部分相關元數據a、b、c、d和e。其中,相關元數據a為與存儲節點A相關的元數據,相關元數據b為與存儲節點B相關的元數據,相關元數據c為與存儲節點C相關的元數據,相關元數據d為與存儲節點D相關的元數據,相關元數據d為與存儲節點D相關的元數據,相關元數據e為與存儲節點E相關的元數據。步驟12、將上述相關元數據下發到上述集群內相關的存儲節點。例如,將相關元數據a下發到存儲節點A,將相關元數據b下發到存儲節點B,將相關元數據c下發到存儲節點C,將相關元數據d下發到存儲節點D,將相關元數據d下發到存儲節點D,將相關元數據e下發到存儲節點E。步驟13、當上述集群元數據無法獲取時,從上述集群內的各存儲節點獲取下發的相關元數據。例如,當現有的元數據服務器故障時,用戶便無法獲得集群元數據。這種情況下,可從各存儲節點獲取相關元數據,以恢復集群元數據。仍以上述存儲節點A、B、C、D和E,以及相關元數據a、b、C、d和e為例,當集群元數據無法獲取時,可從存儲節點A獲取相關元數據a,從存儲節點B獲取相關元數據b,從存儲節點C獲取相關元數據C,從存儲節點D獲取相關元數據d,從存儲節點E獲取相關元數據e。步驟14、將獲取的相關元數據構建成上述集群元數據。例如,將獲取的相關元數據a、b、c、d和e合并重構,得到上述步驟11中的集群元數據。可選地,本發明實施例提供的控制集群元數據的方法還包括當上述集群內的各存儲節點變更時,根據該各存儲節點的變更更新上述集群元數據,得到新的集群元數據。仍以上述存儲節點A、B、C、D和E為例,當存儲節點D故障或被撤銷時,相應地,對集群元數據進行更新,刪除與存儲節點D相關,且與其他存儲節點無關的元數據。如果存儲系統中增加了存儲節點F,相應地,在集群元數據中增加與存儲節點F相關的元數據。本實施例提供的方法通過將集群元數據劃分并下發到各存儲節點進行保存,使得主元數據服務器及備元數據服務器均故障,丟失了集群元數據的情況下,仍能夠通過從各存儲節點獲取元數據,構建得到集群元數據,從而恢復集群元數據,解決了現有技術中主元數據服務器及備元數據服務器均故障導致集群元數據丟失而無法恢復的問題,提高了存儲系統的可靠性。當集群元數據被更新時,還可對新的集群元數據執行上述步驟If步驟14的操作,例如本發明實施例提供的控制集群元數據的方法還可包括
將上述新的集群元數據按照與剩余存儲節點的相關性進行劃分,得到該剩余存儲節點的新的相關元數據;將該新的相關元數據下發到該剩余存儲節點;當該新的集群元數據無法獲取時,從該剩余存儲節點獲取下發的新的相關元數據;將獲取的新的相關元數據構建成上述新的集群元數據。其中,剩余存儲節點為廣義的剩余存儲節點,即該剩余存儲節點的數量可小于原有的存儲節點的數量,也可大于原有的存儲接收的數量。仍以上述存儲節點A、B、C、D和E為例,當存儲節點D故障或被撤銷時,剩余存儲節點為存儲節點A、B、C和E ;如果存儲系統中增加了存儲節點F,則剩余存儲節點為存儲節點A、B、C、D、E和F。可選地,將獲取的新的相關元數據構建成上述新的集群元數據之后,還包括將上述新的集群元數據發送給元數據服務器。其中,元數據服務器可為主元數據服務器,也可為備元數據服務器。當上述方法由設置在主控板上的控制模塊執行時,控制模塊下發相關元數據之前,首先要獲得集群元數據。例如,將集群元數據按照與各存儲節點的相關性進行劃分之前,還包括根據上述集群的存儲系統啟動時生成的配置文件得到上述集群元數據,或者從元數據服務器得到上述集群元數據。相應地,由于集群元數據無法獲取,可能是因為元數據服務器故障引起,因此,將獲取的相關元數據構建成上述集群元數據之后,還包括將構建成的集群元數據發送給元數據服務器。這樣,當元數據服務器恢復后,還可獲得集群元數據,解決了現有技術中主備元數據服務器均故障的情況下,無法恢復集群元數據的問題。相應地,圖2為本發明實施例提供的一種用于控制集群元數據的方法的流程圖。本實施例提供的方法為存儲系統中或者說集群內的存儲節點的操作流程。如圖2所示,該流程包括步驟21、接收并存儲元數據控制器下發的相關元數據,該相關元數據與本存儲節點相關,由該元數據控制器將集群元數據按照與各存儲節點的相關性進行劃分得到。其中,元數據控制器即實現圖1所示方法的裝置,可為新增加的控制模塊,也可是主控板。相關元數據的劃分及下發,詳見上述圖1中的說明。步驟22、將上述相關元數據發送給元數據控制器,以使得當上述集群元數據無法獲取時,元數據控制器將接收到的相關元數據構建成該集群元數據。其中,集群元數據詳見上述圖1中的說明。當存儲集群元數據的裝置發生故障時,元數據控制器需要從存儲節點獲取下發給存儲節點的相關元數據,以構建集群元數據,實現集群元數據的恢復。上述實施例提供的方法通過接收元數據控制器下發的相關元數據,并在集群元數據無法獲取的情況下,向元數據控制器發送其下發的相關元數據,使得元數據控制器能夠用存儲節點發送的相關元數據構建得到集群元數據,解決了現有技術中主元數據服務器及備元數據服務器均故障導致集群元數據丟失而無法恢復的問題。
相應地,圖3為本發明實施例提供的另一種用于控制集群元數據的方法的流程圖。本實施例提供的方法為元數據服務器的操作流程,元數據服務器可以是主元數據服務器,也可是備元數據服務器。如圖3所示,該流程包括步驟31、接收元數據控制器發送的集群元數據,該集群元數據由該元數據控制器將獲取的相關元數據構建得到,該相關元數據由該元數據控制器當該集群元數據無法獲取時,從該集群內的各存儲節點獲取得到。其中,元數據控制器即實現圖1所示方法的裝置,可為新增加的控制模塊,也可是主控板。相關元數據的劃分及下發,以及獲取相關元數據構建集群元數據的方法,詳見上述圖1中的說明。當元數據服務器故障后重啟,可從元數據控制器接收恢復的集群元數據。 步驟32、保存接收的上述集群元數據。元數據服務器保存從元數據控制器接收的集群元數據,從而恢復元數據服務器的集群元數據的存儲。上述實施例提供的方法通過接收元數據控制器利用相關元數據構建得到的集群元數據,恢復了元數據服務器中的集群元數據,解決了現有技術中主元數據服務器及備元數據服務器均故障導致集群元數據丟失而無法恢復的問題。當集群中存儲節點變更導致集群元數據更新時,本發明實施例提供的用于控制集群元數據的方法還可包括接收并保存上述元數據控制器發送的新的集群元數據,該新的集群元數據由上述元數據控制器當該集群內的各存儲節點變更時,根據該各存儲節點的變更更新上述集群元數據得到。這樣,元數據服務器能夠在集群元數據變更的情況下,通過接收并保存元數據控制器發送的新的集群元數據,相應更新存儲的集群元數據。下面以圖4、圖5為例,對控制集群元數據的方法作進一步詳細說明。為了解決現有技術中元數據服務器集中存放集群元數據帶來的可靠性問題,本實施例中引入了一個集群元數據控制服務器的角色元數據控制器(Metadata Controller,MDC )。集群元數據存儲在元數據服務器上,元數據服務器可以建立主備機制。MDC負責管理和控制集群元數據,將整個集群元數據按照與各個存儲節點的相關性(存儲節點與用戶數據的對應關系)進行劃分,并將劃分后的元數據分別下發給各個相關的存儲節點,各存儲節點將自身相關的元數據保存在本地硬盤上。當主備元數據服務器均發生故障時,MDC負責重新構建整個存儲系統的集群元數據。具體參見圖5,包括如下步驟步驟51、MDC分別獲取存儲節點1、存儲節點2、…、存儲節點N上保存的一部分元數據;步驟52、存儲節點1、存儲節點2、…、存儲節點N返回各自保存的元數據。步驟53、MDC將存儲節點1、存儲節點2、…、存儲節點N返回的元數據進行合并重構,得到集群元數據。步驟54、MDC將步驟53中得到的集群元數據發送給元數據服務器,以恢復元數據服務器丟失的集群元數據數據。本實施例在現有的存儲系統的基礎上,增加了 MDC,通過MDC在元數據服務器故障的情況下,自動從存儲節點上收集元數據信息,并進行重建恢復,提高了元數據的可靠性和可用性。并且,MDC會重新啟動新的元數據服務器,并將恢復后的集群元數據寫入元數據服務器,保證了業務自動恢復。通過增加MDC對集群元數據進行控制,使得元數據服務器從復雜的業務處理中獨立出來,只需進行元數據的存儲,即通過將集群元數據的控制和集群元數據的存儲相互獨立處理,進一步地保證了元數據服務器的可靠性和可擴展性。本領域普通技術人員可以理解實現上述各方法實施例的全部或部分步驟可以通過程序指令相關的硬件來完成。前述的程序可以存儲于一計算機可讀取存儲介質中。該程序在執行時,執行包括上述各方法實施例的步驟;而前述的存儲介質包括R0M、RAM、磁碟或者光盤等各種可以存儲程序代碼的介質。圖6為本發明實施例提供的一種控制集群元數據的裝置的結構示意圖。本實施例提供的裝置用于實現圖1所示的方法,可為上述方法實施例中的元數據控制器。如圖6所示,該裝置包括第一劃分單元61、第一下發單元62、第一獲取單元63和第一構建單元64。第一劃分單元61用于將集群元數據按照與各存儲節點的相關性進行劃分,得到所述各存儲節點的相關元數據;所述各存儲節點為所述集群元數據所屬集群內的存儲節點第一下發單元62用于將所述相關元數據下發到所述集群內相關的存儲節點。第一獲取單元63用于當所述集群元數據無法獲取時,從所述集群內的各存儲節點獲取下發的相關元數據。第一構建單元64用于將獲取的相關元數據構建成所述集群元數據。可選地,本發明實施例提供的控制集群元數據的裝置還包括更新單元,用于當所述集群內的各存儲節點變更時,根據所述各存儲節點的變更更新所述集群元數據,得到新的集群元數據。可選地,本發明實施例提供的控制集群元數據的裝置還包括第二劃分單元,用于將所述新的集群元數據按照與剩余存儲節點的相關性進行劃分,得到所述剩余存儲節點的新的相關元數據;第二下發單元,用于將所述新的相關元數據下發到所述剩余存儲節點;第二獲取單元,用于當所述新的集群元數據無法獲取時,從所述剩余存儲節點獲取下發的新的相關元數據;第二構建單元,用于將獲取的新的相關元數據構建成所述新的集群元數據。可選地,本發明實施例提供的控制集群元數據的裝置還包括第一發送單元,用于在所述第二構建單元將獲取的新的相關元數據構建成所述新的集群元數據之后,將所述新的集群元數據發送給元數據服務器。可選地,本發明實施例提供的控制集群元數據的裝置還包括集群元數據獲得單元,用于在所述第一劃分單元將集群元數據按照與各存儲節點的相關性進行劃分之前,根據所述集群的存儲系統啟動時生成的配置文件得到所述集群元數據,或者從元數據服務器得到所述集群元數據。可選地,本發明實施例提供的控制集群元數據的裝置還包括第二發送單元,用于在所述第一構建單元將獲取的相關元數據構建成所述集群元數據之后,將構建成的集群元數據發送給元數據服務器。圖7為本發明實施例提供的一種存儲節點設備的結構示意圖。本實施例提供的裝置用于實現圖2所示的方法,可為上述方法實施例中的存儲節點。如圖7所示,該設備包括元數據接收單元71和元數據發送單元72。元數據接收單元71用于接收并存儲元數據控制器下發的相關元數據,所述相關元數據與本存儲節點相關,由所述元數據控制器將集群元數據按照與各存儲節點的相關性進行劃分得到。元數據發送單元72用于將所述相關元數據發送給所述元數據控制器,以使得當所述集群元數據無法獲取時,所述元數據控制器將接收到的相關元數據構建成所述集群元數據。圖8為本發明實施例提供的一種元數據服務器的結構示意圖。本實施例提供的裝置用于實現圖3所示的方法,可為上述方法實施例中的元數據控制器。如圖8所示,該服務器包括第一接收單元81和存儲單元82。第一接收單元81用于接收元數據控制器發送的集群元數據,所述集群元數據由所述元數據控制器將獲取的相關元數據構建得到,所述相關元數據由所述元數據控制器當所述集群元數據無法獲取時,從所述集群內的各存儲節點獲取得到。存儲單元82用于保存所述集群元數據接收單元接收的所述集群元數據。可選地,本發明實施例提供的元數據服務器還包括第二接收單元,用于接收并保存所述元數據控制器發送的新的集群元數據,所述新的集群元數據由所述元數據控制器當所述集群內的各存儲節點變更時,根據所述各存儲節點的變更更新所述集群元數據得到。圖9為本發明實施例提供的一種存儲系統的結構示意圖。本實施例提供的裝置可用于實現圖1-圖5所示的方法。如圖9所示,該存儲系統包括元數據控制器91、存儲節點92及元數據服務器93。元數據控制器91可為上述任一種控制集群元數據的裝置,用于劃分并下發元數據到存儲節點,并在元數據服務器故障丟失集群元數據的情況下,從存儲節點獲取元數據,恢復集群元數據。存儲節點92可為上述實施例提供的任一種存儲節點設備,用于存儲與自己相關的元數據,并在元數據服務器故障丟失集群元數據的情況下,將各自相關的元數據發送給元數據控制器91,進行重構,恢復集群元數據。元數據服務器93可為上述實施例提供的任一種元數據服務器,丟失集群元數據后,可從元數據控制器91得到集群元數據,實現集群元數據的恢復。另外,本發明實施例還給出一種計算機程序產品,該計算機程序產品包括計算機可讀介質,該可讀介質包括第二組程序代碼,用于執行上述圖1所示方法中的步驟將集群元數據按照與各存儲節點的相關性進行劃分,得到所述各存儲節點的相關元數據;所述各存儲節點為所述集群元數據所屬集群內的存儲節點;將所述相關元數據下發到所述集群內相關的存儲節點;當所述集群元數據無法獲取時,從所述集群內的各存儲節點獲取下發的相關元數據;將獲取的相關元數據構建成所述集群元數據。
可選地,還包括 當所述集群內的各存儲節點變更時,根據所述各存儲節點的變更更新所述集群元數據,得到新的集群元數據。可選地,還包括將所述新的集群元數據按照與剩余存儲節點的相關性進行劃分,得到所述剩余存儲節點的新的相關元數據;將所述新的相關元數據下發到所述剩余存儲節點;當所述新的集群元數據無法獲取時,從所述剩余存儲節點獲取下發的新的相關元數據;將獲取的新的相關元數據構建成所述新的集群元數據。可選地,將獲取的新的相關元數據構建成所述新的集群元數據之后,還包括將所述新的集群元數據發送給元數據服務器。可選地,將集群元數據按照與各存儲節點的相關性進行劃分之前,還包括根據所述集群的存儲系統啟動時生成的配置文件得到所述集群元數據,或者從元數據服務器得到所述集群元數據。可選地,將獲取的相關元數據構建成所述集群元數據之后,還包括將構建成的集群元數據發送給元數據服務器。另外,本發明實施例還給出另一種計算機程序產品,該計算機程序產品包括計算機可讀介質,該可讀介質包括第二組程序代碼,用于執行上述圖2所示方法中的步驟接收并存儲元數據控制器下發的相關元數據,所述相關元數據與本存儲節點相關,由所述元數據控制器將集群元數據按照與各存儲節點的相關性進行劃分得到;將所述相關元數據發送給所述元數據控制器,以使得當所述集群元數據無法獲取時,所述元數據控制器將接收到的相關元數據構建成所述集群元數據。最后,本發明實施例還給出又一種計算機程序產品,該計算機程序產品包括計算機可讀介質,該可讀介質包括第二組程序代碼,用于執行上述圖3所示方法中的步驟接收元數據控制器發送的集群元數據,所述集群元數據由所述元數據控制器將獲取的相關元數據構建得到,所述相關元數據由所述元數據控制器當所述集群元數據無法獲取時,從所述集群內的各存儲節點獲取得到;保存接收的所述集群元數據。可選地,還包括執行以下步驟接收并保存所述元數據控制器發送的新的集群元數據,所述新的集群元數據由所述元數據控制器當所述集群內的各存儲節點變更時,根據所述各存儲節點的變更更新所述集群元數據得到。最后應說明的是以上各實施例僅用以說明本發明的技術方案,而非對其限制;盡管參照前述各實施例對本發明進行了詳細的說明,本領域的普通技術人員應當理解其依然可以對前述各實施例所記載的技術方案進行修改,或者對其中部分或者全部技術特征進行等同替換;而這些修改或者替換,并不使相應技術方案的本質脫離本發明各實施例技術方案的范圍。
權利要求
1.一種控制集群元數據的方法,其特征在于,包括 將集群元數據按照與各存儲節點的相關性進行劃分,得到所述各存儲節點的相關元數據;所述各存儲節點為所述集群元數據所屬集群內的存儲節點; 將所述相關元數據下發到所述集群內相關的存儲節點; 當所述集群元數據無法獲取時,從所述集群內的各存儲節點獲取下發的相關元數據; 將獲取的相關元數據構建成所述集群元數據。
2.根據權利要求1所述方法,其特征在于,還包括 當所述集群內的各存儲節點變更時,根據所述各存儲節點的變更更新所述集群元數據,得到新的集群元數據。
3.根據權利要求2所述方法,其特征在于,還包括 將所述新的集群元數據按照與剩余存儲節點的相關性進行劃分,得到所述剩余存儲節點的新的相關元數據; 將所述新的相關元數據下發到所述剩余存儲節點; 當所述新的集群元數據無法獲取時,從所述剩余存儲節點獲取下發的新的相關元數據; 將獲取的新的相關元數據構建成所述新的集群元數據。
4.根據權利要求3所述方法,其特征在于,將獲取的新的相關元數據構建成所述新的集群元數據之后,還包括 將所述新的集群元數據發送給元數據服務器。
5.根據權利要求1-4任一項所述方法,其特征在于,將集群元數據按照與各存儲節點的相關性進行劃分之前,還包括 根據所述集群的存儲系統啟動時生成的配置文件得到所述集群元數據,或者從元數據服務器得到所述集群元數據。
6.根據權利要求1-4任一項所述方法,其特征在于,將獲取的相關元數據構建成所述集群元數據之后,還包括 將構建成的集群元數據發送給元數據服務器。
7.一種用于控制集群元數據的方法,其特征在于,包括 接收并存儲元數據控制器下發的相關元數據,所述相關元數據與本存儲節點相關,由所述元數據控制器將集群元數據按照與各存儲節點的相關性進行劃分得到; 將所述相關元數據發送給所述元數據控制器,以使得當所述集群元數據無法獲取時,所述元數據控制器將接收到的相關元數據構建成所述集群元數據。
8.一種用于控制集群元數據的方法,其特征在于,包括 接收元數據控制器發送的集群元數據,所述集群元數據由所述元數據控制器將獲取的相關元數據構建得到,所述相關元數據由所述元數據控制器當所述集群元數據無法獲取時,從所述集群內的各存儲節點獲取得到; 保存接收的所述集群元數據。
9.根據權利要求8所述方法,其特征在于,還包括 接收并保存所述元數據控制器發送的新的集群元數據,所述新的集群元數據由所述元數據控制器當所述集群內的各存儲節點變更時,根據所述各存儲節點的變更更新所述集群元數據得到。
10.一種控制集群元數據的裝置,其特征在于,包括 第一劃分單元,用于將集群元數據按照與各存儲節點的相關性進行劃分,得到所述各存儲節點的相關元數據;所述各存儲節點為所述集群元數據所屬集群內的存儲節點;第一下發單元,用于將所述相關元數據下發到所述集群內相關的存儲節點; 第一獲取單元,用于當所述集群元數據無法獲取時,從所述集群內的各存儲節點獲取下發的相關元數據; 第一構建單元,用于將獲取的相關元數據構建成所述集群元數據。
11.根據權利要求10所述裝置,其特征在于,還包括 更新單元,用于當所述集群內的各存儲節點變更時,根據所述各存儲節點的變更更新所述集群元數據,得到新的集群元數據。
12.根據權利要求11所述裝置,其特征在于,還包括 第二劃分單元,用于將所述新的集群元數據按照與剩余存儲節點的相關性進行劃分,得到所述剩余存儲節點的新的相關元數據; 第二下發單元,用于將所述新的相關元數據下發到所述剩余存儲節點; 第二獲取單元,用于當所述新的集群元數據無法獲取時,從所述剩余存儲節點獲取下發的新的相關元數據; 第二構建單元,用于將獲取的新的相關元數據構建成所述新的集群元數據。
13.根據權利要求12所述裝置,其特征在于,還包括第一發送單元,用于在所述第二構建單元將獲取的新的相關元數據構建成所述新的集群元數據之后,將所述新的集群元數據發送給元數據服務器。
14.根據權利要求10-13任一項所述裝置,其特征在于,還包括集群元數據獲得單元,用于在所述第一劃分單元將集群元數據按照與各存儲節點的相關性進行劃分之前,根據所述集群的存儲系統啟動時生成的配置文件得到所述集群元數據,或者從元數據服務器得到所述集群元數據。
15.根據權利要求10-13任一項所述裝置,其特征在于,還包括第二發送單元,用于在所述第一構建單元將獲取的相關元數據構建成所述集群元數據之后,將構建成的集群元數據發送給元數據服務器。
16.一種存儲節點設備,其特征在于,包括 元數據接收單元,用于接收并存儲元數據控制器下發的相關元數據,所述相關元數據與本存儲節點相關,由所述元數據控制器將集群元數據按照與各存儲節點的相關性進行劃分得到; 元數據發送單元,用于將所述相關元數據發送給所述元數據控制器,以使得當所述集群元數據無法獲取時,所述元數據控制器將接收到的相關元數據構建成所述集群元數據。
17.—種元數據服務器,其特征在于,包括 第一接收單元,用于接收元數據控制器發送的集群元數據,所述集群元數據由所述元數據控制器將獲取的相關元數據構建得到,所述相關元數據由所述元數據控制器當所述集群元數據無法獲取時,從所述集群內的各存儲節點獲取得到; 存儲單元,用于保存所述集群元數據接收單元接收的所述集群元數據。
18.根據權利要求17所述服務器,其特征在于,還包括 第二接收單元,用于接收并保存所述元數據控制器發送的新的集群元數據,所述新的集群元數據由所述元數據控制器當所述集群內的各存儲節點變更時,根據所述各存儲節點的變更更新所述集群元數據得到。
19.一種存儲系統,其特征在于,包括上述權利要求10-15任一項所述的控制集群元數據的裝置、上述權利要求16所述的存儲節點設備及上述權利要求17或18所述的元數據服務器。
全文摘要
本發明提供一種存儲系統、控制集群元數據的方法及裝置,方法包括將集群元數據按照與各存儲節點的相關性進行劃分,得到各存儲節點的相關元數據;各存儲節點為集群元數據所屬集群內的存儲節點;將相關元數據下發到集群內相關的存儲節點;當集群元數據無法獲取時,從集群內的各存儲節點獲取下發的相關元數據;將獲取的相關元數據構建成集群元數據。通過將集群元數據劃分并下發到各存儲節點進行保存,使得主元數據服務器及備元數據服務器均故障,丟失了集群元數據的情況下,仍能夠通過從各存儲節點獲取元數據,構建得到集群元數據,從而恢復集群元數據,解決了現有技術中主元數據服務器及備元數據服務器均故障導致集群元數據丟失而無法恢復的問題。
文檔編號G06F11/14GK103019626SQ20121054787
公開日2013年4月3日 申請日期2012年12月17日 優先權日2012年12月17日
發明者田曉波, 林友濱 申請人:華為技術有限公司