本發(fā)明涉及計算機(jī)存儲技術(shù)領(lǐng)域,特別是涉及一種磁盤存儲管理方法。
背景技術(shù):
目前,當(dāng)今社會已經(jīng)進(jìn)入到數(shù)據(jù)社會,各種各樣的數(shù)據(jù)非常大,在這樣的大數(shù)據(jù)時代數(shù)據(jù)的存儲成了重要的問題,如同小區(qū)的停車位一樣,這些數(shù)據(jù)存儲在哪里,才能更好的利用存儲空間即磁盤空間,并且對這些數(shù)據(jù)的管理又能非常方便。存儲系統(tǒng)中磁盤容量是至關(guān)重要的,但是目前多數(shù)廠商不重視存磁盤的合理利用,導(dǎo)致在大數(shù)據(jù)時代磁盤的使用率大大降低。目前大多數(shù)存儲廠商都是通過虛擬化技術(shù)將底層的單個磁盤或者磁盤陣列做成卷組,然后在卷組上面劃分邏輯卷,最后將邏輯卷映射到緩存。這種操作方法只是對后端磁盤進(jìn)行了統(tǒng)一管理,對磁盤的擴(kuò)容起到了一定的作用,但是磁盤的空間利用率仍然沒有得到最大限度發(fā)揮,磁盤空間利用率仍然較低。
技術(shù)實現(xiàn)要素:
本發(fā)明的目的是提供一種磁盤存儲管理方法,以實現(xiàn)提高磁盤空間利用率。
為解決上述技術(shù)問題,本發(fā)明提供一種磁盤存儲管理方法,包括:
利用虛擬化層對后端磁盤進(jìn)行管理,將后端磁盤加入到管理模式或者映像模式,進(jìn)行統(tǒng)一管理;
通過虛擬化技術(shù)將處于管理模式或者映像模式的后端磁盤劃分成多個區(qū)塊extent;
將所述多個區(qū)塊extent組織起來形成虛擬磁盤,將虛擬磁盤提供給上層接口。
優(yōu)選的,所述虛擬化層設(shè)置在磁盤陣列層和緩存層之間。
優(yōu)選的,所述后端磁盤包括磁盤陣列、單個磁盤或者邏輯卷;所述上層接口為緩存層。
優(yōu)選的,所述將所述多個區(qū)塊extent組織起來形成虛擬磁盤,包括:
采用區(qū)塊管理策略將所述多個區(qū)塊extent組織起來形成虛擬硬盤。
優(yōu)選的,所述區(qū)塊管理策略包括映像策略、序列化策略或者條帶化策略。
優(yōu)選的,所述映像策略為:將后端磁盤空間映射成虛擬磁盤,由區(qū)塊extent進(jìn)行IO數(shù)據(jù)管理。
優(yōu)選的,所述序列化策略為:將連續(xù)的區(qū)塊extent組成虛擬磁盤進(jìn)行管理。
優(yōu)選的,所述條帶化策略為:將分散的區(qū)塊extent組成虛擬磁盤進(jìn)行管理。
優(yōu)選的,所述區(qū)塊extent為IO管理單元,用于在虛擬化層進(jìn)行IO數(shù)據(jù)管理;每個區(qū)塊extent的數(shù)據(jù)容量是相等的。
本發(fā)明所提供的一種磁盤存儲管理方法,利用虛擬化層對后端磁盤進(jìn)行管理,將后端磁盤加入到管理模式或者映像模式,進(jìn)行統(tǒng)一管理;通過虛擬化技術(shù)將處于管理模式或者映像模式的后端磁盤劃分成多個區(qū)塊extent;將所述多個區(qū)塊extent組織起來形成虛擬磁盤,將虛擬磁盤提供給上層接口??梢?,在緩存層和磁盤陣列層之間加入磁盤虛擬化層,從虛擬化層看到的是磁盤陣列或者單個磁盤甚至是邏輯卷,通過虛擬化層進(jìn)行處理后得到虛擬磁盤并提供給上層接口,上層接口即為緩存層,且通過虛擬化技術(shù)對處于管理模式或者映像模式的磁盤劃分區(qū)塊extent,區(qū)塊extent是管理IO的數(shù)據(jù)單位,將后端磁盤分割成不同的區(qū)塊extent,達(dá)到磁盤空間的最大利用,如此采用虛擬化技術(shù)將磁盤空間利用起來,達(dá)到磁盤空間最大限度利用,所以該方法實現(xiàn)提高磁盤空間利用率。
附圖說明
為了更清楚地說明本發(fā)明實施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的實施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)提供的附圖獲得其他的附圖。
圖1為本發(fā)明所提供的一種磁盤存儲管理方法的流程圖;
圖2為虛擬化層數(shù)據(jù)管理結(jié)構(gòu)示意圖;
圖3為磁盤模式切換示意圖。
具體實施方式
本發(fā)明的核心是提供一種磁盤存儲管理方法,以實現(xiàn)提高磁盤空間利用率。
為了使本技術(shù)領(lǐng)域的人員更好地理解本發(fā)明方案,下面將結(jié)合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實施例僅僅是本發(fā)明一部分實施例,而不是全部的實施例?;诒景l(fā)明中的實施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本發(fā)明保護(hù)的范圍。
請參考圖1,圖1為本發(fā)明所提供的一種磁盤存儲管理方法的流程圖,該方法包括:
S11:利用虛擬化層對后端磁盤進(jìn)行管理,將后端磁盤加入到管理模式或者映像模式,進(jìn)行統(tǒng)一管理;
S12:通過虛擬化技術(shù)將處于管理模式或者映像模式的后端磁盤劃分成多個區(qū)塊extent;
S13:將所述多個區(qū)塊extent組織起來形成虛擬磁盤,將虛擬磁盤提供給上層接口。
可見,在緩存層和磁盤陣列層之間加入磁盤虛擬化層,從虛擬化層看到的是磁盤陣列或者單個磁盤甚至是邏輯卷,通過虛擬化層進(jìn)行處理后得到虛擬磁盤并提供給上層接口,上層接口即為緩存層,且通過虛擬化技術(shù)對處于管理模式或者映像模式的磁盤劃分區(qū)塊extent,區(qū)塊extent是管理IO的數(shù)據(jù)單位,將后端磁盤分割成不同的區(qū)塊extent,達(dá)到磁盤空間的最大利用,如此采用虛擬化技術(shù)將磁盤空間利用起來,達(dá)到磁盤空間最大限度利用,所以該方法實現(xiàn)提高磁盤空間利用率。
基于上述方法,具體的,虛擬化層設(shè)置在磁盤陣列層和緩存層之間。
其中,后端磁盤包括磁盤陣列、單個磁盤或者邏輯卷。上層接口為緩存層。對于后端磁盤劃分為多個區(qū)塊,是將后端磁盤中每一個磁盤劃分為多個區(qū)塊,將由一個磁盤劃分的多個區(qū)塊組織成一個虛擬磁盤,提供給上層接口。
具體的,通過虛擬化技術(shù)對處于管理模式或者映像模式的磁盤劃分區(qū)塊extent,其中,管理IO的數(shù)據(jù)單位是區(qū)塊extent,此管理的目的是將磁盤分割成不同的區(qū)塊,從而達(dá)到存儲空間的最大利用。通過不同的區(qū)塊extent,然后將其中一個或者多個區(qū)塊extent映射到上層形成虛擬磁盤即vdisk,通過vdisk為上層接口提供服務(wù)。本方法在緩存層和磁盤陣列層之間加入磁盤虛擬化層,虛擬化層看到的是磁盤陣列或者單個磁盤甚至是邏輯卷,通過虛擬化層進(jìn)行處理后將vdisk即虛擬磁盤提供給上層接口,即緩存層,如此通過存儲虛擬化技術(shù)將空間利用起來,達(dá)到空間最大限度利用。
本方法主要通過虛擬化技術(shù)應(yīng)用到存儲設(shè)備例如磁盤上。在大數(shù)據(jù)時代通過虛擬化技術(shù)將后端磁盤映射給緩存模塊,從而達(dá)到最大限度利用磁盤空間的目的,本方法提高磁盤利用率,降低整個存儲設(shè)備的成本。目前,多個存儲節(jié)點即多個磁盤的場景下,其中有些數(shù)據(jù)直接寫到一個控制器對應(yīng)的磁盤上,而另外控制器的后端磁盤處于比較空閑的狀態(tài),此時磁盤的利用率非常低,并且負(fù)載非常不均衡,本方法充分利用多個節(jié)點即多個磁盤的存儲空間,即對后端磁盤統(tǒng)一RAID管理形成磁盤陣列,在磁盤陣列的基礎(chǔ)上進(jìn)行虛擬化管理,達(dá)到提高磁盤利用率的目的。
具體的,在虛擬化層通過虛擬化技術(shù)對底層的磁盤、邏輯卷或者是磁盤陣列進(jìn)行管理,將這些被管理的磁盤設(shè)置為管理模式,或者是映像模式,然后對處于上述兩種模式的磁盤劃分IO管理單元,IO管理單元為extent區(qū)塊,然后通過數(shù)量不等的區(qū)塊組成虛擬磁盤,最后提供給上層接口,區(qū)塊劃分詳見圖2,圖2為虛擬化層數(shù)據(jù)管理結(jié)構(gòu)示意圖。
后端磁盤是實現(xiàn)數(shù)據(jù)存儲的最終介質(zhì),所有的數(shù)據(jù),包括:元數(shù)據(jù)、管理數(shù)據(jù)等最終都要下發(fā)到磁盤上才能保證數(shù)據(jù)的一致性和安全性,當(dāng)數(shù)據(jù)需要讀取的時候再從后端磁盤讀取出來。為了擴(kuò)展虛擬化層的功能,對后端磁盤兼容類型為各種物理磁盤、邏輯卷和磁盤陣列。虛擬化層將后端磁盤加入到管理模式或者映像模式,進(jìn)行統(tǒng)一管理,沒有加入到此兩種模式的后端磁盤不受虛擬化層管理,即不能通過虛擬化技術(shù)將其映射給緩存使用,同時管理模式和映像模式在一定的條件下可以進(jìn)行切換,從而達(dá)到高效利用磁盤空間的目的。磁盤沒有進(jìn)行管理之前處于非管理模式,非管理模式可以通過創(chuàng)建進(jìn)入到管理者模式,也可以通過創(chuàng)建映像進(jìn)入映像模式;進(jìn)入管理模式或者映像模式的磁盤可以通過數(shù)據(jù)遷移,即一個存儲池的數(shù)據(jù)塊內(nèi)的數(shù)據(jù)移到另一個存儲池數(shù)據(jù)塊中存儲,在管理模式和映像模式之間進(jìn)行切換,關(guān)于模式之間切換詳見圖3,圖3為磁盤模式切換示意圖。
步驟S13中,所述將所述多個區(qū)塊extent組織起來形成虛擬磁盤的過程具體為:采用區(qū)塊管理策略將所述多個區(qū)塊extent組織起來形成虛擬硬盤。
其中,所述區(qū)塊管理策略包括映像策略、序列化策略或者條帶化策略。
進(jìn)一步的,映像策略為:將后端磁盤空間映射成虛擬磁盤,由區(qū)塊extent進(jìn)行IO數(shù)據(jù)管理。
序列化策略為:將連續(xù)的區(qū)塊extent組成虛擬磁盤進(jìn)行管理。
條帶化策略為:將分散的區(qū)塊extent組成虛擬磁盤進(jìn)行管理。
進(jìn)一步的,區(qū)塊extent為IO管理單元,用于在虛擬化層進(jìn)行IO數(shù)據(jù)管理。每個區(qū)塊extent的數(shù)據(jù)容量是相等的。
對于確定管理模式或者映像模式的磁盤,首先將這些磁盤放到一個磁盤管理組即成為存儲池,然后會通過虛擬化技術(shù)將同一個存儲池中的磁盤其劃分為許多區(qū)塊extent,這些區(qū)塊的大小必須相等,這些區(qū)塊就是在虛擬化層進(jìn)行IO管理的數(shù)據(jù)單位。同時區(qū)塊extent的大小可以從8M、16M、一直到8G大小,區(qū)塊的大小決定了存儲池總?cè)萘康拇笮?,這個區(qū)塊大小在存儲池創(chuàng)建之初就已經(jīng)確定,確定后不能進(jìn)行修改。
虛擬化層對磁盤按區(qū)塊進(jìn)行了劃分,但是還需要將這些區(qū)塊管理起來。區(qū)塊extent的管理技術(shù)采用了映像、序列化和條帶化三種策略,通過上述三種策略將區(qū)塊組織起來形成虛擬磁盤映射緩存。其中映像策略是將后端磁盤空間1:1映射給虛擬磁盤,但是IO數(shù)據(jù)管理單位依然是區(qū)塊;順序化策略是將連續(xù)的區(qū)塊組成虛擬磁盤進(jìn)行管理;條帶化策略是將分散的區(qū)塊組成虛擬磁盤進(jìn)行管理,最終呈現(xiàn)給緩存的虛擬磁盤。
綜上,本發(fā)明所提供的一種磁盤存儲管理方法,利用虛擬化層對后端磁盤進(jìn)行管理,將后端磁盤加入到管理模式或者映像模式,進(jìn)行統(tǒng)一管理;通過虛擬化技術(shù)將處于管理模式或者映像模式的后端磁盤劃分成多個區(qū)塊extent;將所述多個區(qū)塊extent組織起來形成虛擬磁盤,將虛擬磁盤提供給上層接口。可見,在緩存層和磁盤陣列層之間加入磁盤虛擬化層,從虛擬化層看到的是磁盤陣列或者單個磁盤甚至是邏輯卷,通過虛擬化層進(jìn)行處理后得到虛擬磁盤并提供給上層接口,上層接口即為緩存層,且通過虛擬化技術(shù)對處于管理模式或者映像模式的磁盤劃分區(qū)塊extent,區(qū)塊extent是管理IO的數(shù)據(jù)單位,將后端磁盤分割成不同的區(qū)塊extent,達(dá)到磁盤空間的最大利用,如此采用虛擬化技術(shù)將磁盤空間利用起來,達(dá)到磁盤空間最大限度利用,所以該方法實現(xiàn)提高磁盤空間利用率。
以上對本發(fā)明所提供的一種磁盤存儲管理方法進(jìn)行了詳細(xì)介紹。本文中應(yīng)用了具體個例對本發(fā)明的原理及實施方式進(jìn)行了闡述,以上實施例的說明只是用于幫助理解本發(fā)明的方法及其核心思想。應(yīng)當(dāng)指出,對于本技術(shù)領(lǐng)域的普通技術(shù)人員來說,在不脫離本發(fā)明原理的前提下,還可以對本發(fā)明進(jìn)行若干改進(jìn)和修飾,這些改進(jìn)和修飾也落入本發(fā)明權(quán)利要求的保護(hù)范圍內(nèi)。