專利名稱:一種存儲系統(tǒng)自動精簡配置存儲池及組織管理的方法
技術(shù)領(lǐng)域:
本發(fā)明涉及計(jì)算機(jī)應(yīng)用技術(shù)領(lǐng)域,具體地說是一種存儲系統(tǒng)自動精簡配置存儲池及組織管理的方法。
背景技術(shù):
自動精簡配置存儲方案能夠給操作系統(tǒng)提供大容量的虛擬驅(qū)動器。這種技術(shù)的核心是“欺騙”。如圖1所示,簡單的說,實(shí)際的物理存儲設(shè)備可能并沒有這么多,而讓操作系統(tǒng)認(rèn)為有這么大的存儲空間。因此,自動精簡配置就需要用一個(gè)存儲池來給虛擬驅(qū)動器(也可以稱之為精簡卷)提供可用的存儲空間,而這個(gè)存儲池空間就必須進(jìn)行準(zhǔn)確的組織管理,才能保證自動精簡配置正常的運(yùn)行。否則,操作系統(tǒng)因?yàn)楸弧捌垓_”,而使用了不該使用的存儲空間,將造成不可估量的嚴(yán)重問題。自動精簡配置能夠?qū)崿F(xiàn)精簡的空間分配,也就是說,只有在需要分配存儲空間的時(shí)候才會將實(shí)際的存儲池空間分配出去,這種按需分配是自動精簡配置的實(shí)質(zhì)。自動精簡配置包括存儲池和精簡卷,他們都是按照塊來劃分設(shè)備空間的。其中存儲池空間是占用實(shí)際物理空間,而精簡卷就是通過“欺騙”提供給操作系統(tǒng)的虛擬驅(qū)動器,并不真實(shí)的占用實(shí)際物理空間。一個(gè)存儲池可以對應(yīng)多個(gè)精簡卷,而每一個(gè)精簡卷都可以大于或者小于存儲池空間容量。在這里的按需分配就是當(dāng)精簡卷需要存儲空間時(shí),才會向存儲池申請存儲空間。我們采用存儲池元數(shù)據(jù)信息來記錄存儲池的信息,存儲池會根據(jù)存儲池空間元數(shù)據(jù)信息管理并提供存儲空間給精簡卷使用。因此,存儲池空間元數(shù)據(jù)信息需要被精確的記錄保存和組織管理,才能夠準(zhǔn)確的向精簡卷提供存儲空間,保證自動精簡配置正常運(yùn)行。因此,自動精簡配置存儲池組織管理急需解決兩方面問題,一個(gè)是存儲池元數(shù)據(jù)信息如何存儲,一般來說,對于塊設(shè)備會將設(shè)備的元數(shù)據(jù)信息保存在該設(shè)備的某一個(gè)位置(一般來說是開頭部分),而我們將采用存儲池元數(shù)據(jù)信息與存儲池設(shè)備分開的存儲方式來存儲存儲池元數(shù)據(jù)信息;另一個(gè)是存儲池元數(shù)據(jù)信息如何組織管理,包括存儲池空間如何組織管理,存儲池空間與精簡卷空間如何關(guān)聯(lián)等。通過該系統(tǒng)架構(gòu),能夠?qū)崿F(xiàn)自動精簡設(shè)備存儲池的組織管理,存儲池元數(shù)據(jù)信息的獨(dú)立存儲,保證存儲池元數(shù)據(jù)信息的安全。本發(fā)明能夠有效組織管理存儲池空間,通過組織存儲池元數(shù)據(jù)信息,使用者可以方便的操作存儲池空間。
發(fā)明內(nèi)容
本發(fā)明的目的是提供一種存儲系統(tǒng)自動精簡配置存儲池及組織管理的方法。本發(fā)明的目的是按以下方式實(shí)現(xiàn)的,將存儲池元數(shù)據(jù)信息單獨(dú)存儲在元數(shù)據(jù)設(shè)備中,讓存儲池獨(dú)占存儲池設(shè)備,將存儲池設(shè)備稱為數(shù)據(jù)設(shè)備,重新定義存儲池元數(shù)據(jù)信息為包含元數(shù)據(jù)設(shè)備信息和數(shù)據(jù)設(shè)備信息的存儲池元數(shù)據(jù);這樣,該系統(tǒng)包括(I)存儲池元數(shù)據(jù)管理模塊;(2)存儲池元數(shù)據(jù)組織模塊;(3)元數(shù)據(jù)設(shè)備映射模塊;(4)數(shù)據(jù)設(shè)備映射模塊;其中
存儲池元數(shù)據(jù)管理模塊(1),提供分配、刪除、插入、查找、提交的操作存儲池元數(shù)據(jù)的方法;
存儲池元數(shù)據(jù)組織模塊(2),提供存儲池元數(shù)據(jù)的組織形式,存儲池元數(shù)據(jù)采用B+樹的組織形式,存儲池元數(shù)據(jù)采用自定義的兩階B+樹結(jié)構(gòu)來組織,其中,第一階為所有精簡卷ID組成的B+樹結(jié)構(gòu),第二階為精簡卷ID對應(yīng)的精簡卷映射的塊組成的B+樹結(jié)構(gòu),存儲池元數(shù)據(jù)B+樹的根用root表示;
元數(shù)據(jù)設(shè)備映射模塊(3),提供元數(shù)據(jù)設(shè)備塊分配、刪除和映射的功能,元數(shù)據(jù)設(shè)備中需要存儲元數(shù)據(jù)設(shè)備的元數(shù)據(jù)信息和數(shù)據(jù)設(shè)備的元數(shù)據(jù)信息,因此,當(dāng)精簡卷要從存儲池中申請存儲空間,就等于是從數(shù)據(jù)設(shè)備中分配空間時(shí),數(shù)據(jù)設(shè)備也會向元數(shù)據(jù)設(shè)備申請存儲其元數(shù)據(jù)信息的空間,這時(shí)就需要元數(shù)據(jù)設(shè)備完成相應(yīng)的分配和映射操作,提供塊給數(shù)據(jù)設(shè)備元數(shù)據(jù)信息存儲使用,并根據(jù)分配和映射信息更新元數(shù)據(jù),如果數(shù)據(jù)設(shè)備需要刪除相應(yīng)的元數(shù)據(jù)信息,元數(shù)據(jù)設(shè)備會刪除對應(yīng)的塊,并將元數(shù)據(jù)更新;
數(shù)據(jù)設(shè)備映射模塊(4),提供數(shù)據(jù)設(shè)備塊分配、刪除和映射的功能,數(shù)據(jù)設(shè)備就是存儲池空間,對于精簡卷申請的空間都需要從這里提供,數(shù)據(jù)設(shè)備分配塊給精簡卷使用,將數(shù)據(jù)設(shè)備元數(shù)據(jù)信息保存在元數(shù)據(jù)設(shè)備中,并根據(jù)分配和映射信息更新存儲池元數(shù)據(jù),當(dāng)精簡卷刪除塊時(shí),數(shù)據(jù)設(shè)備也會刪除對應(yīng)的塊,更新自身的元數(shù)據(jù),并將元數(shù)據(jù)信息更新至存儲池元數(shù)據(jù);
具體步驟如下
1)當(dāng)使用者調(diào)用存儲池元數(shù)據(jù)管理模塊分配操作時(shí),會調(diào)用數(shù)據(jù)設(shè)備映射模塊(4)在數(shù)據(jù)設(shè)備中分配新的塊,并將分配和映射的信息保存在數(shù)據(jù)設(shè)備元數(shù)據(jù)中;
2)當(dāng)使用者調(diào)存儲池元數(shù)據(jù)管理模塊(I)刪除操作時(shí),會首先調(diào)用數(shù)據(jù)設(shè)備映射模塊
(4)刪除數(shù)據(jù)設(shè)備中相應(yīng)的塊,并將數(shù)據(jù)設(shè)備元數(shù)據(jù)信息更新,然后調(diào)用存儲池元數(shù)據(jù)組織模塊(2)在存儲池元數(shù)據(jù)的B+樹中刪除對應(yīng)的塊的信息;
3)當(dāng)使用者調(diào)存儲池元數(shù)據(jù)管理模塊(I)插入操作時(shí),會調(diào)用存儲池元數(shù)據(jù)組織模塊
(2)將該塊的信息插入到存儲池元數(shù)據(jù)的B+樹中;
4)當(dāng)使用者調(diào)存儲池元數(shù)據(jù)管理模塊(I)查找操作時(shí),會調(diào)用存儲池元數(shù)據(jù)組織模塊
(2),在存儲池元數(shù)據(jù)的B+樹中查找該塊的信息;
5)當(dāng)使用者調(diào)存儲池元數(shù)據(jù)管理模塊(I)提交操作時(shí),會提交數(shù)據(jù)設(shè)備映射模塊(4)的數(shù)據(jù)設(shè)備元數(shù)據(jù)信息,會提交元數(shù)據(jù)設(shè)備映射模塊(3)的元數(shù)據(jù)設(shè)備元數(shù)據(jù)信息,會將存儲池元數(shù)據(jù)組織模塊(2)的存儲池元數(shù)據(jù)信息刷寫至元數(shù)據(jù)設(shè)備中,即真正刷寫到磁盤上;
6)數(shù)據(jù)設(shè)備映射模塊(4)分配或者刪除塊時(shí),會適時(shí)調(diào)用元數(shù)據(jù)設(shè)備映射模塊(3)分配或者刪除數(shù)據(jù)設(shè)備元數(shù)據(jù)在元數(shù)據(jù)設(shè)備中的塊。本發(fā)明的有益效果是
實(shí)現(xiàn)自動精簡配置存儲池的組織管理,對外提供操作存儲池的接口,方便其他模塊操作存儲池,完成對于存儲池元數(shù)據(jù)的妥善組織管理保存。因此采用這種系統(tǒng)架構(gòu),能夠高效,準(zhǔn)確,安全的完成自動精簡配置存儲池組織管理工作。
圖1是傳統(tǒng)配置示意 圖2是自動精簡配置示意 圖3是存儲池元數(shù)據(jù)與數(shù)據(jù)設(shè)備和元數(shù)據(jù)設(shè)備的元數(shù)據(jù)關(guān)系 圖4是存儲池元數(shù)據(jù)組織存放示意 圖5是存儲池組織管理流程示意圖。
具體實(shí)施例方式參照說明書附圖對本發(fā)明的方法作以下詳細(xì)地說明。在存儲池空間中,存儲池元數(shù)據(jù)信息需要組織管理存儲池空間中每一個(gè)數(shù)據(jù)塊,而且還要有數(shù)據(jù)結(jié)構(gòu)來描述存儲池和精簡卷的關(guān)聯(lián)等,這就需要大量的元數(shù)據(jù)來管理這些內(nèi)容。因此為了使存儲池空間不被大量的元數(shù)據(jù)占據(jù),同時(shí)也是為了保證存儲池元數(shù)據(jù)信息的安全,我們將存儲池元數(shù)據(jù)信息單獨(dú)存儲在一個(gè)設(shè)備中,我們稱之為元數(shù)據(jù)設(shè)備,這樣存儲池就可以獨(dú)占存儲池設(shè)備了,我們將存儲池設(shè)備稱為數(shù)據(jù)設(shè)備。這樣一來,如附圖2,我們重新定義存儲池元數(shù)據(jù)信息為包含元數(shù)據(jù)設(shè)備信息和數(shù)據(jù)設(shè)備信息的存儲池元數(shù)據(jù)。該系統(tǒng)包括(I)存儲池元數(shù)據(jù)管理模塊;(2)存儲池元數(shù)據(jù)組織模塊;(3)元數(shù)據(jù)設(shè)備映射模塊;(4)數(shù)據(jù)設(shè)備映射模塊;
模塊(I)存儲池元數(shù)據(jù)管理模塊,提供分配、刪除、插入、查找、提交等操作存儲池元數(shù)據(jù)的方法;
模塊(2)存儲池元數(shù)據(jù)組織模塊,提供存儲池元數(shù)據(jù)的組織形式。存儲池元數(shù)據(jù)采用B+樹的組織形式。存儲池元數(shù)據(jù)采用自定義的兩階B+樹結(jié)構(gòu)來組織,其中,第一階為所有精簡卷ID組成的B+樹結(jié)構(gòu),第二階為精簡卷ID對應(yīng)的精簡卷映射的塊組成的B+樹結(jié)構(gòu),存儲池元數(shù)據(jù)B+樹的根用root表示;
元數(shù)據(jù)設(shè)備映射模塊(3),提供元數(shù)據(jù)設(shè)備塊分配、刪除和映射的功能。元數(shù)據(jù)設(shè)備中需要存儲元數(shù)據(jù)設(shè)備的元數(shù)據(jù)信息和數(shù)據(jù)設(shè)備的元數(shù)據(jù)信息,因此,當(dāng)精簡卷要從存儲池中申請存儲空間,就等于是從數(shù)據(jù)設(shè)備中分配空間時(shí),數(shù)據(jù)設(shè)備也會向元數(shù)據(jù)設(shè)備申請存儲其元數(shù)據(jù)信息的空間,這時(shí)就需要元數(shù)據(jù)設(shè)備完成相應(yīng)的分配和映射操作,提供塊給數(shù)據(jù)設(shè)備元數(shù)據(jù)信息存儲使用,并根據(jù)分配和映射信息更新元數(shù)據(jù)。如果數(shù)據(jù)設(shè)備需要刪除相應(yīng)的元數(shù)據(jù)信息,元數(shù)據(jù)設(shè)備會刪除對應(yīng)的塊,并將元數(shù)據(jù)更新;
數(shù)據(jù)設(shè)備映射模塊(4),提供數(shù)據(jù)設(shè)備塊分配、刪除和映射的功能。數(shù)據(jù)設(shè)備就是存儲池空間,對于精簡卷申請的空間都需要從這里提供。數(shù)據(jù)設(shè)備分配塊給精簡卷使用,將數(shù)據(jù)設(shè)備元數(shù)據(jù)信息保存在元數(shù)據(jù)設(shè)備中,并根據(jù)分配和映射信息更新存儲池元數(shù)據(jù)。當(dāng)精簡卷刪除塊時(shí),數(shù)據(jù)設(shè)備也會刪除對應(yīng)的塊,更新自身的元數(shù)據(jù),并將元數(shù)據(jù)信息更新至存儲池元數(shù)據(jù)。具體步驟如下
1)當(dāng)使用者調(diào)用存儲池元數(shù)據(jù)管理模塊分配操作時(shí),會調(diào)用數(shù)據(jù)設(shè)備映射模塊(4)在數(shù)據(jù)設(shè)備中分配新的塊,并將分配和映射的信息保存在數(shù)據(jù)設(shè)備元數(shù)據(jù)中;
2)當(dāng)使用者調(diào)存儲池元數(shù)據(jù)管理模塊(I)刪除操作時(shí),會首先調(diào)用數(shù)據(jù)設(shè)備映射模塊(4)刪除數(shù)據(jù)設(shè)備中相應(yīng)的塊,并將數(shù)據(jù)設(shè)備元數(shù)據(jù)信息更新,然后調(diào)用存儲池元數(shù)據(jù)組織模塊(2)在存儲池元數(shù)據(jù)的B+樹中刪除對應(yīng)的塊的信息;
3)當(dāng)使用者調(diào)存儲池元數(shù)據(jù)管理模塊(I)插入操作時(shí),會調(diào)用存儲池元數(shù)據(jù)組織模塊
(2)將該塊的信息插入到存儲池元數(shù)據(jù)的B+樹中;
4)當(dāng)使用者調(diào)存儲池元數(shù)據(jù)管理模塊(I)查找操作時(shí),會調(diào)用存儲池元數(shù)據(jù)組織模塊
(2),在存儲池元數(shù)據(jù)的B+樹中查找該塊的信息;
5)當(dāng)使用者調(diào)存儲池元數(shù)據(jù)管理模塊(I)提交操作時(shí),會提交數(shù)據(jù)設(shè)備映射模塊(4)的數(shù)據(jù)設(shè)備元數(shù)據(jù)信息,會提交元數(shù)據(jù)設(shè)備映射模塊(3)的元數(shù)據(jù)設(shè)備元數(shù)據(jù)信息,會將存儲池元數(shù)據(jù)組織模塊(2)的存儲池元數(shù)據(jù)信息刷寫至元數(shù)據(jù)設(shè)備中,即真正刷寫到磁盤上;
6)數(shù)據(jù)設(shè)備映射模塊(4)分配或者刪除塊時(shí),會適時(shí)調(diào)用元數(shù)據(jù)設(shè)備映射模塊(3)分配或者刪除數(shù)據(jù)設(shè)備元數(shù)據(jù)在元數(shù)據(jù)設(shè)備中的塊。
實(shí)施例對本發(fā)明的內(nèi)容以一個(gè)具體實(shí)例來描述實(shí)現(xiàn)這一體系結(jié)構(gòu)的過程。本發(fā)明實(shí)施方案非常簡單,只需要在LINUX內(nèi)核中安裝自動精簡配置軟件并加入本發(fā)明的系統(tǒng)模塊程序即可。根據(jù)本發(fā)明,自動精簡配置存儲池組織管理系統(tǒng)能夠?qū)ν馓峁┐鎯Τ卦獢?shù)據(jù)管理操作的接口,其他模塊可以直接調(diào)用這些接口,完成存儲池元數(shù)據(jù)的組織管理。除說明書所述的技術(shù)特征外,均為本專業(yè)技術(shù)人員的已知技術(shù)。
權(quán)利要求
1.一種存儲系統(tǒng)自動精簡配置存儲池及組織管理的方法,其特征在于將存儲池元數(shù)據(jù)信息單獨(dú)存儲在元數(shù)據(jù)設(shè)備中,讓存儲池獨(dú)占存儲池設(shè)備,將存儲池設(shè)備稱為數(shù)據(jù)設(shè)備,重新定義存儲池元數(shù)據(jù)信息為包含元數(shù)據(jù)設(shè)備信息和數(shù)據(jù)設(shè)備信息的存儲池元數(shù)據(jù);這樣,該系統(tǒng)包括(1)存儲池元數(shù)據(jù)管理模塊;(2)存儲池元數(shù)據(jù)組織模塊;(3)元數(shù)據(jù)設(shè)備映射模塊;(4)數(shù)據(jù)設(shè)備映射模塊;其中 存儲池元數(shù)據(jù)管理模塊(1),提供分配、刪除、插入、查找、提交的操作存儲池元數(shù)據(jù)的方法; 存儲池元數(shù)據(jù)組織模塊(2),提供存儲池元數(shù)據(jù)的組織形式,存儲池元數(shù)據(jù)采用B+樹的組織形式,存儲池元數(shù)據(jù)采用自定義的兩階B+樹結(jié)構(gòu)來組織,其中,第一階為所有精簡卷ID組成的B+樹結(jié)構(gòu),第二階為精簡卷ID對應(yīng)的精簡卷映射的塊組成的B+樹結(jié)構(gòu),存儲池元數(shù)據(jù)B+樹的根用root表示; 元數(shù)據(jù)設(shè)備映射模塊(3),提供元數(shù)據(jù)設(shè)備塊分配、刪除和映射的功能,元數(shù)據(jù)設(shè)備中需要存儲元數(shù)據(jù)設(shè)備的元數(shù)據(jù)信息和數(shù)據(jù)設(shè)備的元數(shù)據(jù)信息,因此,當(dāng)精簡卷要從存儲池中申請存儲空間,就等于是從數(shù)據(jù)設(shè)備中分配空間時(shí),數(shù)據(jù)設(shè)備也會向元數(shù)據(jù)設(shè)備申請存儲其元數(shù)據(jù)信息的空間,這時(shí)就需要元數(shù)據(jù)設(shè)備完成相應(yīng)的分配和映射操作,提供塊給數(shù)據(jù)設(shè)備元數(shù)據(jù)信息存儲使用,并根據(jù)分配和映射信息更新元數(shù)據(jù),如果數(shù)據(jù)設(shè)備需要刪除相應(yīng)的元數(shù)據(jù)信息,元數(shù)據(jù)設(shè)備會刪除對應(yīng)的塊,并將元數(shù)據(jù)更新; 數(shù)據(jù)設(shè)備映射模塊(4),提供數(shù)據(jù)設(shè)備塊分配、刪除和映射的功能,數(shù)據(jù)設(shè)備就是存儲池空間,對于精簡卷申請的空間都需要從這里提供,數(shù)據(jù)設(shè)備分配塊給精簡卷使用,將數(shù)據(jù)設(shè)備元數(shù)據(jù)信息保存在元數(shù)據(jù)設(shè)備中,并根據(jù)分配和映射信息更新存儲池元數(shù)據(jù),當(dāng)精簡卷刪除塊時(shí),數(shù)據(jù)設(shè)備也會刪除對應(yīng)的塊,更新自身的元數(shù)據(jù),并將元數(shù)據(jù)信息更新至存儲池元數(shù)據(jù);具體步驟如下 O當(dāng)使用者調(diào)用存儲池元數(shù)據(jù)管理模塊分配操作時(shí),會調(diào)用數(shù)據(jù)設(shè)備映射模塊(4)在數(shù)據(jù)設(shè)備中分配新的塊,并將分配和映射的信息保存在數(shù)據(jù)設(shè)備元數(shù)據(jù)中; 2)當(dāng)使用者調(diào)存儲池元數(shù)據(jù)管理模塊(I)刪除操作時(shí),會首先調(diào)用數(shù)據(jù)設(shè)備映射模塊(4)刪除數(shù)據(jù)設(shè)備中相應(yīng)的塊,并將數(shù)據(jù)設(shè)備元數(shù)據(jù)信息更新,然后調(diào)用存儲池元數(shù)據(jù)組織模塊(2)在存儲池元數(shù)據(jù)的B+樹中刪除對應(yīng)的塊的信息;3)當(dāng)使用者調(diào)存儲池元數(shù)據(jù)管理模塊(I)插入操作時(shí),會調(diào)用存儲池元數(shù)據(jù)組織模塊(2)將該塊的信息插入到存儲池元數(shù)據(jù)的B+樹中; 4)當(dāng)使用者調(diào)存儲池元數(shù)據(jù)管理模塊(I)查找操作時(shí),會調(diào)用存儲池元數(shù)據(jù)組織模塊(2),在存儲池元數(shù)據(jù)的B+樹中查找該塊的信息; 5)當(dāng)使用者調(diào)存儲池元數(shù)據(jù)管理模塊(I)提交操作時(shí),會提交數(shù)據(jù)設(shè)備映射模塊(4)的數(shù)據(jù)設(shè)備元數(shù)據(jù)信息,會提交元數(shù)據(jù)設(shè)備映射模塊(3)的元數(shù)據(jù)設(shè)備元數(shù)據(jù)信息,會將存儲池元數(shù)據(jù)組織模塊(2)的存儲池元數(shù)據(jù)信息刷寫至元數(shù)據(jù)設(shè)備中,即真正刷寫到磁盤上; 6)數(shù)據(jù)設(shè)備映射模塊(4)分配或者刪除塊時(shí),會適時(shí)調(diào)用元數(shù)據(jù)設(shè)備映射模塊(3)分配或者刪除數(shù)據(jù)設(shè)備元數(shù)據(jù)在元數(shù)據(jù)設(shè)備中的塊。
全文摘要
本發(fā)明提供一種存儲系統(tǒng)自動精簡配置存儲池及組織管理的方法通常用于存儲系統(tǒng)中,旨在提供一種對自動精簡配置存儲池空間進(jìn)行管理和操作的系統(tǒng)架構(gòu)。采用該系統(tǒng)架構(gòu),可以有效組織管理存儲池空間,實(shí)現(xiàn)存儲池與精簡卷的關(guān)聯(lián)。本發(fā)明能夠有效的、精確地組織管理存儲池空間,方便使用者操作存儲池空間。
文檔編號G06F17/30GK103020201SQ20121051673
公開日2013年4月3日 申請日期2012年12月6日 優(yōu)先權(quán)日2012年12月6日
發(fā)明者溫源, 張宇, 梁志誠, 文中領(lǐng) 申請人:浪潮電子信息產(chǎn)業(yè)股份有限公司