一種在線擴(kuò)容的虛擬卷系統(tǒng)及其實(shí)現(xiàn)方法
【專利摘要】本發(fā)明公開了一種在線擴(kuò)容的虛擬卷系統(tǒng)及其實(shí)現(xiàn)方法,其中,所述實(shí)現(xiàn)方法包括以下步驟:將各存儲(chǔ)設(shè)備格式化,其中,在所述格式化中,對(duì)于每一所述存儲(chǔ)設(shè)備,將其一段空間設(shè)置為存放管理數(shù)據(jù)的管理區(qū),其他空間格式化成大小相同的存儲(chǔ)塊;將若干存儲(chǔ)設(shè)備組成一個(gè)存儲(chǔ)池,所有存儲(chǔ)設(shè)備的各存儲(chǔ)塊組成連續(xù)的邏輯地址空間;在所述存儲(chǔ)池中,任意選取若干存儲(chǔ)塊,組成虛擬磁盤。采用上述方案,本發(fā)明能夠在不中斷虛擬卷系統(tǒng)正常存儲(chǔ)服務(wù)的前提下,實(shí)現(xiàn)對(duì)存儲(chǔ)容量和存儲(chǔ)服務(wù)進(jìn)行任意擴(kuò)展,具有很高的市場應(yīng)用價(jià)值。
【專利說明】一種在線擴(kuò)容的虛擬卷系統(tǒng)及其實(shí)現(xiàn)方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及虛擬卷系統(tǒng),尤其涉及的是,一種在線擴(kuò)容的虛擬卷系統(tǒng)及其實(shí)現(xiàn)方法。
【背景技術(shù)】
[0002]虛擬化存儲(chǔ)降低了存儲(chǔ)管理的復(fù)雜度,有效地解決了底層存儲(chǔ)設(shè)備的復(fù)雜性和多樣性,使系統(tǒng)具備了更好的擴(kuò)展性和靈活性。用戶只需將存儲(chǔ)設(shè)備添加到存儲(chǔ)池(Pool)中并進(jìn)行簡單配置,就可以創(chuàng)建虛擬卷(Virtual Volume),而不必考慮應(yīng)用了虛擬卷的系統(tǒng)中,單個(gè)設(shè)備的物理存儲(chǔ)容量和存儲(chǔ)介質(zhì)的屬性,從而能夠方便地實(shí)現(xiàn)統(tǒng)一的存儲(chǔ)管理。
[0003]現(xiàn)在的RAID (Redundant Array of Independent Disk,獨(dú)立冗余磁盤陣列)一般都提供了對(duì)在線擴(kuò)容(Online Capacity Expansion)的支持,即在保持系統(tǒng)正常運(yùn)行的同時(shí),RAID系統(tǒng)能夠支持向已存在的驅(qū)動(dòng)器組(Drive Group)中加入新的一個(gè)或多個(gè)磁盤(Disk),從而動(dòng)態(tài)擴(kuò)充虛擬磁盤(Virtual Disk)的容量。因此,如何在不中斷虛擬卷系統(tǒng)正常存儲(chǔ)服務(wù)的前提下,實(shí)現(xiàn)對(duì)存儲(chǔ)容量和存儲(chǔ)服務(wù)進(jìn)行任意擴(kuò)展,是需要解決的技術(shù)問題。
【發(fā)明內(nèi)容】
[0004]本發(fā)明所要解決的技術(shù)問題是提供一種新的在線擴(kuò)容的虛擬卷系統(tǒng)及其實(shí)現(xiàn)方法。
[0005]本發(fā)明的技術(shù)方案如下:一種在線擴(kuò)容的虛擬卷系統(tǒng)的實(shí)現(xiàn)方法,其包括以下步驟:將各存儲(chǔ)設(shè)備格式化,其中,在所述格式化中,對(duì)于每一所述存儲(chǔ)設(shè)備,將其一段空間設(shè)置為存放管理數(shù)據(jù)的管理區(qū),其他空間格式化成大小相同的存儲(chǔ)塊;將若干存儲(chǔ)設(shè)備組成一個(gè)存儲(chǔ)池,所有存儲(chǔ)設(shè)備的各存儲(chǔ)塊組成連續(xù)的邏輯地址空間;在所述存儲(chǔ)池中,任意選取若干存儲(chǔ)塊,組成虛擬磁盤。
[0006]優(yōu)選的,所述實(shí)現(xiàn)方法中,所述存儲(chǔ)設(shè)備為獨(dú)立冗余磁盤陣列、磁盤和/或閃存。
[0007]優(yōu)選的,所述實(shí)現(xiàn)方法中,所述存儲(chǔ)池包括I至32個(gè)獨(dú)立冗余磁盤陣列。
[0008]優(yōu)選的,所述實(shí)現(xiàn)方法中,所述管理數(shù)據(jù)為元數(shù)據(jù)。
[0009]優(yōu)選的,所述實(shí)現(xiàn)方法中,所述格式化中,所述管理區(qū)的大小為16*512+32*1024*1024字節(jié),并且,獲得所述存儲(chǔ)設(shè)備的空閑存儲(chǔ)塊的數(shù)量。
[0010]優(yōu)選的,所述實(shí)現(xiàn)方法中,所述存儲(chǔ)池使用數(shù)組管理其中的物理卷,使用位示圖管理全部物理卷的存儲(chǔ)塊。
[0011]優(yōu)選的,所述實(shí)現(xiàn)方法中,所述虛擬磁盤使用紅黑樹結(jié)構(gòu)將各所述存儲(chǔ)塊作為節(jié)點(diǎn)進(jìn)行管理。
[0012]優(yōu)選的,所述實(shí)現(xiàn)方法還包括步驟:選擇一個(gè)已經(jīng)創(chuàng)建好的物理卷擴(kuò)容到所述存儲(chǔ)池;或者,根據(jù)預(yù)配置策略,自動(dòng)選擇空閑的磁盤,自動(dòng)創(chuàng)建獨(dú)立冗余磁盤陣列后創(chuàng)建物理卷,擴(kuò)容到所述存儲(chǔ)池;所述擴(kuò)容,包括在所述存儲(chǔ)池的所述位示圖中尋找空閑的至少一存儲(chǔ)塊,將其加入到所述虛擬磁盤的紅黑樹結(jié)構(gòu),修改元數(shù)據(jù)寫入管理區(qū)。[0013]優(yōu)選的,所述實(shí)現(xiàn)方法還包括步驟:釋放至少一存儲(chǔ)塊,將其從所述虛擬磁盤的紅黑樹結(jié)構(gòu)刪除,修改元數(shù)據(jù)寫入管理區(qū)。
[0014]本發(fā)明的又一技術(shù)方案如下:一種在線擴(kuò)容的虛擬卷系統(tǒng),其包括:格式化的若干存儲(chǔ)設(shè)備,其中,每一所述存儲(chǔ)設(shè)備,其一段空間設(shè)置為存放管理數(shù)據(jù)的管理區(qū),其他空間格式化成大小相同的存儲(chǔ)塊;若干存儲(chǔ)設(shè)備組成的一個(gè)存儲(chǔ)池,其中,所有存儲(chǔ)設(shè)備的各存儲(chǔ)塊組成連續(xù)的邏輯地址空間;以及在所述存儲(chǔ)池中任意選取若干存儲(chǔ)塊所組成的虛擬磁盤。
[0015]采用上述方案,本發(fā)明通過設(shè)置存放管理數(shù)據(jù)的管理區(qū)以及將存儲(chǔ)塊組成連續(xù)的邏輯地址空間,從而能夠在不中斷虛擬卷系統(tǒng)正常存儲(chǔ)服務(wù)的前提下,實(shí)現(xiàn)對(duì)存儲(chǔ)容量和存儲(chǔ)服務(wù)進(jìn)行任意擴(kuò)展,具有很高的市場應(yīng)用價(jià)值。
【專利附圖】
【附圖說明】
[0016]圖1為本發(fā)明的一個(gè)實(shí)施例的創(chuàng)建物理卷結(jié)構(gòu)示意圖;
[0017]圖2為本發(fā)明的一個(gè)實(shí)施例的紅黑樹結(jié)構(gòu)示意圖;
[0018]圖3為本發(fā)明的一個(gè)實(shí)施例的擴(kuò)容示意圖;
[0019]圖4為本發(fā)明的一個(gè)實(shí)施例的紅黑樹結(jié)構(gòu)擴(kuò)容示意圖。
【具體實(shí)施方式】
[0020]為了便于理解本發(fā)明,下面結(jié)合附圖和具體實(shí)施例,對(duì)本發(fā)明進(jìn)行更詳細(xì)的說明。附圖中給出了本發(fā)明的較佳的實(shí)施例。但是,本發(fā)明可以采用許多不同的形式來實(shí)現(xiàn),并不限于本說明書所描述的實(shí)施例。相反地,提供這些實(shí)施例的目的是使對(duì)本發(fā)明的公開內(nèi)容的理解更加透徹全面。
[0021]需要說明的是,當(dāng)元件被稱為“固定于”另一個(gè)元件,它可以直接在另一個(gè)元件上或者也可以存在居中的元件。當(dāng)一個(gè)元件被認(rèn)為是“連接”另一個(gè)元件,它可以是直接連接到另一個(gè)元件或者可能同時(shí)存在居中元件。本說明書所使用的術(shù)語“垂直的”、“水平的”、“左”、“右”以及類似的表述只是為了說明的目的。
[0022]除非另有定義,本說明書所使用的所有的技術(shù)和科學(xué)術(shù)語與屬于本發(fā)明的【技術(shù)領(lǐng)域】的技術(shù)人員通常理解的含義相同。本說明書中在本發(fā)明的說明書中所使用的術(shù)語只是為了描述具體的實(shí)施例的目的,不是用于限制本發(fā)明。本說明書所使用的術(shù)語“和/或”包括一個(gè)或多個(gè)相關(guān)的所列項(xiàng)目的任意的和所有的組合。
[0023]本發(fā)明的一個(gè)實(shí)施例是,一種在線擴(kuò)容的虛擬卷系統(tǒng)的實(shí)現(xiàn)方法,其包括以下步驟:將各存儲(chǔ)設(shè)備格式化,其中,在所述格式化中,對(duì)于每一所述存儲(chǔ)設(shè)備,將其一段空間設(shè)置為存放管理數(shù)據(jù)的管理區(qū),其他空間格式化成大小相同的存儲(chǔ)塊(TRUNK);將若干存儲(chǔ)設(shè)備組成一個(gè)存儲(chǔ)池,所有存儲(chǔ)設(shè)備的各存儲(chǔ)塊組成連續(xù)的邏輯地址空間;在所述存儲(chǔ)池中,任意選取若干存儲(chǔ)塊,組成虛擬磁盤。
[0024]其中,將各存儲(chǔ)設(shè)備格式化,即創(chuàng)建物理卷;存儲(chǔ)池中包括若干個(gè)存儲(chǔ)設(shè)備,例如,包括若干磁盤。優(yōu)選的,所述管理數(shù)據(jù)為元數(shù)據(jù)。
[0025]優(yōu)選的,還包括步驟:選取至少一空閑的所述存儲(chǔ)塊或者已格式化的存儲(chǔ)設(shè)備,擴(kuò)容到所述存儲(chǔ)池。優(yōu)選的,還包括步驟:選取所述存儲(chǔ)池中至少一被選擇組成虛擬磁盤的存儲(chǔ)塊或者至少一存儲(chǔ)設(shè)備,從所述存儲(chǔ)池中刪除。例如,所述實(shí)現(xiàn)方法還包括以下步驟:SI,將各存儲(chǔ)設(shè)備格式化;S2,將若干存儲(chǔ)設(shè)備組成一個(gè)存儲(chǔ)池,所有存儲(chǔ)設(shè)備的各存儲(chǔ)塊組成連續(xù)的邏輯地址空間;S3,在所述存儲(chǔ)池中,任意選取若干存儲(chǔ)塊,組成虛擬磁盤。又如,在執(zhí)行中,所述實(shí)現(xiàn)方法還包括以下步驟:S3,在所述存儲(chǔ)池中,任意選取具有連續(xù)的邏輯地址空間的若干存儲(chǔ)塊,組成虛擬磁盤。又如,在執(zhí)行中,所述實(shí)現(xiàn)方法還包括以下步驟:S3,在所述存儲(chǔ)池中,從具有連續(xù)的邏輯地址空間的各存儲(chǔ)塊中,任意選取若干存儲(chǔ)塊,組成虛擬磁盤。優(yōu)選的,步驟S3之后,還執(zhí)行以下步驟S4:選取至少一空閑的所述存儲(chǔ)塊或者已格式化的存儲(chǔ)設(shè)備,擴(kuò)容到所述存儲(chǔ)池。
[0026]優(yōu)選的,所述實(shí)現(xiàn)方法中,所述存儲(chǔ)設(shè)備為獨(dú)立冗余磁盤陣列、磁盤和/或閃存(Flash)。例如,所述存儲(chǔ)池包括至少一個(gè)RAID。又如所述存儲(chǔ)池包括一個(gè)或多個(gè)RAID、一個(gè)或多個(gè)磁盤、和/或一個(gè)或多個(gè)閃存;優(yōu)選的,所述存儲(chǔ)池還包括一個(gè)固態(tài)硬盤(SolidState Disk),優(yōu)選的,各所述存儲(chǔ)設(shè)備的管理區(qū)統(tǒng)一設(shè)置于所述固態(tài)硬盤上,此時(shí),各存儲(chǔ)設(shè)備的全部空間格式化成大小相同的存儲(chǔ)塊;優(yōu)選的,所述存儲(chǔ)池包括I至32個(gè)獨(dú)立冗余磁盤陣列。這樣,通過將每個(gè)RAID或DISK或其他物理設(shè)備進(jìn)行格式化,前面一段空間用于存放管理數(shù)據(jù),其他空間格式化成均等大小的TRUNK,然后任意個(gè)RAID可以組成一個(gè)Pool,所有RAID的TRUNK —起組成一段連續(xù)的邏輯地址空間??梢詮拇薖ool內(nèi)選取任意TRUNK用于組成VD0
[0027]優(yōu)選的,所述實(shí)現(xiàn)方法中,所述格式化中,所述管理區(qū)的大小為16*512+32*1024*1024字節(jié),并且,獲得所述存儲(chǔ)設(shè)備的空閑存儲(chǔ)塊的數(shù)量。例如,16*512字節(jié)用于存儲(chǔ)所述元數(shù)據(jù),32*1024*1024字節(jié)用于創(chuàng)建Pool存儲(chǔ)信息。并且獲得了所述存儲(chǔ)設(shè)備的空閑存儲(chǔ)塊的數(shù)量,即后續(xù)可用的空閑存儲(chǔ)塊的數(shù)量。
[0028]例如,如圖1所示,格式化存儲(chǔ)設(shè)備,即創(chuàng)建PV,說明如下。對(duì)于一個(gè)物理存在的存儲(chǔ)設(shè)備我們將其抽象成PV(physical volume,物理卷),首先將一個(gè)物理存儲(chǔ)設(shè)備進(jìn)行格式化,將其物理空間格式化。例如,在PV的前16個(gè)BLK (block,也就是一個(gè)塊,512字節(jié))寫入元數(shù)據(jù),然后將PV的空間大小減去16*512+32*1024*1024 (后者也就是32M,這段空間可用于后面創(chuàng)建Pool),然后根據(jù)剩余的空間大小,將其格式化成固定大小的塊,這樣。就得到了當(dāng)前PV的空閑塊個(gè)數(shù):free_chunk。
[0029]例如,將物理存儲(chǔ)設(shè)備,包括RAID或Disk或Flash等,抽象為PV,并且將PV內(nèi)的地址空間格式化,前面16*512+32*1024*1024的大小空間保留用于存放元數(shù)據(jù),其他空間都格式化為大小相等的TRUNK。如圖1所示,創(chuàng)建PV時(shí),一部分空間作為物理卷元數(shù)據(jù)空間,用于存儲(chǔ)該P(yáng)V的元數(shù)據(jù)(PV METADATA),一部分空間作為存儲(chǔ)池元數(shù)據(jù)空間,用于存儲(chǔ)該P(yáng)V所在存儲(chǔ)池的元數(shù)據(jù)(POOL METADATA),其他空間則平均分為大小相等的存儲(chǔ)塊,包括TRUNK0、TRUNKl……(圖1中僅顯示到TRUNK4,根據(jù)實(shí)際情況可以包括許多個(gè)TRUNK)。TRUNK的大小不做限制,只需其能夠?qū)崿F(xiàn)存儲(chǔ)池的數(shù)據(jù)存儲(chǔ)需求即可;優(yōu)選的,根據(jù)存儲(chǔ)需求設(shè)置各存儲(chǔ)設(shè)備TRUNK的大小及其數(shù)量。例如,物理卷元數(shù)據(jù)空間中,包括:PV_imid,即PV 的唯一標(biāo)識(shí);Free_trunk,即空閑的 TRUNK數(shù)目;Host_pool,即 PV所屬的pool ;Pv_type,即PV所屬的類型;pv_state,即PV的狀態(tài)等數(shù)據(jù)信息。
[0030]優(yōu)選的,所述實(shí)現(xiàn)方法中,所述存儲(chǔ)池使用數(shù)組管理其中的物理卷,使用位示圖(Bitmap)管理全部物理卷的存儲(chǔ)塊;這樣,Pool使用數(shù)組管理PV,使用BITMAP管理所有PV的TRUNK。優(yōu)選的,所述實(shí)現(xiàn)方法中,所述虛擬磁盤使用紅黑樹(Red Black Tree, RBTREE,一種二叉樹)結(jié)構(gòu)將各所述存儲(chǔ)塊作為節(jié)點(diǎn)進(jìn)行管理。
[0031]例如,創(chuàng)建Pool和VD如圖2所示,將任意個(gè)RAID結(jié)合在一起,組成一個(gè)Pool,優(yōu)選的,小于等于32個(gè)RAID結(jié)合在一起,組成一個(gè)Pool。一個(gè)Pool將幾個(gè)RAID的空間組合在一起,形成一片連續(xù)的線性的地址空間。優(yōu)選的,使用一個(gè)數(shù)組管理所有的PV,數(shù)組內(nèi)存放指向PV數(shù)據(jù)結(jié)構(gòu)的指針。優(yōu)選的,使用一個(gè)Bitmap來表示當(dāng)前Pool內(nèi)那些TRUNK被占用,那些TRUNK沒有被占用。創(chuàng)建VD可以從此片空間內(nèi)選取任意的空閑的TRUNK來組建一個(gè)VD。例如,使用RBTREE來組織VD的數(shù)據(jù)結(jié)構(gòu),RBTREE的特性使得VD具有較高的尋址效率。這樣,VD使用RBTREE,將相應(yīng)的TRUNK給管理起來,每一個(gè)TRUNK就是一個(gè)RBTREE的節(jié)點(diǎn),所以VD的擴(kuò)容和縮減都可以抽象為對(duì)RBTREE的添加節(jié)點(diǎn)和刪除節(jié)點(diǎn)操作,尋址也抽象為RBTREE節(jié)點(diǎn)的查找,基于RBTREE的特點(diǎn),那么VD的尋址將很快而且隨著VD的擴(kuò)容尋址速度基本不受影響,同時(shí)VD的擴(kuò)容和縮減將不會(huì)對(duì)業(yè)務(wù),例如VD尋址等,造成任何影響。
[0032]優(yōu)選的,所述實(shí)現(xiàn)方法還包括步驟:選擇一個(gè)已經(jīng)創(chuàng)建好的物理卷擴(kuò)容到所述存儲(chǔ)池;或者,根據(jù)預(yù)配置策略,自動(dòng)選擇空閑的磁盤,自動(dòng)創(chuàng)建獨(dú)立冗余磁盤陣列后創(chuàng)建物理卷,擴(kuò)容到所述存儲(chǔ)池;所述擴(kuò)容,包括在所述存儲(chǔ)池的所述位示圖中尋找空閑的至少一存儲(chǔ)塊,將其加入到所述虛擬磁盤的紅黑樹結(jié)構(gòu),修改元數(shù)據(jù)寫入管理區(qū)。
[0033]例如,所述實(shí)現(xiàn)方法還包括以下步驟:
[0034]SI,將各存儲(chǔ)設(shè)備格式化;
[0035]S2,將若干存儲(chǔ)設(shè)備組成一個(gè)存儲(chǔ)池,所有存儲(chǔ)設(shè)備的各存儲(chǔ)塊組成連續(xù)的邏輯地址空間;
[0036]S3,在所述存儲(chǔ)池中,任意選取若干存儲(chǔ)塊,組成虛擬磁盤;
[0037]S41,選擇一個(gè)已經(jīng)創(chuàng)建好的物理卷擴(kuò)容到所述存儲(chǔ)池。或者,采用步驟S42替代上述步驟S41,步驟S42為:根據(jù)預(yù)配置策略,自動(dòng)選擇空閑的磁盤,自動(dòng)創(chuàng)建獨(dú)立冗余磁盤陣列后創(chuàng)建物理卷,擴(kuò)容到所述存儲(chǔ)池。
[0038]優(yōu)選的,所述實(shí)現(xiàn)方法還包括步驟:釋放至少一存儲(chǔ)塊,將其從所述虛擬磁盤的紅黑樹結(jié)構(gòu)刪除,修改元數(shù)據(jù)寫入管理區(qū)。例如,在上述步驟S41或步驟S42之后,還執(zhí)行以下步驟S5:釋放至少一存儲(chǔ)塊,將其從所述虛擬磁盤的紅黑樹結(jié)構(gòu)刪除,修改元數(shù)據(jù)寫入管理區(qū)。例如,寫入一個(gè)總的管理區(qū),和/或,寫入相關(guān)存儲(chǔ)設(shè)備的管理區(qū)。又如,步驟S5中,還包括釋放至少一存儲(chǔ)設(shè)備。
[0039]例如,Pool的擴(kuò)容如圖3所示,例如,若當(dāng)前的存儲(chǔ)容量已經(jīng)使用完,空閑容量已經(jīng)無法滿足業(yè)務(wù)的需求,那么Pool將進(jìn)行擴(kuò)容。例如,還包括以下步驟:判斷所述存儲(chǔ)池中的存儲(chǔ)容量是否低于預(yù)設(shè)值,是則自動(dòng)擴(kuò)容。優(yōu)選的,實(shí)時(shí)判斷或者周期判斷所述存儲(chǔ)池中的存儲(chǔ)容量是否低于所述預(yù)設(shè)值;例如,判斷所述存儲(chǔ)池中的存儲(chǔ)容量是否低于所述存儲(chǔ)池總存儲(chǔ)容量的5%或者10% ;又如,每隔10秒或者30秒或者60秒,判斷所述存儲(chǔ)池中的存儲(chǔ)容量是否低于所述預(yù)設(shè)值,是則自動(dòng)擴(kuò)容;其中,所述自動(dòng)擴(kuò)容,包括增加所述存儲(chǔ)池總存儲(chǔ)容量的10%或者20%。又如,可以手動(dòng)選擇一個(gè)已經(jīng)創(chuàng)建好的PV,將其擴(kuò)容到Pool當(dāng)中,也可以事先配置好策略,自動(dòng)選擇空閑的磁盤,自動(dòng)創(chuàng)建RAID,再創(chuàng)建PV進(jìn)行擴(kuò)容,Pool的擴(kuò)容是容量的線性擴(kuò)容,直接增加Pool的空閑TRUNK數(shù)目即可。由于在Pool內(nèi)用一個(gè)PV數(shù)組管理相應(yīng)的PV,因此只需要向PV數(shù)組內(nèi)添加新的PV指針,并更新Pool容量即可,對(duì)當(dāng)前業(yè)務(wù)流量無任何影響。這樣,應(yīng)用靈活、簡單、方便。
[0040]例如,VD的擴(kuò)容和縮減如圖4所示,在Pool的Bitmap內(nèi)尋找到空閑的TRUNK,然后將TRUNK直接加入到VD的RBTREE數(shù)據(jù)結(jié)構(gòu),更新VD的容量,重新寫入元數(shù)據(jù),使更改生效即可。VD的尋址和VD的擴(kuò)容就直接抽象成了,RBTREE的查找和RBTREE的添加節(jié)點(diǎn)過程,這兩者具有相對(duì)獨(dú)立的流程,使用一個(gè)鎖即可以防止兩者之間的競爭。同時(shí)由于我們組織地址都是以TRUNK為單位,所以VD容量的縮減也成為一個(gè)簡單的事情,只需要將相應(yīng)的TRUNK釋放,并且從RBTREE中除去,那么VD就完成了縮減。同樣可以在線完成容量縮減,因?yàn)閂D的縮減也抽象為一個(gè)RBTREE節(jié)點(diǎn)的釋放過程。此TRUNK又可以被其他VD所使用了。
[0041]結(jié)合應(yīng)用上述任一相關(guān)實(shí)施例,本發(fā)明的又一實(shí)施例如下:一種在線擴(kuò)容的虛擬卷系統(tǒng),其包括:格式化的若干存儲(chǔ)設(shè)備,其中,每一所述存儲(chǔ)設(shè)備,其一段空間設(shè)置為存放管理數(shù)據(jù)的管理區(qū),其他空間格式化成大小相同的存儲(chǔ)塊;若干存儲(chǔ)設(shè)備組成的一個(gè)存儲(chǔ)池,其中,所有存儲(chǔ)設(shè)備的各存儲(chǔ)塊組成連續(xù)的邏輯地址空間;以及在所述存儲(chǔ)池中任意選取若干存儲(chǔ)塊所組成的虛擬磁盤。
[0042]例如,該虛擬卷系統(tǒng)包括具有連續(xù)邏輯地址空間的若干存儲(chǔ)塊所組成的一個(gè)存儲(chǔ)池。又如,所述存儲(chǔ)池包括至少一個(gè)RAID。又如所述存儲(chǔ)池包括一個(gè)或多個(gè)RAID、一個(gè)或多個(gè)磁盤、和/或一個(gè)或多個(gè)閃存;優(yōu)選的,所述存儲(chǔ)池還包括一個(gè)固態(tài)硬盤。優(yōu)選的,所述存儲(chǔ)池包括I至32個(gè)獨(dú)立冗余磁盤陣列。優(yōu)選的,每一所述存儲(chǔ)設(shè)備設(shè)置一大小為16*512+32*1024*1024字節(jié)的管理區(qū);又如,各管理區(qū)統(tǒng)一設(shè)置于一個(gè)或多個(gè)存儲(chǔ)設(shè)備中。優(yōu)選的,所述虛擬磁盤使用紅黑樹結(jié)構(gòu)將各所述存儲(chǔ)塊作為節(jié)點(diǎn)進(jìn)行管理。
[0043]進(jìn)一步地,本發(fā)明的實(shí)施例還包括,上述各實(shí)施例的各技術(shù)特征,相互組合形成的在線擴(kuò)容的虛擬卷系統(tǒng)及其實(shí)現(xiàn)方法。
[0044]需要說明的是,在線擴(kuò)容的虛擬卷系統(tǒng)及其實(shí)現(xiàn)方法是一種提供持續(xù)存儲(chǔ)服務(wù)的實(shí)現(xiàn)方法,解決的是擴(kuò)容時(shí)如何提高存儲(chǔ)設(shè)備利用程度的技術(shù)問題,該方法通過執(zhí)行計(jì)算機(jī)程序?qū)崿F(xiàn)對(duì)存儲(chǔ)系統(tǒng)內(nèi)部運(yùn)行性能的改進(jìn),反映的是在不中斷虛擬卷系統(tǒng)正常存儲(chǔ)服務(wù)的前提下,實(shí)現(xiàn)對(duì)存儲(chǔ)容量和存儲(chǔ)服務(wù)進(jìn)行任意擴(kuò)展,利用的是遵循自然規(guī)律的技術(shù)手段,獲得存儲(chǔ)設(shè)備的存儲(chǔ)容量利用最大化、存儲(chǔ)服務(wù)不中斷的技術(shù)效果。因此,本發(fā)明專利申請(qǐng)是一種通過執(zhí)行計(jì)算機(jī)程序?qū)崿F(xiàn)計(jì)算機(jī)系統(tǒng)性能改進(jìn)的解決方案,屬于專利法第二條第二款規(guī)定的技術(shù)方案,屬于專利保護(hù)的客體。
[0045]需要說明的是,上述各技術(shù)特征繼續(xù)相互組合,形成未在上面列舉的各種實(shí)施例,均視為本發(fā)明說明書記載的范圍;并且,對(duì)本領(lǐng)域普通技術(shù)人員來說,可以根據(jù)上述說明加以改進(jìn)或變換,而所有這些改進(jìn)和變換都應(yīng)屬于本發(fā)明所附權(quán)利要求的保護(hù)范圍。
【權(quán)利要求】
1.一種在線擴(kuò)容的虛擬卷系統(tǒng)的實(shí)現(xiàn)方法,其特征在于,包括以下步驟: 將各存儲(chǔ)設(shè)備格式化,其中,在所述格式化中,對(duì)于每一所述存儲(chǔ)設(shè)備,將其一段空間設(shè)置為存放管理數(shù)據(jù)的管理區(qū),其他空間格式化成大小相同的存儲(chǔ)塊; 將若干存儲(chǔ)設(shè)備組成一個(gè)存儲(chǔ)池,所有存儲(chǔ)設(shè)備的各存儲(chǔ)塊組成連續(xù)的邏輯地址空間; 在所述存儲(chǔ)池中,任意選取若干存儲(chǔ)塊,組成虛擬磁盤。
2.根據(jù)權(quán)利要求1所述實(shí)現(xiàn)方法,其特征在于,所述存儲(chǔ)設(shè)備為獨(dú)立冗余磁盤陣列、磁盤和/或閃存。
3.根據(jù)權(quán)利要求2所述實(shí)現(xiàn)方法,其特征在于,所述存儲(chǔ)池包括I至32個(gè)獨(dú)立冗余磁盤陣列。
4.根據(jù)權(quán)利要求3所述實(shí)現(xiàn)方法,其特征在于,所述管理數(shù)據(jù)為元數(shù)據(jù)。
5.根據(jù)權(quán)利要求4所述實(shí)現(xiàn)方法,其特征在于,所述格式化中,所述管理區(qū)的大小為16*512+32*1024*1024字節(jié),并且,獲得所述存儲(chǔ)設(shè)備的空閑存儲(chǔ)塊的數(shù)量。
6.根據(jù)權(quán)利要求1至5任一所述實(shí)現(xiàn)方法,其特征在于,所述存儲(chǔ)池使用數(shù)組管理其中的物理卷,使用位示圖管理全部物理卷的存儲(chǔ)塊。
7.根據(jù)權(quán)利要求6所述實(shí)現(xiàn)方法,其特征在于,所述虛擬磁盤使用紅黑樹結(jié)構(gòu)將各所述存儲(chǔ)塊作為節(jié)點(diǎn)進(jìn)行管理。
8.根據(jù)權(quán)利要求7所述實(shí)現(xiàn)方法,其特征在于,還包括步驟:選擇一個(gè)已經(jīng)創(chuàng)建好的物理卷擴(kuò)容到所述存儲(chǔ)池;或者, 根據(jù)預(yù)配置策略,自動(dòng)選擇空閑的磁盤,自動(dòng)創(chuàng)建獨(dú)立冗余磁盤陣列后創(chuàng)建物理卷,擴(kuò)容到所述存儲(chǔ)池; 所述擴(kuò)容,包括在所述存儲(chǔ)池的所述位示圖中尋找空閑的至少一存儲(chǔ)塊,將其加入到所述虛擬磁盤的紅黑樹結(jié)構(gòu),修改元數(shù)據(jù)寫入管理區(qū)。
9.根據(jù)權(quán)利要求8所述實(shí)現(xiàn)方法,其特征在于,還包括步驟:釋放至少一存儲(chǔ)塊,將其從所述虛擬磁盤的紅黑樹結(jié)構(gòu)刪除,修改元數(shù)據(jù)寫入管理區(qū)。
10.一種在線擴(kuò)容的虛擬卷系統(tǒng),其特征在于,包括: 格式化的若干存儲(chǔ)設(shè)備,其中,每一所述存儲(chǔ)設(shè)備,其一段空間設(shè)置為存放管理數(shù)據(jù)的管理區(qū),其他空間格式化成大小相同的存儲(chǔ)塊; 若干存儲(chǔ)設(shè)備組成的一個(gè)存儲(chǔ)池,其中,所有存儲(chǔ)設(shè)備的各存儲(chǔ)塊組成連續(xù)的邏輯地址空間; 以及在所述存儲(chǔ)池中任意選取若干存儲(chǔ)塊所組成的虛擬磁盤。
【文檔編號(hào)】G06F3/06GK103823641SQ201410093090
【公開日】2014年5月28日 申請(qǐng)日期:2014年3月13日 優(yōu)先權(quán)日:2014年3月13日
【發(fā)明者】陳學(xué)偉 申請(qǐng)人:深圳市迪菲特科技股份有限公司