專利名稱:一種存儲(chǔ)虛擬化系統(tǒng)及方法
技術(shù)領(lǐng)域:
本發(fā)明涉及存儲(chǔ)虛擬化技術(shù),尤其涉及一種存儲(chǔ)虛擬化系統(tǒng)及方法。
背景技術(shù):
海量存儲(chǔ)系統(tǒng)通過分級(jí)存儲(chǔ),解決了數(shù)據(jù)熱度等級(jí)問題,但是分級(jí)存儲(chǔ)的存儲(chǔ)系 統(tǒng)由于采用SSD等特殊硬件,導(dǎo)致存儲(chǔ)系統(tǒng)非常昂貴。如何在通常的無硬件特殊需求的存 儲(chǔ)系統(tǒng)上解決局部數(shù)據(jù)過熱的問題,就顯得十分重要。 通常存儲(chǔ)系統(tǒng)在解決后端10問題上,都是采用兩層10虛擬的辦法。具體地,在某 個(gè)存儲(chǔ)控制器下,構(gòu)建一定數(shù)量盤的RAID系統(tǒng),再在RAID系統(tǒng)上構(gòu)建邏輯巻,進(jìn)行邏輯單 元號(hào)(LUN)映射以供用戶使用。比如,在一個(gè)有500塊盤的存儲(chǔ)系統(tǒng)中選定10塊物理磁盤 構(gòu)建RAID5,然后在該RAID5之上建立邏輯巻映射該LUN。由于該LUN訪問熱度非常高,10 塊物理磁盤響應(yīng)10瓶頸導(dǎo)致訪問性能不高,其他490塊磁盤此時(shí)并沒有高速運(yùn)轉(zhuǎn),沒有貢 獻(xiàn)該有的IO處理能力。這樣,如何將這高熱度的盤的負(fù)載,均衡到存儲(chǔ)系統(tǒng)中其他的物理 磁盤之上,成為亟待解決的技術(shù)問題。 當(dāng)前也有技術(shù)為了均衡IO負(fù)載問題,進(jìn)行了 IO的徹底散布,但是該技術(shù)并不兼 容原有的緊耦合存儲(chǔ)系統(tǒng),同時(shí)該技術(shù)也依然是一個(gè)兩層io虛擬的解決方案,并不能構(gòu)建 RAID。
發(fā)明內(nèi)容
本發(fā)明所要解決的技術(shù)問題是需要提供一種存儲(chǔ)虛擬化系統(tǒng)及方法,以均衡物理 磁盤的IO負(fù)載。 為了解決上述技術(shù)問題,本發(fā)明首先提供了一種存儲(chǔ)虛擬化系統(tǒng),包括條紋化模 塊、磁盤建立模塊、巻建立模塊以及物理磁盤,其中 所述條紋化模塊,用于對(duì)所述物理磁盤進(jìn)行數(shù)據(jù)條紋化處理,建立邏輯存儲(chǔ)池,并 建立所述邏輯存儲(chǔ)池與所述物理磁盤之間的第一尋址映射關(guān)系; 所述磁盤建立模塊,用于在所述邏輯存儲(chǔ)池上建立邏輯磁盤或邏輯磁盤陣列,并 建立所述邏輯磁盤或邏輯磁盤陣列與所述邏輯存儲(chǔ)池之間的所述第二尋址映射關(guān)系;
所述巻建立模塊,用于在所述邏輯磁盤或邏輯磁盤陣列上建立所述邏輯巻,并建 立所述邏輯巻與所述邏輯磁盤或邏輯磁盤陣列之間的所述第三尋址映射關(guān)系;
所述物理磁盤,用于根據(jù)機(jī)械讀寫請(qǐng)求完成用戶對(duì)所述物理磁盤的物理讀寫;
其中, 所述巻建立模塊還用于將用戶對(duì)所述物理磁盤的第一讀寫請(qǐng)求轉(zhuǎn)換成對(duì)所述邏 輯巻的第二讀寫請(qǐng)求,根據(jù)所述第三尋址映射關(guān)系將所述第二讀寫請(qǐng)求發(fā)送給所述磁盤建 立模塊; 所述磁盤建立模塊還用于根據(jù)第三尋址映射關(guān)系接收所述第二讀寫請(qǐng)求,并根據(jù) 所述第二尋址映射關(guān)系將所述第二讀寫請(qǐng)求發(fā)送給所述條紋化模塊;
4
所述條紋化模塊還用于根據(jù)第二尋址映射關(guān)系接收所述第二讀寫請(qǐng)求,將所述第 二讀寫請(qǐng)求轉(zhuǎn)換成所述機(jī)械讀寫請(qǐng)求,并根據(jù)所述第一尋址映射關(guān)系將所述機(jī)械讀寫請(qǐng)求
發(fā)送給所述物理磁盤。 優(yōu)選地,所述條紋化模塊用于在建立所述邏輯存儲(chǔ)池時(shí),采用數(shù)據(jù)打散處理將數(shù) 據(jù)散布在多個(gè)物理磁盤上。 優(yōu)選地,所述磁盤建立模塊用于根據(jù)固定分配策略或按需分配策略建立所述邏輯 磁盤; 其中, 所述固定分配策略,為所述邏輯磁盤或邏輯磁盤陣列的存儲(chǔ)空間等于所述物理磁 盤的存儲(chǔ)空間; 所述按需分配策略,為所述邏輯磁盤或邏輯磁盤陣列的存儲(chǔ)空間大于所述物理磁 盤的存儲(chǔ)空間。 優(yōu)選地,所述磁盤建立模塊用于根據(jù)所述按需分配策略建立所述邏輯磁盤時(shí),進(jìn) 一步用于提示所述物理磁盤的存儲(chǔ)利用率。 優(yōu)選地,所述巻建立模塊用于在所述邏輯磁盤或邏輯磁盤陣列上建立存儲(chǔ)空間大
小固定的固定分配邏輯巻,或者建立存儲(chǔ)空間大小可調(diào)的按需分配邏輯巻。 為了解決上述技術(shù)問題,本發(fā)明還提供了一種存儲(chǔ)虛擬化方法,包括 對(duì)所述物理磁盤進(jìn)行數(shù)據(jù)條紋化處理,建立邏輯存儲(chǔ)池,并建立所述邏輯存儲(chǔ)池
與所述物理磁盤之間的第一尋址映射關(guān)系; 在所述邏輯存儲(chǔ)池上建立邏輯磁盤或邏輯磁盤陣列,并建立所述邏輯磁盤或邏輯 磁盤陣列與所述邏輯存儲(chǔ)池之間的所述第二尋址映射關(guān)系; 在所述邏輯磁盤或邏輯磁盤陣列上建立所述邏輯巻,并建立所述邏輯巻與所述邏 輯磁盤或邏輯磁盤陣列之間的所述第三尋址映射關(guān)系; 將用戶對(duì)所述物理磁盤的第一讀寫請(qǐng)求轉(zhuǎn)換成對(duì)所述邏輯巻的第二讀寫請(qǐng)求,根
據(jù)所述第三尋址映射關(guān)系和第二尋址映射關(guān)系將所述第二讀寫請(qǐng)求轉(zhuǎn)換成機(jī)械讀寫請(qǐng)求,
并根據(jù)所述第一尋址映射關(guān)系將所述機(jī)械讀寫請(qǐng)求發(fā)送給所述物理磁盤; 所述物理磁盤根據(jù)所述機(jī)械讀寫請(qǐng)求完成用戶對(duì)所述物理磁盤的物理讀寫。 優(yōu)選地,建立所述邏輯存儲(chǔ)池時(shí),采用數(shù)據(jù)打散處理將數(shù)據(jù)散布在多個(gè)物理磁盤上。 優(yōu)選地,所述邏輯磁盤根據(jù)固定分配策略或按需分配策略建立;
其中, 所述固定分配策略,為所述邏輯磁盤或邏輯磁盤陣列的存儲(chǔ)空間等于所述物理磁 盤的存儲(chǔ)空間; 所述按需分配策略,為所述邏輯磁盤或邏輯磁盤陣列的存儲(chǔ)空間大于所述物理磁 盤的存儲(chǔ)空間。 優(yōu)選地,根據(jù)所述按需分配策略建立所述邏輯磁盤時(shí),進(jìn)一步提示所述物理磁盤 的存儲(chǔ)利用率。 優(yōu)選地,在所述邏輯磁盤或邏輯磁盤陣列上建立有存儲(chǔ)空間大小固定的固定分配 邏輯巻,或者建立有存儲(chǔ)空間大小可調(diào)的按需分配邏輯巻。
本發(fā)明通過三層虛擬化處理,實(shí)現(xiàn)了三層讀寫虛擬化的存儲(chǔ)虛擬化系統(tǒng)和方法。
通過三層虛擬化處理將用戶的一個(gè)讀寫請(qǐng)求散布到多個(gè)物理磁盤上進(jìn)行讀寫操作,相比現(xiàn)
有技術(shù)中用戶的一個(gè)讀寫請(qǐng)求集中在一個(gè)物理磁盤上進(jìn)行讀寫操作,本發(fā)明實(shí)現(xiàn)了均衡物
理磁盤的10負(fù)載,有效防止部分物理磁盤數(shù)據(jù)的過熱,提高了存儲(chǔ)系統(tǒng)的安全和性能。 本發(fā)明的其它特征和優(yōu)點(diǎn)將在隨后的說明書中闡述,并且,部分地從說明書中變
得顯而易見,或者通過實(shí)施本發(fā)明而了解。本發(fā)明的目的和其他優(yōu)點(diǎn)可通過在說明書、權(quán)利
要求書以及附圖中所特別指出的結(jié)構(gòu)來實(shí)現(xiàn)和獲得。
附圖用來提供對(duì)本發(fā)明的進(jìn)一步理解,并且構(gòu)成說明書的一部分,與本發(fā)明的實(shí) 施例一起用于解釋本發(fā)明,并不構(gòu)成對(duì)本發(fā)明的限制。在附圖中
圖1為本發(fā)明系統(tǒng)實(shí)施例的組成示意圖;
圖2為本發(fā)明方法實(shí)施例的流程示意圖。
具體實(shí)施例方式以下將結(jié)合附圖及實(shí)施例來詳細(xì)說明本發(fā)明的實(shí)施方式,借此對(duì)本發(fā)明如何應(yīng)用
技術(shù)手段來解決技術(shù)問題,并達(dá)成技術(shù)效果的實(shí)現(xiàn)過程能充分理解并據(jù)以實(shí)施。 需要說明的是,如果不沖突,本發(fā)明實(shí)施例以及實(shí)施例中的各個(gè)特征可以相互結(jié)
合,均在本發(fā)明的保護(hù)范圍之內(nèi)。另外,在附圖的流程圖示出的步驟可以在諸如一組計(jì)算機(jī)
可執(zhí)行指令的計(jì)算機(jī)系統(tǒng)中執(zhí)行,并且,雖然在流程圖中示出了邏輯順序,但是在某些情況
下,可以以不同于此處的順序執(zhí)行所示出或描述的步驟。 圖1為本發(fā)明存儲(chǔ)虛擬化系統(tǒng)實(shí)施例的組成示意圖。如圖1所示,該系統(tǒng)實(shí)施例 主要包括條紋化模塊110、磁盤建立模塊120以及巻建立模塊130,其中
條紋化模塊IIO,用于將存儲(chǔ)系統(tǒng)的物理磁盤進(jìn)行數(shù)據(jù)條紋化處理(條紋化處理 也可稱之為數(shù)據(jù)散布),建立邏輯存儲(chǔ)池,形成存儲(chǔ)池層,并建立邏輯存儲(chǔ)池與實(shí)際的物理 磁盤之間的第一尋址映射關(guān)系;每個(gè)物理磁盤都有自身的地址空間,而邏輯存儲(chǔ)池本身是 虛擬的,其地址其實(shí)需要映射到具體的物理磁盤上; 磁盤建立模塊120,用于在邏輯存儲(chǔ)池上建立邏輯磁盤或者邏輯磁盤陣列(RAID) (主要由邏輯磁盤構(gòu)成),并建立邏輯磁盤或邏輯磁盤陣列與邏輯存儲(chǔ)池之間的第二尋址 映射關(guān)系,形成邏輯磁盤層; 巻建立模塊130,用于在邏輯磁盤或者RAID上建立邏輯巻,并建立邏輯巻與邏輯 磁盤或者RAID之間的第三尋址映射關(guān)系,形成邏輯巻層。 上述巻建立模塊130在建立邏輯巻之后,通過LUN映射給用戶的是一個(gè)物理磁盤, 用戶在該物理磁盤上建立文件系統(tǒng),則在邏輯巻上對(duì)應(yīng)建立相應(yīng)文件系統(tǒng)。用戶在文件系 統(tǒng)上發(fā)出第一讀寫請(qǐng)求時(shí),巻建立模塊130將文件系統(tǒng)上的讀寫請(qǐng)求轉(zhuǎn)換成對(duì)邏輯巻的第 二讀寫請(qǐng)求,并根據(jù)邏輯巻到邏輯磁盤或者RAID之間的第三尋址映射關(guān)系,將第二讀寫請(qǐng) 求發(fā)送給磁盤建立模塊120所建立的邏輯磁盤或邏輯磁盤陣列。 上述磁盤建立模塊120所建立的邏輯磁盤或邏輯磁盤陣列收到該第二讀寫請(qǐng)求 后,根據(jù)邏輯磁盤或邏輯磁盤陣列到邏輯存儲(chǔ)池之間的第二尋址映射關(guān)系,將該第二讀寫
6請(qǐng)求發(fā)送給條紋化模塊110所建立的邏輯存儲(chǔ)池。 上述條紋化模塊110所建立的邏輯存儲(chǔ)池在收到邏輯磁盤或邏輯磁盤陣列所發(fā)
送的第二讀寫請(qǐng)求后,將該第二讀寫請(qǐng)求轉(zhuǎn)換成物理磁盤驅(qū)動(dòng)程序能夠識(shí)別并處理的機(jī)械 讀寫請(qǐng)求,并根據(jù)邏輯存儲(chǔ)池與物理磁盤之間的第一尋址映射關(guān)系,將該機(jī)械讀寫請(qǐng)求發(fā)
送給物理磁盤,由該物理磁盤完成用戶對(duì)物理磁盤的物理讀寫。 上述條紋化模塊110建立的邏輯存儲(chǔ)池與實(shí)際的物理磁盤之間的尋址映射關(guān)系, 為本發(fā)明技術(shù)方案三層虛擬化中的第一層虛擬化。磁盤建立模塊120建立的邏輯磁盤或邏 輯磁盤陣列到邏輯存儲(chǔ)池之間的映射關(guān)系,為本發(fā)明技術(shù)方案三層虛擬化中的第二層虛擬 化。巻建立模塊130建立的邏輯巻到邏輯磁盤或者RAID之間的尋址映射關(guān)系,為本發(fā)明技 術(shù)方案三層虛擬化中的第三層虛擬化。 在對(duì)用戶發(fā)出的大數(shù)據(jù)量的讀寫請(qǐng)求進(jìn)行處理時(shí),本發(fā)明通過三層虛擬化處理, 由多個(gè)物理磁盤同時(shí)響應(yīng)一個(gè)讀寫請(qǐng)求,相比現(xiàn)有技術(shù)一個(gè)物理磁盤單獨(dú)響應(yīng)一個(gè)讀寫請(qǐng) 求而言,提高了響應(yīng)速度和處理效率,并且實(shí)現(xiàn)了讀寫的負(fù)載均衡。 上述條紋化模塊110用于在建立邏輯存儲(chǔ)池的過程中,采用數(shù)據(jù)打散處理將數(shù)據(jù) 散布在多個(gè)物理磁盤上(盡量讓數(shù)據(jù)散布到所有物理磁盤上),如此處理提高了讀寫性能 以及負(fù)載均衡性能。在數(shù)據(jù)散布處理過程中,可以選擇線性映射散布或者哈希映射散布。以 下分別介紹線性映射散布和哈希映射散布的具體過程。 在數(shù)據(jù)散布過程中,需要設(shè)置散布粒度,該散布粒度表示數(shù)據(jù)散布過程中存儲(chǔ)到 物理磁盤時(shí)的數(shù)據(jù)粒度。 線性映射散布過程中,對(duì)數(shù)據(jù)進(jìn)行打散處理之后,按照該散布粒度將打散之后的 數(shù)據(jù)輪流存儲(chǔ)到各物理磁盤上。如果各物理磁盤的容量大小不等,則部分物理磁盤的存儲(chǔ) 已滿時(shí),后續(xù)的存儲(chǔ)就在其余未存滿的物理磁盤之間輪流進(jìn)行。 通過一個(gè)具體例子來說明和理解線性映射散布方法。邏輯存儲(chǔ)池的容量等于所有 物理磁盤的容量之和,比如邏輯存儲(chǔ)池大小為300G,物理存儲(chǔ)盤有2塊大小為100G的盤A 和盤B,以及兩塊50G大小的盤C和盤D。如果散布粒度大小為64K,則線性映射散布就可 以理解為0-64K的數(shù)據(jù)存儲(chǔ)在盤A的0-64K上,65K-128K的數(shù)據(jù)存儲(chǔ)在盤B的0-64K上, 129K-192K的數(shù)據(jù)存儲(chǔ)在盤C的0-64K上,193-256K的數(shù)據(jù)存儲(chǔ)在盤D的0-64K上,然后 257-320K的數(shù)據(jù)存儲(chǔ)在盤A的65-128K上,依次類推。在每個(gè)盤線性映射50G的數(shù)據(jù)后,剩 余的從201到300G的數(shù)據(jù)僅會(huì)存儲(chǔ)到盤A和盤B盤上,因?yàn)楸PC和盤D已經(jīng)耗盡。
線性映射是非常簡(jiǎn)單直接的映射散布方法,但是在增加物理磁盤時(shí),這種散布方 法會(huì)導(dǎo)致后續(xù)地址落在增加的物理磁盤上,沒有打散后續(xù)的數(shù)據(jù),能充分地負(fù)載均衡。例如 在前述300G的存儲(chǔ)池上再加一塊100G的盤E,則從301到400G的這100G數(shù)據(jù)的尋址就全 部落在盤E上。 哈希映射散布過程跟線性映射散布過程大致一樣,也需要指定散布粒度的大小, 也就是打散的數(shù)據(jù)粒度大小。與線性映射散布不一樣的地方主要是哈希映射散布不再是線 性關(guān)系,而是一種隨機(jī)關(guān)系。 為了方便說明,通過另一個(gè)例子來說明哈希映射散布。比如3塊容量均為64G的物 理磁盤,分別為盤X、盤Y以及盤Z,存儲(chǔ)池大小則為192G。散布粒度依然設(shè)置為64K,則每 塊物理磁盤共有64G/64K = 1024個(gè)存儲(chǔ)塊,序號(hào)依次標(biāo)記為0-1023, 192G的存儲(chǔ)池有3072個(gè)存儲(chǔ)塊,序號(hào)依次標(biāo)記為0-3071。通過哈希映射,0-64K的數(shù)據(jù)比如存儲(chǔ)在盤Y的0-64K 上,65K-128K的數(shù)據(jù)比如存儲(chǔ)在盤X的0-64K上,則129K-192K的數(shù)據(jù)存儲(chǔ)在盤Z的0-64K 上(也即前三個(gè)粒度的數(shù)據(jù)存儲(chǔ)順序?yàn)楸PY-盤X-盤Z) , 193-256K的數(shù)據(jù)不一定會(huì)存儲(chǔ)在 盤Y的65-128K上(線性映射散布則會(huì)存儲(chǔ)在盤Y上),而是可能會(huì)存儲(chǔ)在盤X、盤Y和盤 Z中的任一個(gè)上。 哈希映射散布為整體均勻散布,不會(huì)如線性映射散布那樣絕對(duì)粒度散布均勻。本 發(fā)明實(shí)施例在進(jìn)行數(shù)據(jù)散布時(shí)所用的哈希映射散布為現(xiàn)有技術(shù)中的FNV哈希映射散布,該 FNV哈希映射散布為一種常用的高速哈希映射散布。 上述磁盤建立模塊120建立邏輯磁盤時(shí),可以依據(jù)固定分配策略和按需分配策 略;其中的固定分配策略在存儲(chǔ)系統(tǒng)中通常稱為Regular分配策略,即邏輯磁盤或者邏輯 磁盤陣列的存儲(chǔ)空間(也稱軟大小,soft size)等于實(shí)際的物理磁盤的存儲(chǔ)空間(也稱硬 大小,hard size),其中的按需分配策略,是指邏輯磁盤或者邏輯磁盤陣列的存儲(chǔ)空間大于 物理磁盤的存儲(chǔ)空間。 在固定分配策略中,能夠使用的邏輯存儲(chǔ)空間無法超過實(shí)際的物理磁盤空間。而 在按需分配策略中,能夠使用的邏輯存儲(chǔ)空間可以大于實(shí)際的物理磁盤空間,在使用過程 中,需要多少存儲(chǔ)空間就可以分配多少實(shí)際的物理磁盤空間。 磁盤建立模塊120根據(jù)按需分配策略建立邏輯磁盤時(shí),進(jìn)一步用于實(shí)時(shí)提示物理 磁盤的存儲(chǔ)利用率。比如出現(xiàn)需要使用的邏輯存儲(chǔ)空間大于實(shí)際的物理磁盤空間時(shí),磁盤 建立模塊120就可以通過提示物理磁盤存儲(chǔ)利用率的方式,來通知管理員增加物理磁盤的 空間,及時(shí)避免物理磁盤容量不夠用情況的出現(xiàn)。 上述實(shí)施例中,邏輯磁盤層虛擬化為邏輯磁盤地址到邏輯存儲(chǔ)池的地址存在尋址
映射。邏輯磁盤層相當(dāng)于兩層虛擬化的物理磁盤,可以在之上構(gòu)建RAID系統(tǒng)。 上述巻建立模塊130所建立的一個(gè)邏輯巻,只屬于一個(gè)邏輯磁盤;而一個(gè)邏輯磁
盤上可以建立多個(gè)邏輯巻。邏輯巻的建立策略也包括兩種,一種是在邏輯磁盤(或者多邏
輯磁盤組成的RAID系統(tǒng))上直接建立存儲(chǔ)空間大小固定的固定分配邏輯巻,另外一種就是
在邏輯磁盤上建立存儲(chǔ)空間大小可調(diào)的按需分配邏輯巻;需要說明的是,按需分配邏輯巻
的存儲(chǔ)空間大小必須不大于邏輯磁盤剩余空間大小(軟大小)。 上述邏輯巻層虛擬化為邏輯巻到邏輯磁盤(或由邏輯磁盤構(gòu)成的RAID系統(tǒng))的 尋址映射關(guān)系,上述磁盤建立模塊120根據(jù)按需分配策略建立邏輯磁盤,就是根據(jù)邏輯巻 的實(shí)際使用空間決定的。 圖2為本發(fā)明方法實(shí)施例的流程示意圖。結(jié)合圖1所示的系統(tǒng)實(shí)施例,圖2所示 的方法實(shí)施例主要包括如下步驟 步驟S210,對(duì)物理磁盤進(jìn)行數(shù)據(jù)條紋化處理,建立邏輯存儲(chǔ)池,并建立邏輯存儲(chǔ)池 與物理磁盤之間的第一尋址映射關(guān)系; 步驟S220,在邏輯存儲(chǔ)池上建立邏輯磁盤或邏輯磁盤陣列,并建立邏輯磁盤或邏 輯磁盤陣列與邏輯存儲(chǔ)池之間的第二尋址映射關(guān)系; 步驟S230,在邏輯磁盤或邏輯磁盤陣列上建立邏輯巻,并建立邏輯巻與邏輯磁盤 或邏輯磁盤陣列之間的第三尋址映射關(guān)系; 步驟S240,將用戶對(duì)物理磁盤的第一讀寫請(qǐng)求轉(zhuǎn)換成對(duì)邏輯巻的第二讀寫請(qǐng)求;
8
步驟S250,根據(jù)第三尋址映射關(guān)系和第二尋址映射關(guān)系將第二讀寫請(qǐng)求轉(zhuǎn)換成機(jī)
械讀寫請(qǐng)求,并根據(jù)第一尋址映射關(guān)系將機(jī)械讀寫請(qǐng)求發(fā)送給物理磁盤; 步驟S260,物理磁盤根據(jù)機(jī)械讀寫請(qǐng)求完成用戶對(duì)物理磁盤的物理讀寫。 在建立邏輯存儲(chǔ)池的過程中,可以采用數(shù)據(jù)打散處理將數(shù)據(jù)散布在多個(gè)物理磁盤
上(盡量讓數(shù)據(jù)散布到所有物理磁盤上),如此處理可以提高讀寫性能以及負(fù)載均衡性能。
在數(shù)據(jù)散布處理過程中,可以選擇如上所述的線性映射散布或者哈希映射散布。 上述邏輯磁盤根據(jù)固定分配策略或按需分配策略建立,其中 該固定分配策略,為該邏輯磁盤或邏輯磁盤陣列的存儲(chǔ)空間等于該物理磁盤的存 儲(chǔ)空間; 該按需分配策略,為該邏輯磁盤或邏輯磁盤陣列的存儲(chǔ)空間大于該物理磁盤的存 儲(chǔ)空間。 根據(jù)該按需分配策略建立該邏輯磁盤時(shí),進(jìn)一步提示該物理磁盤的存儲(chǔ)利用率。
在該邏輯磁盤或邏輯磁盤陣列上建立有存儲(chǔ)空間大小固定的固定分配邏輯巻,或 者建立有存儲(chǔ)空間大小可調(diào)的按需分配邏輯巻。 在本發(fā)明的一個(gè)應(yīng)用實(shí)例中,該存儲(chǔ)系統(tǒng)由N個(gè)存儲(chǔ)控制器組成,每個(gè)控制器下 控制若干物理磁盤。通過條帶化處理后虛擬成一個(gè)虛擬存儲(chǔ)池,該虛擬存儲(chǔ)池可以看做一 個(gè)邏輯磁盤,該邏輯磁盤和物理磁盤之間對(duì)應(yīng)有地址映射關(guān)系,虛擬存儲(chǔ)池中的數(shù)據(jù)均勻 散布在各個(gè)物理磁盤上。 本發(fā)明采用三層IO虛擬化技術(shù),使存儲(chǔ)系統(tǒng)中的熱點(diǎn)數(shù)據(jù)問題得到了很好的解 決,整個(gè)系統(tǒng)的物理磁盤被虛擬化成一個(gè)物理存儲(chǔ)池,在這個(gè)物理存儲(chǔ)池之上再進(jìn)行構(gòu)建 邏輯磁盤以供應(yīng)用需求,從而提高讀寫性能、解決負(fù)載均衡問題以去除局部數(shù)據(jù)過熱問題。
緊耦合的存儲(chǔ)系統(tǒng)是直接在物理磁盤上構(gòu)建RAID,以RAID構(gòu)建邏輯巻。本發(fā)明的 邏輯巻是構(gòu)建在邏輯磁盤上,或者邏輯磁盤構(gòu)建的RAID上,邏輯磁盤和物理磁盤的讀寫接 口都是設(shè)備驅(qū)動(dòng)級(jí)的規(guī)范接口,也就是說本發(fā)明的邏輯巻也可以構(gòu)建在RAID上或者物理 磁盤上,實(shí)現(xiàn)了 IO散布與緊耦合存儲(chǔ)系統(tǒng)的兼容。 本發(fā)明在解決存儲(chǔ)系統(tǒng)IO負(fù)載的同時(shí),兼容了緊耦合存儲(chǔ)系統(tǒng)的RAID使用,提出 了三層IO存儲(chǔ)虛擬化技術(shù)。該技術(shù)打破存儲(chǔ)系統(tǒng)中常用的兩層虛擬化技術(shù),通過再加一層 地址映射虛擬,實(shí)現(xiàn)了存儲(chǔ)系統(tǒng)訪問時(shí)的IO負(fù)載均衡,不會(huì)產(chǎn)生局部數(shù)據(jù)過熱,局部物理 磁盤讀寫過于頻繁的問題,提高了整個(gè)存儲(chǔ)系統(tǒng)的處理能力,而且在邏輯磁盤上同時(shí)可以 構(gòu)造RAID系統(tǒng),與原有兩層IO虛擬系統(tǒng)實(shí)現(xiàn)了兼容。并且由于采用了按需分配策略,進(jìn)一 步提高了物理磁盤的使用率,在需要時(shí)再對(duì)存儲(chǔ)系統(tǒng)增加磁盤。 需要說明的是,在附圖的流程圖示出的步驟可以在諸如一組計(jì)算機(jī)可執(zhí)行指令的 計(jì)算機(jī)系統(tǒng)中執(zhí)行,并且,雖然在流程圖中示出了邏輯順序,但是在某些情況下,可以以不 同于此處的順序執(zhí)行所示出或描述的步驟。另外,本領(lǐng)域的技術(shù)人員應(yīng)該明白,上述的本發(fā) 明的各模塊或各步驟可以用通用的計(jì)算裝置來實(shí)現(xiàn),它們可以集中在單個(gè)的計(jì)算裝置上, 或者分布在多個(gè)計(jì)算裝置所組成的網(wǎng)絡(luò)上,可選地,它們可以用計(jì)算裝置可執(zhí)行的程序代 碼來實(shí)現(xiàn),從而,可以將它們存儲(chǔ)在存儲(chǔ)裝置中由計(jì)算裝置來執(zhí)行,或者將它們分別制作成 各個(gè)集成電路模塊,或者將它們中的多個(gè)模塊或步驟制作成單個(gè)集成電路模塊來實(shí)現(xiàn)。這 樣,本發(fā)明不限制于任何特定的硬件和軟件結(jié)合。
雖然本發(fā)明所揭露的實(shí)施方式如上,但所述的內(nèi)容只是為了便于理解本發(fā)明而采 用的實(shí)施方式,并非用以限定本發(fā)明。任何本發(fā)明所屬技術(shù)領(lǐng)域內(nèi)的技術(shù)人員,在不脫離本 發(fā)明所揭露的精神和范圍的前提下,可以在實(shí)施的形式上及細(xì)節(jié)上作任何的修改與變化, 但本發(fā)明的專利保護(hù)范圍,仍須以所附的權(quán)利要求書所界定的范圍為準(zhǔn)。
權(quán)利要求
一種存儲(chǔ)虛擬化系統(tǒng),其特征在于,包括條紋化模塊、磁盤建立模塊、卷建立模塊以及物理磁盤,其中所述條紋化模塊,用于對(duì)所述物理磁盤進(jìn)行數(shù)據(jù)條紋化處理,建立邏輯存儲(chǔ)池,并建立所述邏輯存儲(chǔ)池與所述物理磁盤之間的第一尋址映射關(guān)系;所述磁盤建立模塊,用于在所述邏輯存儲(chǔ)池上建立邏輯磁盤或邏輯磁盤陣列,并建立所述邏輯磁盤或邏輯磁盤陣列與所述邏輯存儲(chǔ)池之間的所述第二尋址映射關(guān)系;所述卷建立模塊,用于在所述邏輯磁盤或邏輯磁盤陣列上建立所述邏輯卷,并建立所述邏輯卷與所述邏輯磁盤或邏輯磁盤陣列之間的所述第三尋址映射關(guān)系;所述物理磁盤,用于根據(jù)機(jī)械讀寫請(qǐng)求完成用戶對(duì)所述物理磁盤的物理讀寫;其中,所述卷建立模塊還用于將用戶對(duì)所述物理磁盤的第一讀寫請(qǐng)求轉(zhuǎn)換成對(duì)所述邏輯卷的第二讀寫請(qǐng)求,根據(jù)所述第三尋址映射關(guān)系將所述第二讀寫請(qǐng)求發(fā)送給所述磁盤建立模塊;所述磁盤建立模塊還用于根據(jù)第三尋址映射關(guān)系接收所述第二讀寫請(qǐng)求,并根據(jù)所述第二尋址映射關(guān)系將所述第二讀寫請(qǐng)求發(fā)送給所述條紋化模塊;所述條紋化模塊還用于根據(jù)第二尋址映射關(guān)系接收所述第二讀寫請(qǐng)求,將所述第二讀寫請(qǐng)求轉(zhuǎn)換成所述機(jī)械讀寫請(qǐng)求,并根據(jù)所述第一尋址映射關(guān)系將所述機(jī)械讀寫請(qǐng)求發(fā)送給所述物理磁盤。
2. 根據(jù)權(quán)利要求1所述的系統(tǒng),其特征在于所述條紋化模塊用于在建立所述邏輯存儲(chǔ)池時(shí),采用數(shù)據(jù)打散處理將數(shù)據(jù)散布在多個(gè) 物理磁盤上。
3. 根據(jù)權(quán)利要求1所述的系統(tǒng),其特征在于所述磁盤建立模塊用于根據(jù)固定分配策略或按需分配策略建立所述邏輯磁盤; 其中,所述固定分配策略,為所述邏輯磁盤或邏輯磁盤陣列的存儲(chǔ)空間等于所述物理磁盤的 存儲(chǔ)空間;所述按需分配策略,為所述邏輯磁盤或邏輯磁盤陣列的存儲(chǔ)空間大于所述物理磁盤的 存儲(chǔ)空間。
4. 根據(jù)權(quán)利要求3所述的系統(tǒng),其特征在于所述磁盤建立模塊用于根據(jù)所述按需分配策略建立所述邏輯磁盤時(shí),進(jìn)一步用于提示 所述物理磁盤的存儲(chǔ)利用率。
5. 根據(jù)權(quán)利要求1所述的系統(tǒng),其特征在于所述巻建立模塊用于在所述邏輯磁盤或邏輯磁盤陣列上建立存儲(chǔ)空間大小固定的固 定分配邏輯巻,或者建立存儲(chǔ)空間大小可調(diào)的按需分配邏輯巻。
6. —種存儲(chǔ)虛擬化方法,其特征在于,包括對(duì)所述物理磁盤進(jìn)行數(shù)據(jù)條紋化處理,建立邏輯存儲(chǔ)池,并建立所述邏輯存儲(chǔ)池與所 述物理磁盤之間的第一尋址映射關(guān)系;在所述邏輯存儲(chǔ)池上建立邏輯磁盤或邏輯磁盤陣列,并建立所述邏輯磁盤或邏輯磁盤 陣列與所述邏輯存儲(chǔ)池之間的所述第二尋址映射關(guān)系;在所述邏輯磁盤或邏輯磁盤陣列上建立所述邏輯巻,并建立所述邏輯巻與所述邏輯磁 盤或邏輯磁盤陣列之間的所述第三尋址映射關(guān)系;將用戶對(duì)所述物理磁盤的第一讀寫請(qǐng)求轉(zhuǎn)換成對(duì)所述邏輯巻的第二讀寫請(qǐng)求,根據(jù)所 述第三尋址映射關(guān)系和第二尋址映射關(guān)系將所述第二讀寫請(qǐng)求轉(zhuǎn)換成機(jī)械讀寫請(qǐng)求,并根 據(jù)所述第一尋址映射關(guān)系將所述機(jī)械讀寫請(qǐng)求發(fā)送給所述物理磁盤;所述物理磁盤根據(jù)所述機(jī)械讀寫請(qǐng)求完成用戶對(duì)所述物理磁盤的物理讀寫。
7. 根據(jù)權(quán)利要求6所述的方法,其特征在于建立所述邏輯存儲(chǔ)池時(shí),采用數(shù)據(jù)打散處理將數(shù)據(jù)散布在多個(gè)物理磁盤上。
8. 根據(jù)權(quán)利要求6所述的方法,其特征在于 所述邏輯磁盤根據(jù)固定分配策略或按需分配策略建立; 其中,所述固定分配策略,為所述邏輯磁盤或邏輯磁盤陣列的存儲(chǔ)空間等于所述物理磁盤的 存儲(chǔ)空間;所述按需分配策略,為所述邏輯磁盤或邏輯磁盤陣列的存儲(chǔ)空間大于所述物理磁盤的 存儲(chǔ)空間。
9. 根據(jù)權(quán)利要求8所述的方法,其特征在于根據(jù)所述按需分配策略建立所述邏輯磁盤時(shí),進(jìn)一步提示所述物理磁盤的存儲(chǔ)利用率。
10. 根據(jù)權(quán)利要求6所述的方法,其特征在于在所述邏輯磁盤或邏輯磁盤陣列上建立有存儲(chǔ)空間大小固定的固定分配邏輯巻,或者 建立有存儲(chǔ)空間大小可調(diào)的按需分配邏輯巻。
全文摘要
本發(fā)明公開了一種存儲(chǔ)虛擬化系統(tǒng)及方法,以均衡物理磁盤的IO負(fù)載。本發(fā)明系統(tǒng)中,條紋化模塊對(duì)物理磁盤進(jìn)行數(shù)據(jù)條紋化處理,建立邏輯池,磁盤建立模塊在邏輯存儲(chǔ)池上建立邏輯磁盤或邏輯磁盤陣列,卷建立模塊在邏輯磁盤或邏輯磁盤陣列上建立邏輯卷;通過三層虛擬化處理將用戶的一個(gè)讀寫請(qǐng)求散布到多個(gè)物理磁盤上進(jìn)行讀寫操作,相比現(xiàn)有技術(shù)中用戶的一個(gè)讀寫請(qǐng)求集中在一個(gè)物理磁盤上進(jìn)行讀寫操作,本發(fā)明實(shí)現(xiàn)了均衡物理磁盤的IO負(fù)載,有效防止部分物理磁盤數(shù)據(jù)的過熱,提高了存儲(chǔ)系統(tǒng)的安全和性能。
文檔編號(hào)G06F3/06GK101788889SQ20101011771
公開日2010年7月28日 申請(qǐng)日期2010年3月3日 優(yōu)先權(quán)日2010年3月3日
發(fā)明者張宇 申請(qǐng)人:浪潮(北京)電子信息產(chǎn)業(yè)有限公司