專利名稱:網(wǎng)絡(luò)存儲系統(tǒng)中的數(shù)據(jù)管理方法及其構(gòu)建的網(wǎng)絡(luò)存儲系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及網(wǎng)絡(luò)存儲技術(shù)領(lǐng)域,特別涉及一種網(wǎng)絡(luò)存儲系統(tǒng)中的數(shù)據(jù)管理方法及其構(gòu)建的網(wǎng)絡(luò)存儲系統(tǒng)。
背景技術(shù):
網(wǎng)絡(luò)存儲系統(tǒng)是基于存儲網(wǎng)絡(luò),以存儲服務(wù)器為核心,為應(yīng)用服務(wù)器提供數(shù)據(jù)存儲服務(wù)的數(shù)據(jù)存儲系統(tǒng),該系統(tǒng)強調(diào)數(shù)據(jù)服務(wù)的可擴展性、高可靠性和動態(tài)處理能力,目前常用的技術(shù)是存儲區(qū)域網(wǎng)絡(luò)(SAN)。
存儲區(qū)域網(wǎng)絡(luò)是由若干存儲服務(wù)器和存儲設(shè)備以及存儲網(wǎng)絡(luò)設(shè)備組成的一個單獨的數(shù)據(jù)網(wǎng)絡(luò),通過專用的互連方式連接,是一種高速、專用、集中式管理且具有安全性的信息系統(tǒng)構(gòu)架。
在存儲區(qū)域網(wǎng)絡(luò)中,對外提供數(shù)據(jù)服務(wù)的存儲服務(wù)器在進行擴展時會導致系統(tǒng)的I/O性能下降,因此限制了該類型服務(wù)器的應(yīng)用。特別是隨著具有獨立的元數(shù)據(jù)服務(wù)器結(jié)構(gòu)的存儲系統(tǒng)的發(fā)展,存儲服務(wù)器(例如元數(shù)據(jù)服務(wù)器)的動態(tài)擴展問題就更成為影響系統(tǒng)整體性能擴展的重要因素。
在目前元數(shù)據(jù)服務(wù)器(即存儲服務(wù)器,以下同)的設(shè)計中,通常每個元數(shù)據(jù)服務(wù)器都使用自己對應(yīng)的存儲空間來存儲元數(shù)據(jù),該對應(yīng)的存儲空間是元數(shù)據(jù)服務(wù)器對應(yīng)的本地存儲裝置中的存儲空間。一般來說,元數(shù)據(jù)管理器集群(即存儲服務(wù)器集群)主要使用兩種元數(shù)據(jù)存儲和管理方法。
方法一,集群中的每個元數(shù)據(jù)服務(wù)器保存部分的全局元數(shù)據(jù)表,即全局元數(shù)據(jù)表由集群中所有的元數(shù)據(jù)服務(wù)器上的子表合并而成。這樣,每個元數(shù)據(jù)服務(wù)器可以具備高的元數(shù)據(jù)訪問性能和元數(shù)據(jù)存儲效率,并且無需其他同步機制。但是,這種設(shè)計使得元數(shù)據(jù)服務(wù)器集群的容災(zāi)性和負載均衡能力很差。因為,一個元數(shù)據(jù)服務(wù)器的失效,將導致部分元數(shù)據(jù)表的丟失。而元數(shù)據(jù)動態(tài)負載不均衡將導致大量的元數(shù)據(jù)從某一個服務(wù)器上存取,會降低元數(shù)據(jù)服務(wù)器集群的性能。
方法二,集群中的每個元數(shù)據(jù)服務(wù)器在本地保存一個被同步的全局的元數(shù)據(jù)表的拷貝,即每個元數(shù)據(jù)服務(wù)器都可以訪問全局元數(shù)據(jù)表,包括讀訪問和寫訪問。而元數(shù)據(jù)服務(wù)器之間采用一定的同步機制來保證全局元數(shù)據(jù)的實時性和完整性。這樣,元數(shù)據(jù)服務(wù)器集群就可以具有很好的負載均衡能力和容災(zāi)能力。但是因為通常元數(shù)據(jù)的訪問是一種很頻繁的小I/O請求,這種元數(shù)據(jù)服務(wù)器之間同步機制將損壞元數(shù)據(jù)服務(wù)器集群整體性能,進而使整個存儲系統(tǒng)性能下降。而且由于這種同步機制的開銷,也使得元數(shù)據(jù)服務(wù)器集群的擴展性受到限制。因為加入新的元數(shù)據(jù)服務(wù)器意味著有更多的全局元數(shù)據(jù)表需要同步。這種元數(shù)據(jù)管理機制也使得元數(shù)據(jù)的存儲效率降低,因為每個元數(shù)據(jù)記錄在每個服務(wù)器上都有對應(yīng)的本地拷貝。
發(fā)明內(nèi)容
本發(fā)明的目的在于提供一種網(wǎng)絡(luò)存儲系統(tǒng)中的數(shù)據(jù)管理方法,該方法可有效地解決現(xiàn)有網(wǎng)絡(luò)存儲系統(tǒng)中的存儲服務(wù)器的擴展問題,同時還解決了存儲服務(wù)器失效的動態(tài)處理和恢復,存儲服務(wù)器集群的負載均衡、重構(gòu)等技術(shù)難題,可以在最大程度上發(fā)揮出系統(tǒng)的動態(tài)處理能力,因此極大地提高了數(shù)據(jù)的可靠性和可用性。
本發(fā)明的另一個目的在于提供該方法構(gòu)建的網(wǎng)絡(luò)存儲系統(tǒng),該系統(tǒng)中的存儲服務(wù)器具有優(yōu)越的動態(tài)擴展功能,同時能動態(tài)處理和恢復存儲服務(wù)器的失效,即具有較好的容災(zāi)性能,還能在保證系統(tǒng)高的存儲效率的條件下實現(xiàn)存儲服務(wù)器集群的負載均衡和重構(gòu)。
實現(xiàn)本發(fā)明第一個目的的技術(shù)方案是這樣一種網(wǎng)絡(luò)存儲系統(tǒng)中的數(shù)據(jù)管理方法,所述網(wǎng)絡(luò)存儲系統(tǒng)包括互連網(wǎng)絡(luò)、與所述互連網(wǎng)絡(luò)相連的為應(yīng)用服務(wù)器提供數(shù)據(jù)存儲服務(wù)的存儲服務(wù)器集群及其中各存儲服務(wù)器對應(yīng)的存儲空間,所述各存儲服務(wù)器存儲和管理的數(shù)據(jù)包括應(yīng)用服務(wù)器需要存取的原始數(shù)據(jù)和儲存在所述對應(yīng)的存儲空間的元數(shù)據(jù),其特征在于,在所述存儲服務(wù)器內(nèi)設(shè)置核心管理器,由所述核心管理器將所述各存儲服務(wù)器對應(yīng)的存儲空間組成共有存儲空間,并使各存儲服務(wù)器與其對應(yīng)的元數(shù)據(jù)分離而成為存儲管理器,所述存儲管理器中的所述核心管理器對元數(shù)據(jù)在所述共有存儲空間的存儲位置和元數(shù)據(jù)與所述各存儲管理器的對應(yīng)關(guān)系進行管理。
技術(shù)效果本發(fā)明由于將各存儲服務(wù)器對應(yīng)的存儲空間集中而構(gòu)成共有存儲空間,這樣各存儲服務(wù)器原來各自對應(yīng)的存儲空間不再成為各存儲服務(wù)器的私有空間,而是通過核心管理器的管理組合成根據(jù)數(shù)據(jù)高效管理需要而安排的共有存儲空間,同時各存儲服務(wù)器對應(yīng)的存儲空間內(nèi)的元數(shù)據(jù)也相應(yīng)地與各自存儲服務(wù)器分離,成為在核心管理器分配下,根據(jù)高效管理需要安排給各存儲服務(wù)器管理的可分配元數(shù)據(jù)。將只對元數(shù)據(jù)進行管理的存儲服務(wù)器定義為存儲管理器,相應(yīng)存儲服務(wù)器集群成為存儲管理器集群,即各存儲管理器不再擁有對應(yīng)的存儲空間和對應(yīng)的元數(shù)據(jù),而是只對核心管理器分配給它的元數(shù)據(jù)進行管理。
由于各存儲管理器不自己擁有各自的元數(shù)據(jù),即實現(xiàn)了與元數(shù)據(jù)的分離,因此存儲管理器的擴展、失效處理,存儲管理器集群的動態(tài)負載均衡和重構(gòu)都變成與元數(shù)據(jù)無關(guān)的操作,故本發(fā)明能有效地解決現(xiàn)有設(shè)計方案中的擴展性問題,同時還解決了存儲管理器失效的動態(tài)處理和恢復、存儲管理器集群的負載均衡、存儲管理器集群重構(gòu)等技術(shù)難題。
更優(yōu)化的設(shè)計是,所述共有存儲空間設(shè)置有分區(qū),所述存儲管理器與所述分區(qū)具有一對一和/或一對多的映射關(guān)系。在共有存儲空間設(shè)置有分區(qū)的方案下,核心管理器的管理更方便,即只需對分區(qū)進行編號,設(shè)置好分區(qū)與各存儲管理器的對應(yīng)關(guān)系,就可使數(shù)據(jù)的管理有序而高效,使得共有存儲空間的每一個分區(qū)都可以映射在任何一個存儲管理器上,但在同一時刻,只可以有一個存儲管理器安裝該分區(qū)并對其進行獨占式的訪問。
特別是,所述核心管理器由設(shè)置在存儲管理器中的分配控制器、映射控制器和分區(qū)管理控制器組成,所述分配控制器實現(xiàn)文件的元數(shù)據(jù)在共有存儲空間的分區(qū)上的分布,所述映射控制器實現(xiàn)共有存儲空間的分區(qū)與各存儲管理器的映射管理,并通過一張映射表來維護這種映射關(guān)系,所述分區(qū)管理控制器管理共有存儲空間的分區(qū)。
本發(fā)明方法能高效實現(xiàn)系統(tǒng)的信息訪問、存儲管理器的擴展、失效處理,存儲管理器集群的動態(tài)負載均衡和重構(gòu)的詳細過程見具體實施方式
的詳細描述。
本發(fā)明的第二個目的是這樣實現(xiàn)的上述數(shù)據(jù)管理方法構(gòu)建的網(wǎng)絡(luò)存儲系統(tǒng),包括互連網(wǎng)絡(luò)、與所述互連網(wǎng)絡(luò)相連的為應(yīng)用服務(wù)器提供數(shù)據(jù)存儲服務(wù)的存儲管理器集群及存儲元數(shù)據(jù)的存儲空間,其特征在于各存儲管理器內(nèi)設(shè)置有核心管理器;所述存儲空間為存儲管理器集群中所有存儲管理器共同使用的共有存儲空間,所述核心管理器對元數(shù)據(jù)在所述共有存儲空間的存儲位置和元數(shù)據(jù)與所述各存儲管理器的對應(yīng)關(guān)系進行管理。
技術(shù)效果本發(fā)明方法所構(gòu)建的網(wǎng)絡(luò)存儲系統(tǒng),由于存儲管理器沒有對應(yīng)的存儲空間存儲對應(yīng)的元數(shù)據(jù),而是受核心管理器分配使用共有存儲空間,即各存儲管理器實現(xiàn)了與元數(shù)據(jù)的分離,成為可替換的服務(wù)器,因此存儲管理器的擴展、失效處理,存儲管理器集群的動態(tài)負載均衡和重構(gòu)都變成與元數(shù)據(jù)無關(guān)的操作,因此系統(tǒng)中的存儲管理器具有優(yōu)越的動態(tài)擴展功能,同時能動態(tài)處理和恢復存儲服務(wù)器的失效,即具有較好的容災(zāi)性能,還能在保證系統(tǒng)高的存儲效率的條件下實現(xiàn)存儲服務(wù)器集群的負載均衡和重構(gòu)。
本發(fā)明方法所構(gòu)建的網(wǎng)絡(luò)存儲系統(tǒng)優(yōu)選地在所述共有存儲空間設(shè)置分區(qū),所述存儲管理器與所述分區(qū)具有一對一和/或一對多的映射關(guān)系;所述核心管理器由設(shè)置在存儲管理器中的分配控制器、映射控制器和分區(qū)管理控制器組成,所述分配控制器實現(xiàn)文件在共有存儲空間的分區(qū)上的分布,所述映射控制器實現(xiàn)共有存儲空間的分區(qū)與存儲管理器的映射管理,并通過一張映射表來維護這種映射關(guān)系,所述分區(qū)管理控制器管理共有存儲空間的分區(qū)。
上述優(yōu)選的方案在實際運行時,每一個存儲管理器都緩存著其所管理分區(qū)上的數(shù)據(jù),但該數(shù)據(jù)的元數(shù)據(jù)則是集中在共有存儲空間上。所以存儲管理服務(wù)器擴展、失效處理以及動態(tài)負載均衡等過程無需移動實際數(shù)據(jù),而只需要調(diào)整存儲管理器和分區(qū)間的映射關(guān)系。數(shù)據(jù)存儲的分布也變成為基于分區(qū)而不是基于存儲管理器,即數(shù)據(jù)的存儲位置通過其所存儲的分區(qū)號來決定,而和存儲時所使用的存儲管理器無關(guān)。顯然,本發(fā)明網(wǎng)絡(luò)存儲系統(tǒng)使存儲管理器集群成為具有優(yōu)異可無縫擴展性能的體系架構(gòu),存儲管理服務(wù)器的擴展、失效處理以及動態(tài)負載均衡等過程是一種與數(shù)據(jù)無關(guān)的操作過程,最大程度上發(fā)揮出存儲管理器集群的動態(tài)處理能力,極大地提高了數(shù)據(jù)的可靠性和可用性。
此外,本發(fā)明中的共有存儲空間里的每個分區(qū)只可以被一個存儲管理器獨占訪問,這就使存儲管理器在訪問過程中,不需要考慮共享訪問時(例如分布式文件系統(tǒng))的同步問題。這樣存取過程就可以取得和本地文件系統(tǒng)類似的性能,并最大程度上利用存儲管理器的緩存,極大的提高了數(shù)據(jù)訪問性能。
圖1本發(fā)明方法構(gòu)建的網(wǎng)絡(luò)存儲系統(tǒng)的邏輯結(jié)構(gòu)示意圖。
圖2本發(fā)明方法構(gòu)建的網(wǎng)絡(luò)存儲系統(tǒng)的功能分開的邏輯結(jié)構(gòu)示意圖。
圖3本發(fā)明方法實現(xiàn)的信息訪問流程圖。
圖4本發(fā)明方法實現(xiàn)存儲管理器擴展的流程圖。
圖5本發(fā)明方法實現(xiàn)存儲管理器集群重構(gòu)流程圖。
圖6本發(fā)明方法對存儲管理器失效的處理流程圖。
圖7本發(fā)明方法實現(xiàn)存儲管理器集群動態(tài)負載均衡流程圖。
圖8本發(fā)明方法針對元數(shù)據(jù)服務(wù)器構(gòu)建的存儲系統(tǒng)結(jié)構(gòu)示意圖。
圖9本發(fā)明方法針對文件服務(wù)器構(gòu)建的存儲系統(tǒng)結(jié)構(gòu)示意圖。
具體實施例方式
下面結(jié)合附圖來詳細說明本發(fā)明的具體技術(shù)方案。
圖1描述了本發(fā)明方法構(gòu)建的優(yōu)選的網(wǎng)絡(luò)存儲系統(tǒng)的邏輯結(jié)構(gòu)示意圖,所述網(wǎng)絡(luò)存儲系統(tǒng)包括互連網(wǎng)絡(luò)(圖1中未畫出,見圖7、圖8中的存儲網(wǎng)絡(luò)103)、與所述互連網(wǎng)絡(luò)相連的為應(yīng)用服務(wù)器1提供數(shù)據(jù)存儲服務(wù)的存儲管理器集群2及存儲元數(shù)據(jù)的存儲空間,所述存儲管理器集群2中各存儲管理器內(nèi)設(shè)置有核心管理器;所述存儲空間為存儲管理器集群中所有存儲管理器共同使用的共有存儲空間3,所述核心管理器對元數(shù)據(jù)在所述共有存儲空間的存儲位置和元數(shù)據(jù)與各存儲管理器的對應(yīng)關(guān)系進行管理,本實施例所述核心管理器由分配控制器10、映射控制器20和分區(qū)管理控制器30組成,共有存儲空間3同時被劃分為分區(qū)100。分配控制器10用于實現(xiàn)文件在共有存儲空間3的分區(qū)100上的分布,并可以實現(xiàn)一種基于分區(qū)100的靜態(tài)的存儲負載均衡。映射控制器20用于實現(xiàn)共有存儲空間3的分區(qū)100與存儲管理器集群2之間的映射管理,并通過一張映射表來維護這種映射關(guān)系。分區(qū)管理控制器30實現(xiàn)對共有存儲空間3的分區(qū)100的管理功能,例如從各存儲管理器上安裝或卸載共有存儲空間3的分區(qū)100。映射控制器20所維護的關(guān)于共有存儲空間3中的分區(qū)100與各存儲管理器之間的映射表可以被所有服務(wù)器共享。
圖2描述了本發(fā)明方法構(gòu)建的優(yōu)選的網(wǎng)絡(luò)存儲系統(tǒng)的功能分開的邏輯結(jié)構(gòu)示意圖。分配控制器10和映射控制器20運行在應(yīng)用服務(wù)器端,分區(qū)管理控制器30運行在共有存儲空間端。
各種各樣的基于文件的應(yīng)用服務(wù)器1對外部提供相應(yīng)的服務(wù),對網(wǎng)絡(luò)存儲系統(tǒng)內(nèi)部可以產(chǎn)生I/O請求,是存儲過程中的發(fā)起者。所述的應(yīng)用服務(wù)器集群包括視頻服務(wù)器、網(wǎng)頁服務(wù)器、數(shù)據(jù)庫服務(wù)器、電郵服務(wù)器和文件服務(wù)器等,見圖8,圖9。上述服務(wù)器和管理器都是分布式的,通過互連交換網(wǎng)絡(luò)通訊。圖1中應(yīng)用程序50是運行在應(yīng)用服務(wù)器1上的應(yīng)用程序。
本發(fā)明方法技術(shù)方案實現(xiàn)存儲管理器集群無縫擴展的指導思想是集中存儲和管理,集中指形成共有存儲空間,優(yōu)化方案對共有存儲空間進行分區(qū)管理。即在原存儲服務(wù)器內(nèi)設(shè)置核心管理器,由所述核心管理器將所述存儲服務(wù)器對應(yīng)的存儲空間組成共有存儲空間,并使各存儲服務(wù)器與其管理的的元數(shù)據(jù)分離而成為存儲管理器,各存儲管理器中的所述核心管理器對元數(shù)據(jù)在所述共有存儲空間的存儲位置和元數(shù)據(jù)與所述存儲管理器的對應(yīng)關(guān)系進行管理,由于各存儲管理器中不再是由對應(yīng)的存儲空間存儲元數(shù)據(jù)即與元數(shù)據(jù)分離,因此雖然各存儲管理器內(nèi)均設(shè)置核心管理器,需要采用同步機制,但是由于同步與元數(shù)據(jù)無關(guān),因此不會影響存儲管理器集群2的整體性能,也不會使整個存儲系統(tǒng)性能下降。
共有存儲空間3通過分區(qū)的方式來使存儲資源得到最高效的獨占的訪問。在該指導思想下實現(xiàn)的技術(shù)方案使各種存儲管理器本質(zhì)上就成為了不實際包含元數(shù)據(jù)的可以動態(tài)更換的服務(wù)器。基于這種技術(shù)方案的特性,存儲管理器集群2的擴展、失效處理以及動態(tài)負載均衡過程就可以簡單高效地通過調(diào)整共有存儲空間3的分區(qū)100與各存儲管理器之間的映射關(guān)系來解決。上述動態(tài)擴展等過程被簡化為一些簡單的分區(qū)安裝和卸載工作,而且無需任何數(shù)據(jù)移動,從而實現(xiàn)存儲管理器集群2的無縫動態(tài)擴展。
一般來說,一個比較大的分區(qū)數(shù)可以保證集群的無縫動態(tài)擴展性。根據(jù)前述可知,分區(qū)的數(shù)目限制了存儲管理器集群的數(shù)目,例如1024個分區(qū)就表明系統(tǒng)中最多可以有1024個存儲管理器。在某些特殊的情況下,當集群要突破分區(qū)數(shù)來進行擴展的時候,例如需要將集群擴展到大于1024個,系統(tǒng)就需要產(chǎn)生擴展共有存儲空間,并產(chǎn)生更多的分區(qū),如4096個。然后在進行存儲管理器集群重構(gòu)以后,就可以實現(xiàn)管理器集群的更大的擴展。
本發(fā)明中所指的分區(qū)100類似邏輯分區(qū)的概念,每一個分區(qū)都可以映射在任何一個存儲管理器上,但是在同一時刻,只可以有一個存儲管理器映射該分區(qū)并對其進行獨占式的訪問。一個存儲管理器可以同時映射一個或者多個共有存儲空間中的分區(qū)。分區(qū)管理控制器30則可以實現(xiàn)對共有存儲空間3的所有分區(qū)的管理。其主要功能包括對分區(qū)的映射安裝和卸載、分區(qū)的備份和日志功能等。
上述技術(shù)方案的技術(shù)效果是顯而易見的。共有存儲空間3分區(qū)100的創(chuàng)建,使存儲管理器2成為一個不包含元數(shù)據(jù)、可替換的服務(wù)器,這是因為數(shù)據(jù)存儲的分布是基于分區(qū)而不是基于存儲管理器,即數(shù)據(jù)的存儲位置通過其所存儲的分區(qū)號來決定,而和存儲時所使用的存儲管理器無關(guān)。因此存儲管理服務(wù)器擴展、失效處理和動態(tài)負載均衡等過程都變成一些與數(shù)據(jù)無關(guān)的操作,即上述過程的實現(xiàn)無需移動實際數(shù)據(jù),而只需要調(diào)整共有存儲空間的分區(qū)間與存儲管理器之間的映射關(guān)系。因此,本發(fā)明技術(shù)方案使基于網(wǎng)絡(luò)存儲的存儲管理器集群架構(gòu)具有優(yōu)異的可無縫擴展性能,最大程度上發(fā)揮出存儲管理器集群的動態(tài)處理能力,極大地提高了數(shù)據(jù)的可靠性和可用性。
此外,由于本發(fā)明中的共有存儲空間里的每個分區(qū)只可以被一個存儲管理器獨占訪問,這就使存儲管理器在訪問過程中,不需要考慮共享訪問時(例如分布式文件系統(tǒng))的同步問題。這樣存取過程就可以取得和本地文件系統(tǒng)類似的性能,并最大程度上利用存儲管理器的緩存,極大的提高了數(shù)據(jù)訪問性能。
另外關(guān)于數(shù)據(jù)安全,只要集中保證了共有存儲空間的數(shù)據(jù)安全,整個系統(tǒng)的所有數(shù)據(jù)就都會是安全的。當然相對于分散的數(shù)據(jù),一個集中的存儲空間更容易實現(xiàn)數(shù)據(jù)的安全。
圖3描述了本發(fā)明方法中系統(tǒng)實現(xiàn)信息訪問的流程圖。對于各種基于文件的應(yīng)用服務(wù)器1的應(yīng)用程序50都可以產(chǎn)生對文件信息請求。對于這種文件請求,分配控制器10可以使用相應(yīng)的算法來根據(jù)文件請求得到存儲該文件的分區(qū)的區(qū)號。例如,文件名可通過使用哈希運算得到一個分區(qū)的區(qū)號。當然在這一個過程中,是允許不同的文件名被計算出相同的分區(qū)號的。因為,一個分區(qū)往往要保存許多文件的信息。
在得到被請求文件對應(yīng)的分區(qū)號后,映射控制器20將在存儲管理器與分區(qū)的映射表中,查找該分區(qū)號所對應(yīng)的存儲管理器。然后通過網(wǎng)絡(luò)傳輸信息請求。對于寫類型請求,還要傳遞被寫信息到相應(yīng)存儲管理器中。各存儲管理器會通過數(shù)據(jù)訪問控制器40來完成相應(yīng)的訪問。對于讀類型請求的被請求信息,最后訪問結(jié)果將通過網(wǎng)絡(luò)傳輸?shù)綉?yīng)用服務(wù)器1。
圖4描述了本發(fā)明方法實現(xiàn)存儲管理器2擴展的過程。當整個系統(tǒng)需要進行相應(yīng)的存儲管理器擴展的時候,如當前的存儲管理器集群2不能高效地完成過多的請求,管理員可以動態(tài)地物理加入一個新的存儲管理器。在這種基于網(wǎng)絡(luò)的環(huán)境中,加入新的存儲管理器,就是簡單的將該存儲管理器接入系統(tǒng)。系統(tǒng)可以自動發(fā)現(xiàn)這個新的存儲管理器。映射控制器20根據(jù)一定的算法來調(diào)整映射表,將一些分區(qū)從映射表中的原有的存儲管理器集群對應(yīng)的記錄中刪除,并加入與新存儲管理器相關(guān)的映射關(guān)系。然后,分區(qū)管理控制器30鎖住這些需要轉(zhuǎn)移的分區(qū)的訪問隊列,停止對訪問隊列中的請求處理。在此情況下,將需轉(zhuǎn)移的分區(qū)從當前管理該分區(qū)的存儲管理器上卸下,并將這些分區(qū)安裝在新加入的存儲管理器上。最后,對需轉(zhuǎn)移的分區(qū)的訪問隊列解鎖。隨后,所有對這些被轉(zhuǎn)移到新的存儲管理器上分區(qū)的信息請求,都將通過這個新加入的存儲管理器完成。而相應(yīng)的其他的管理器的負載就會降低,而整個存儲管理器集群的性能就會提高。這個擴展的過程可以動態(tài)地進行,而且不涉及任何數(shù)據(jù)的移動,效率很高。
圖5描述了本發(fā)明方法實現(xiàn)存儲管理器集群重構(gòu)的流程。當存儲管理器集群2的擴展要突破當前分區(qū)的數(shù)目時,存儲管理器集群2的擴展與一般的擴展(如圖4所示的擴展流程)不同,而是要先進行存儲管理器集群重構(gòu)來提供分區(qū)的數(shù)據(jù)。例如,分區(qū)從128個提高到1024個,這樣就可以支持最多有1024個存儲管理器的集群了。然后再通過圖4所示的擴展流程進行相應(yīng)的擴展。在存儲管理器集群重構(gòu)的過程中,需要進行數(shù)據(jù)的移動,但是通過本發(fā)明的管理方法,可以使這種重構(gòu)操作具有很快的響應(yīng)時間。
首先需要在在共有存儲空間中加入新的分區(qū),例如,分區(qū)從128個提高到1024個,則需要加入1024-128=896個新的分區(qū)。當管理員發(fā)出重構(gòu)命令后,分配控制器會保存原有的分配算法,并產(chǎn)生一個可以將文件名映射到擴大的分區(qū)數(shù)的新的分配算法,同時映射控制器產(chǎn)生一個新的使用所有分區(qū)的映射表。分區(qū)管理控制器根據(jù)新的映射表轉(zhuǎn)移或者安裝所有的分區(qū)。上述流程的操作可以很快完成,系統(tǒng)返回集群重構(gòu)命令的完成信息,而系統(tǒng)進入存儲管理器集群重構(gòu)狀態(tài)。
系統(tǒng)在重構(gòu)狀態(tài)時,需要將所有在重構(gòu)前存在的數(shù)據(jù)根據(jù)新的分配算法轉(zhuǎn)移到不同的分區(qū)上。在重構(gòu)過程中,當存儲管理器收到應(yīng)用服務(wù)器的數(shù)據(jù)訪問請求時,如果所請求的信息存在,則進行正常的如圖3所示的操作。如果所請求的信息不存在,則可能是因為該信息還沒有被轉(zhuǎn)移。因此該存儲管理器就可以根據(jù)保存的舊的分配算法,計算出該文件原先存儲的分區(qū)號,該存儲管理器再根據(jù)當前的映射表得到當前管理該分區(qū)的存儲管理器,數(shù)據(jù)則會從原先的分區(qū)轉(zhuǎn)移到新的分區(qū)。最后,應(yīng)用服務(wù)器的請求就可以被響應(yīng)了。
顯然,上述過程表明,本發(fā)明方法中存儲管理器集群重構(gòu)的過程不影響系統(tǒng)的正常操作。
圖6描述了本發(fā)明方法對存儲管理器失效處理的流程。當存在一個失效存儲管理器情況下,無論失效的原因是什么,系統(tǒng)都可以發(fā)現(xiàn)該存儲管理器不能響應(yīng)信息請求。根據(jù)映射管理器的映射表,所有該存儲管理器管理的分區(qū)所對應(yīng)的訪問隊列將被鎖定。映射管理器調(diào)整映射表,把受影響的分區(qū)轉(zhuǎn)移到集群中其他存儲管理器的記錄中,并刪除失效存儲管理器所對應(yīng)的記錄。然后,分區(qū)管理控制器將轉(zhuǎn)移該失效存儲管理器所管理的分區(qū)到這些分區(qū)在新映射表中所對應(yīng)的存儲管理器上。此外,還可以使用類似日志的技術(shù)來對各個分區(qū)進行數(shù)據(jù)恢復。最后,重新激活這些受影響分區(qū)的訪問隊列。顯然,系統(tǒng)可以無縫地實現(xiàn)存儲管理器失效處理,而不影響數(shù)據(jù)的訪問。
圖7描述了本發(fā)明方法實現(xiàn)存儲管理器動態(tài)負載均衡的流程。動態(tài)負載均衡用于在運行時動態(tài)的重新分配存儲管理器所管理的分區(qū),來解決一些存儲管理器負載過重,而其他的管理器負載太輕的不均衡的問題。系統(tǒng)可以自我監(jiān)視每個存儲管理器的負載情況。當有管理器的負載超過一個預設(shè)的警成負載值時,映射控制器調(diào)整映射表,將負載過重的存儲管理器所管理的一部分分區(qū)轉(zhuǎn)移到一些負載較輕的存儲管理器中。分區(qū)管理控制器在鎖住這些需要轉(zhuǎn)移的分區(qū)的訪問隊列的情況下,將需轉(zhuǎn)移的分區(qū)從當前的管理該分區(qū)的存儲管理器上卸載,并將這些分區(qū)安裝在新分配的存儲管理器上。最后對需轉(zhuǎn)移的分區(qū)的訪問隊列解鎖。
這樣就實現(xiàn)了負載的動態(tài)均衡調(diào)整,也無需任何數(shù)據(jù)在分區(qū)間的移動。
圖8和圖9描述了本發(fā)明針對兩種典型體系的結(jié)構(gòu)圖,當然本發(fā)明所涉及的管理方法絕不局限于上述兩種應(yīng)用。
圖8描述了本發(fā)明在使用元數(shù)據(jù)服務(wù)器的應(yīng)用環(huán)境中的網(wǎng)絡(luò)存儲系統(tǒng)體系結(jié)構(gòu)。在這種應(yīng)用環(huán)境中的體系結(jié)構(gòu)中,各種應(yīng)用服務(wù)器1所訪問的存儲系統(tǒng)是由分離的元數(shù)據(jù)服務(wù)器集群5和存儲設(shè)備集群7組成的。系統(tǒng)中各個設(shè)備通過存儲網(wǎng)絡(luò)103相互連接。元數(shù)據(jù)服務(wù)器5處理應(yīng)用服務(wù)器1對元數(shù)據(jù)的請求,而數(shù)據(jù)的傳輸是通過存儲設(shè)備集群7和應(yīng)用服務(wù)器集群1之間的高速數(shù)據(jù)通道完成。在這種應(yīng)用中,元數(shù)據(jù)服務(wù)器5就相當于本發(fā)明中存儲管理器。在這個系統(tǒng)中,共有存儲空間3就是用于元數(shù)據(jù)服務(wù)器5的元數(shù)據(jù)存儲。
現(xiàn)在越來越多的存儲系統(tǒng)采用這種具有分離的元數(shù)據(jù)服務(wù)器和存儲設(shè)備的結(jié)構(gòu)。例如基于對象的存儲系統(tǒng)。在這樣的體系結(jié)構(gòu)中,采用本發(fā)明可擴展的存儲管理器集群管理方法,都可以有效的解決元數(shù)據(jù)服務(wù)器的擴展性、錯誤處理和動態(tài)負載均衡等問題。
圖9描述了本發(fā)明在基于文件服務(wù)器集群的網(wǎng)絡(luò)存儲系統(tǒng)體系結(jié)構(gòu)。在這種情況下,應(yīng)用服務(wù)器1可以通過文件服務(wù)器集群8來訪問存儲網(wǎng)絡(luò)中存儲設(shè)備7。由于這些文件服務(wù)器集群8在I/O路徑上,所以對該文件服務(wù)器集群的可擴展性的要求更加緊迫。在這個系統(tǒng)中,文件服務(wù)器集群8就相當于本發(fā)明中的存儲管理器集群。而存儲設(shè)備集群7通過存儲網(wǎng)絡(luò)103可以實現(xiàn)一個共有存儲空間3。所有的數(shù)據(jù)和元數(shù)據(jù)都是通過文件服務(wù)器集群8存儲在共有存儲空間3上。文件服務(wù)器集群8和共有存儲空間3之間通過存儲網(wǎng)絡(luò)相連接,而應(yīng)用服務(wù)器1和文件服務(wù)器集群8之間通過網(wǎng)絡(luò)102相連,而且應(yīng)用服務(wù)器1的請求級別為文件級的請求。
本發(fā)明雖對技術(shù)方案進行了詳細說明,但不應(yīng)限于此。本領(lǐng)域一般技術(shù)人員按本發(fā)明基本指導思想對其作出的修改或變動,均應(yīng)屬于本發(fā)明的保護范圍。
權(quán)利要求
1.一種網(wǎng)絡(luò)存儲系統(tǒng)中的數(shù)據(jù)管理方法,所述網(wǎng)絡(luò)存儲系統(tǒng)包括互連網(wǎng)絡(luò)、與所述互連網(wǎng)絡(luò)相連的為應(yīng)用服務(wù)器提供數(shù)據(jù)存儲服務(wù)的存儲服務(wù)器集群及各存儲服務(wù)器對應(yīng)的存儲空間,所述各存儲服務(wù)器存儲和管理的數(shù)據(jù)包括應(yīng)用服務(wù)器需要存取的原始數(shù)據(jù)和儲存在所述對應(yīng)的存儲空間的元數(shù)據(jù),其特征在于,在所述存儲服務(wù)器內(nèi)設(shè)置核心管理器,由所述核心管理器將所述各存儲服務(wù)器對應(yīng)的存儲空間組成共有存儲空間,并使各存儲服務(wù)器與其管理的對應(yīng)的元數(shù)據(jù)分離而成為存儲管理器,所述存儲管理器中的所述核心管理器對元數(shù)據(jù)在所述共有存儲空間的存儲位置和元數(shù)據(jù)與所述各存儲管理器的對應(yīng)關(guān)系進行管理。
2.根據(jù)權(quán)利要求1所述的網(wǎng)絡(luò)存儲系統(tǒng)中的數(shù)據(jù)管理方法,其特征在于所述共有存儲空間設(shè)置有分區(qū),所述存儲管理器與所述分區(qū)具有一對一和/或一對多的映射關(guān)系。
3.根據(jù)權(quán)利要求2所述的網(wǎng)絡(luò)存儲系統(tǒng)中的數(shù)據(jù)管理方法,其特征在于所述核心管理器由設(shè)置在存儲管理器中的分配控制器、映射控制器和分區(qū)管理控制器組成,所述分配控制器實現(xiàn)文件在共有存儲空間的分區(qū)上的分布,所述映射控制器實現(xiàn)共有存儲空間的分區(qū)與存儲管理器的映射管理,并通過一張映射表來維護這種映射關(guān)系,所述分區(qū)管理控制器管理共有存儲空間的分區(qū)。
4.根據(jù)權(quán)利要求3所述網(wǎng)絡(luò)存儲系統(tǒng)中的數(shù)據(jù)管理方法,其特征在于,實現(xiàn)系統(tǒng)信息訪問過程包括如下步驟(1)、應(yīng)用服務(wù)器產(chǎn)生信息請求;(2)、分配控制器決定信息存儲的分區(qū);(3)、映射控制器根據(jù)映射表決定當前管理該分區(qū)的存儲管理器;(4)、通過網(wǎng)絡(luò)傳輸信息請求和/或被寫信息到該存儲管理器;(5)、存儲管理器在該分區(qū)上完成該信息訪問;(6)、返回信息訪問結(jié)果和/或被寫結(jié)果到應(yīng)用服務(wù)器。
5.根據(jù)權(quán)利要求3所述網(wǎng)絡(luò)存儲系統(tǒng)中的數(shù)據(jù)管理方法,其特征在于,實現(xiàn)所述存儲管理器的擴展包括如下步驟(1)、系統(tǒng)接入新存儲管理器;(2)、系統(tǒng)發(fā)現(xiàn)該新存儲管理器;(3)、映射控制器調(diào)整映射表,加入與新存儲管理器相關(guān)的映射關(guān)系;(4)、分區(qū)管理控制器鎖住對需轉(zhuǎn)移的分區(qū)的訪問隊列;(5)、分區(qū)管理控制器將需轉(zhuǎn)移的分區(qū)從當前管理該分區(qū)的存儲管理器上卸載;(6)、分區(qū)管理控制器將被卸載的需轉(zhuǎn)移的分區(qū)安裝在新存儲管理器上;(7)、對需轉(zhuǎn)移的分區(qū)的訪問隊列解鎖。
6.根據(jù)權(quán)利要求3所述網(wǎng)絡(luò)存儲系統(tǒng)中的數(shù)據(jù)管理方法,其特征在于,實現(xiàn)所述存儲管理器集群重構(gòu)包括如下步驟(1)、共有存儲空間加入新的分區(qū);(2)、系統(tǒng)收到集群重構(gòu)命令;(3)、分配控制器保存原有的分配算法,并產(chǎn)生一個新的分配算法;(4)、映射控制器產(chǎn)生一個新的使用所有分區(qū)的映射表;(5)、分區(qū)管理控制器根據(jù)新的映射表轉(zhuǎn)移或者安裝所有的分區(qū);(6)、返回集群重構(gòu)命令完成信息,系統(tǒng)進入存儲管理器集群重構(gòu)狀態(tài)。
7.根據(jù)權(quán)利要求3所述網(wǎng)絡(luò)存儲系統(tǒng)中的數(shù)據(jù)管理方法,其特征在于,所述存儲管理器失效處理過程通過如下步驟完成(1)、系統(tǒng)發(fā)現(xiàn)失效存儲管理器不能響應(yīng)信息請求;(2)、分區(qū)管理控制器鎖住對失效存儲管理器所管理的分區(qū)的訪問隊列;(3)、映射管理器調(diào)整映射表,轉(zhuǎn)移該失效存儲管理器所管理的分區(qū);(4)、分區(qū)管理控制器根據(jù)新的映射表,轉(zhuǎn)移該失效存儲管理器所管理的分區(qū),并安裝在相應(yīng)的存儲管理器上;(5)、對失效存儲管理器所管理的分區(qū)進行數(shù)據(jù)恢復;(6)、對需轉(zhuǎn)移的分區(qū)的訪問隊列解鎖。
8.根據(jù)權(quán)利要求3所述網(wǎng)絡(luò)存儲系統(tǒng)中的數(shù)據(jù)管理方法,其特征在于,所述存儲管理器動態(tài)負載均衡通過如下步驟實現(xiàn)(1)、一個存儲管理器負載過重,超過預設(shè)的警戒負載值;(2)、映射控制器調(diào)整映射表;(3)、分區(qū)管理控制器鎖住對需轉(zhuǎn)移的分區(qū)的訪問隊列;(4)、分區(qū)管理控制器將需轉(zhuǎn)移的分區(qū)從當前管理該分區(qū)的存儲管理器上卸載;(5)、并將該分區(qū)安裝在新的映射表指定的存儲管理器上;(6)、對需轉(zhuǎn)移的分區(qū)的訪問隊列解鎖。
9.權(quán)利要求1-8之一所述網(wǎng)絡(luò)存儲系統(tǒng)中的數(shù)據(jù)管理方法構(gòu)建的網(wǎng)絡(luò)存儲系統(tǒng),包括互連網(wǎng)絡(luò)、與所述互連網(wǎng)絡(luò)相連的為應(yīng)用服務(wù)器提供數(shù)據(jù)存儲服務(wù)的存儲管理器集群及存儲元數(shù)據(jù)的存儲空間,其特征在于各存儲管理器內(nèi)設(shè)置有核心管理器,所述存儲空間為存儲管理器集群中所有存儲管理器共同使用的共有存儲空間,所述核心管理器對元數(shù)據(jù)在所述共有存儲空間的存儲位置和元數(shù)據(jù)與所述各存儲管理器的對應(yīng)關(guān)系進行管理。
10.根據(jù)權(quán)利要求9所述的網(wǎng)絡(luò)存儲系統(tǒng),其特征在于所述共有存儲空間設(shè)置有分區(qū),所述存儲管理器與所述分區(qū)具有一對一和/或一對多的映射關(guān)系;所述核心管理器由設(shè)置在存儲管理器中的分配控制器、映射控制器和分區(qū)管理控制器組成,所述分配控制器實現(xiàn)文件在共有存儲空間的分區(qū)上的分布,所述映射控制器實現(xiàn)共有存儲空間的分區(qū)與存儲管理器的映射管理,并通過一張映射表來維護這種映射關(guān)系,所述分區(qū)管理控制器管理共有存儲空間的分區(qū)。
全文摘要
本發(fā)明一種網(wǎng)絡(luò)存儲系統(tǒng)中的數(shù)據(jù)管理方法,是在網(wǎng)絡(luò)存儲系統(tǒng)中的存儲服務(wù)器內(nèi)設(shè)置核心管理器,由所述核心管理器將所述存儲服務(wù)器對應(yīng)的存儲空間組成共有存儲空間,并使各存儲服務(wù)器與其管理的對應(yīng)的元數(shù)據(jù)分離而成為存儲管理器,所述各存儲管理器中的所述核心管理器對元數(shù)據(jù)在所述共有存儲空間的存儲位置和元數(shù)據(jù)與所述存儲管理器的對應(yīng)關(guān)系進行管理。通過調(diào)整所述的對應(yīng)關(guān)系,即可簡單、有效地實現(xiàn)存儲管理器的擴展、失效處理、動態(tài)負載均衡和/或集群重構(gòu)等過程。本發(fā)明有效的解決了現(xiàn)有網(wǎng)絡(luò)存儲系統(tǒng)的擴展性問題,最大程度上發(fā)揮出存儲管理器集群的動態(tài)處理能力,因此極大地提高了數(shù)據(jù)的可靠性和可用性。
文檔編號G06F17/30GK1652090SQ200510011340
公開日2005年8月10日 申請日期2005年2月23日 優(yōu)先權(quán)日2005年2月23日
發(fā)明者祝夭龍, 嚴杰, 熊暉 申請人:北京邦諾存儲科技有限公司