專利名稱:用于管理存儲(chǔ)設(shè)備的方法和設(shè)備的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及存儲(chǔ)技術(shù),更具體地說(shuō),涉及管理存儲(chǔ)設(shè)備的方法和設(shè)備。
背景技術(shù):
在云存儲(chǔ)環(huán)境中,即在作為服務(wù)的存儲(chǔ)(storage-as-a-service)環(huán)境中,存儲(chǔ)服務(wù)提供者按照用戶應(yīng)用程序的要求提供一定的存儲(chǔ)資源,并且根據(jù)所要求的存儲(chǔ)資源進(jìn)行計(jì)費(fèi)。一般來(lái)說(shuō),對(duì)存儲(chǔ)資源的要求是通過(guò)對(duì)存儲(chǔ)資源的性能指標(biāo)的要求來(lái)描述的。所述性能指標(biāo)例如存儲(chǔ)容量、訪問(wèn)速率和存儲(chǔ)冗余度等。對(duì)于用戶應(yīng)用程序而言,實(shí)際存儲(chǔ)設(shè)備是完全透明的。對(duì)于服務(wù)提供者來(lái)說(shuō),則需要進(jìn)行復(fù)雜的管理。在傳統(tǒng)的存儲(chǔ)環(huán)境中已經(jīng)提出了若干對(duì)存儲(chǔ)設(shè)備進(jìn)行管理的方法。這些方法可以分為兩種思路簡(jiǎn)化容量分配和對(duì)容量分配進(jìn)行自動(dòng)決策。按照簡(jiǎn)化容量分配的思路,使用腳本等預(yù)定義的標(biāo)準(zhǔn)來(lái)簡(jiǎn)化存儲(chǔ)設(shè)備的分配、映射等過(guò)程。但是這種方法只能針對(duì)存儲(chǔ)設(shè)備的容量進(jìn)行靜態(tài)的管理。按照對(duì)容量分配進(jìn)行自動(dòng)決策的思路,通過(guò)監(jiān)視存儲(chǔ)設(shè)備的實(shí)際運(yùn)行狀況來(lái)將能夠提供用戶應(yīng)用程序所要求的存儲(chǔ)資源的存儲(chǔ)設(shè)備分配給用戶應(yīng)用程序。這種方法通常假設(shè)用戶應(yīng)用程序?qū)Υ鎯?chǔ)資源的要求可以被一臺(tái)單獨(dú)的存儲(chǔ)設(shè)備所滿足。但是,上述方法無(wú)法直接應(yīng)用于作為云存儲(chǔ)環(huán)境。在云存儲(chǔ)環(huán)境下,用戶應(yīng)用程序所要求的存儲(chǔ)資源可能由多個(gè)存儲(chǔ)設(shè)備來(lái)提供。例如,由多個(gè)存儲(chǔ)設(shè)備提供用戶應(yīng)用程序所要求的存儲(chǔ)容量,通過(guò)將訪問(wèn)請(qǐng)求分配到多個(gè)存儲(chǔ)設(shè)備而實(shí)現(xiàn)用戶應(yīng)用程序所要求的訪問(wèn)速率,通過(guò)提供額外的存儲(chǔ)設(shè)備 而提供用戶應(yīng)用程序所要求的冗余度。而提供者所采用的實(shí)際存儲(chǔ)設(shè)備是不同型號(hào)的設(shè)備,從而具有不同的能力,有的設(shè)備本身可能沒(méi)有容錯(cuò)能力。在這種情況下,如何將用戶數(shù)據(jù)分配到實(shí)際存儲(chǔ)設(shè)備,如何在用戶應(yīng)用程序要求的要求改變時(shí)進(jìn)行動(dòng)態(tài)地調(diào)整,如何保證用戶應(yīng)用程序所要求的冗余度,如何在錯(cuò)誤發(fā)生時(shí)進(jìn)行數(shù)據(jù)恢復(fù)和重新分配等,都與傳統(tǒng)的存儲(chǔ)環(huán)境有很大的不同。因此,需要一種針對(duì)云存儲(chǔ)環(huán)境的對(duì)存儲(chǔ)設(shè)備進(jìn)行管理的方法。
發(fā)明內(nèi)容
本發(fā)明提供了管理存儲(chǔ)設(shè)備的方法和裝置。根據(jù)本發(fā)明實(shí)施例的一種管理多臺(tái)存儲(chǔ)設(shè)備的方法,其中將各臺(tái)存儲(chǔ)設(shè)備提供的存儲(chǔ)資源分別虛擬化整合為對(duì)應(yīng)的中間卷,并且將多個(gè)中間卷虛擬化整合成單獨(dú)的邏輯卷,該方法包括獲取向所述邏輯卷提出的對(duì)存儲(chǔ)資源的要求,所述要求至少包括冗余度;獲得各個(gè)中間卷所能提供的存儲(chǔ)資源;根據(jù)所述對(duì)存儲(chǔ)資源的要求和各個(gè)中間卷所能提供的存儲(chǔ)資源,選擇中間卷以滿足所述對(duì)存儲(chǔ)資源的要求,其中所述中間卷的最小數(shù)目根據(jù)所述冗余度確定;以及根據(jù)冗余度的要求將用戶數(shù)據(jù)存儲(chǔ)到所選擇的中間卷中。根據(jù)本發(fā)明實(shí)施例的一種管理多臺(tái)存儲(chǔ)設(shè)備的裝置,其中將各臺(tái)存儲(chǔ)設(shè)備提供的存儲(chǔ)資源分別虛擬化整合為對(duì)應(yīng)的中間卷,并且將多個(gè)中間卷虛擬化整合成單獨(dú)的邏輯卷,該裝置包括要求獲取模塊,配置為獲取向所述邏輯卷提出的對(duì)存儲(chǔ)資源的要求,所述要求至少包括冗余度;存儲(chǔ)資源獲取模塊,配置為獲得各個(gè)中間卷所能提供的存儲(chǔ)資源;中間卷選擇模塊,配置為根據(jù)所述對(duì)存儲(chǔ)資源的要求和各個(gè)中間卷所能提供的存儲(chǔ)資源,選擇中間卷以滿足所述對(duì)存儲(chǔ)資源的要求,其中所述中間卷的最小數(shù)目根據(jù)所述冗余度確定;以及用戶數(shù)據(jù)存儲(chǔ)模塊,配置為根據(jù)冗余度的要求將用戶數(shù)據(jù)存儲(chǔ)到所選擇的中間卷中。根據(jù)本發(fā)明實(shí)施例,可以在云存儲(chǔ)環(huán)境下對(duì)存儲(chǔ)設(shè)備進(jìn)行有效的管理。
圖1是適于用來(lái)實(shí)現(xiàn)本發(fā)明實(shí)施方式的示例性計(jì)算系統(tǒng)100的框圖。圖2是根據(jù)本發(fā)明實(shí)施例的組織存儲(chǔ)設(shè)備的層次示意圖。圖3是建立如圖2所示的層次結(jié)構(gòu)的流程圖。圖4是選擇存儲(chǔ)資源來(lái)滿足用戶應(yīng)用程序?qū)Υ鎯?chǔ)資源的要求的流程圖。圖5和圖6是在存儲(chǔ)設(shè)備狀態(tài)變化時(shí)的操作流程圖。圖7是用戶應(yīng)用程序增加對(duì)性能指標(biāo)的要求時(shí)的操作流程圖。圖8是根據(jù)本發(fā)明實(shí)施例的管理存儲(chǔ)設(shè)備的裝置的框圖
具體實(shí)施例方式
所屬技術(shù)領(lǐng)域的技術(shù)人員知道,本發(fā)明的多個(gè)方面可以體現(xiàn)為系統(tǒng)、方法或計(jì)算機(jī)程序產(chǎn)品。因此,本發(fā)明的多個(gè)方面可以具體實(shí)現(xiàn)為以下形式,即,可以是完全的硬件、完全的軟件(包括固件、駐留軟件、微代碼等)、或者本文一般稱為“電路”、“模塊”或“系統(tǒng)”的軟件部分與硬件部分的組合。此外,本發(fā)明的多個(gè)方面還可以采取體現(xiàn)在一個(gè)或多個(gè)計(jì)算機(jī)可讀介質(zhì)中的計(jì)算機(jī)程序產(chǎn)品的形式,該計(jì)算機(jī)可讀介質(zhì)中包含計(jì)算機(jī)可用的程序碼??梢允褂靡粋€(gè)或多個(gè)計(jì)算機(jī)可讀的介質(zhì)的任何組合。計(jì)算機(jī)可讀介質(zhì)可以是計(jì)算機(jī)可讀信號(hào)介質(zhì)或者計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)。計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)例如可以是一但不限于——電的、磁的、光的、電磁的、紅外線的、或半導(dǎo)體的系統(tǒng)、裝置、器件或任何以上的組合。計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)的更具體的例子(非窮舉的列表)包括以下有一個(gè)或多個(gè)導(dǎo)線的電連接、便攜式計(jì)算機(jī)磁盤、硬盤、隨機(jī)存取存儲(chǔ)器(RAM)、只讀存儲(chǔ)器(ROM)、可擦式可編程只讀存儲(chǔ)器(EPR0M或閃存)、光纖、便攜式緊湊磁盤只讀存儲(chǔ)器(CD-ROM)、光存儲(chǔ)器件、磁存儲(chǔ)器件、或者上述的任何合適的組合。在本文件的語(yǔ)境中,計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)可以是任何包含或存儲(chǔ)程序的有形的介質(zhì),該程序被指令執(zhí)行系統(tǒng)、裝置或者器件使用或者與其結(jié)合使用。計(jì)算機(jī)可讀的信號(hào)介質(zhì)可包括在基帶中或者作為載波一部分傳播的、其中體現(xiàn)計(jì)算機(jī)可讀的程序碼的傳播的數(shù)據(jù)信號(hào)。這種傳播的信號(hào)可以采用多種形式,包括——但不限于——電磁信號(hào)、光信號(hào)或任何以上合適的組合。計(jì)算機(jī)可讀的信號(hào)介質(zhì)可以是并非為計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)、但是能發(fā)送、傳播或者傳輸用于由指令執(zhí)行系統(tǒng)、裝置或者器件使用或者與其結(jié)合使用的程序的任何計(jì)算機(jī)可讀介質(zhì)。計(jì)算機(jī)可讀介質(zhì)上包含的程序代碼可以用任何適當(dāng)?shù)慕橘|(zhì)傳輸,包括——但不限于——無(wú)線、電線、光纜、RF等等,或者任何合適的上述組合。
計(jì)算機(jī)可讀介質(zhì)上包含的程序代碼可以用任何適當(dāng)?shù)慕橘|(zhì)傳輸,包括一但不限于——無(wú)線、電線、光纜、RF等等,或者任何合適的上述組合。用于執(zhí)行本發(fā)明的操作的計(jì)算機(jī)程序碼,可以以一種或多種程序設(shè)計(jì)語(yǔ)言的任何組合來(lái)編寫,所述程序設(shè)計(jì)語(yǔ)言包括面向?qū)ο蟮某绦蛟O(shè)計(jì)語(yǔ)言-諸如Java、Smalltalk、C++之類,還包括常規(guī)的過(guò)程式程序設(shè)計(jì)語(yǔ)言-諸如“C”程序設(shè)計(jì)語(yǔ)言或類似的程序設(shè)計(jì)語(yǔ)言。程序碼可以完全地在用戶的計(jì)算上執(zhí)行、部分地在用戶的計(jì)算機(jī)上執(zhí)行、作為一個(gè)獨(dú)立的軟件包執(zhí)行、部分在用戶的計(jì)算機(jī)上部分在遠(yuǎn)程計(jì)算機(jī)上執(zhí)行、或者完全在遠(yuǎn)程計(jì)算機(jī)或服務(wù)器上執(zhí)行。在后一種情形中,遠(yuǎn)程計(jì)算機(jī)可以通過(guò)任何種類的網(wǎng)絡(luò)一包括局域網(wǎng)(LAN)或廣域網(wǎng)(WAN)-連接到用戶的計(jì)算機(jī),或者,可以(例如利用因特網(wǎng)服務(wù)提供商來(lái)通過(guò)因特網(wǎng))連接到外部計(jì)算機(jī)。以下參照按照本發(fā)明實(shí)施例的方法、裝置(系統(tǒng))和計(jì)算機(jī)程序產(chǎn)品的流程圖和/或框圖描述本發(fā)明的多個(gè)方面。要明白的是,流程圖和/或框圖的每個(gè)方框以及流程圖和/或框圖中各方框的組合,都可以由計(jì)算機(jī)程序指令實(shí)現(xiàn)。這些計(jì)算機(jī)程序指令可以提供給通用計(jì)算機(jī)、專用計(jì)算機(jī)或其它可編程數(shù)據(jù)處理裝置的處理器,從而生產(chǎn)出一種機(jī)器,使得通過(guò)計(jì)算機(jī)或其它可編程數(shù)據(jù)處理裝置執(zhí)行的這些指令,產(chǎn)生實(shí)現(xiàn)流程圖和/或框圖中的方框中規(guī)定的功能/操作的裝置。也可以把這些計(jì)算機(jī)程序指令存儲(chǔ)在能指令計(jì)算機(jī)或其它可編程數(shù)據(jù)處理裝置以特定方式工作的計(jì)算機(jī)可讀介質(zhì)中,這樣,存儲(chǔ)在計(jì)算機(jī)可讀介質(zhì)中的指令產(chǎn)生一個(gè)包括實(shí)現(xiàn)流程圖和/或框圖中的方框中規(guī)定的功能/操作的指令裝置(instruction means)的制造品。也可以把計(jì)算機(jī)程序指令加載到計(jì)算機(jī)或其它可編程數(shù)據(jù)處理裝置上,使得在計(jì)算機(jī)或其它可編程數(shù)據(jù)處理裝置上執(zhí)行一系列操作步驟,以產(chǎn)生計(jì)算機(jī)實(shí)現(xiàn)的過(guò)程,從而在計(jì)算機(jī)或其它可編程裝置上執(zhí)行的指令就提供實(shí)現(xiàn)流程圖和/或框圖中的方框中規(guī)定的功能/操作的過(guò)程。
下面參照附圖,結(jié)合具體實(shí)施例對(duì)本發(fā)明進(jìn)行描述。這樣的描述僅僅出于說(shuō)明目的,而不意圖對(duì)本發(fā)明的范圍進(jìn)行限制。圖1示出了適于用來(lái)實(shí)現(xiàn)本發(fā)明實(shí)施方式的示例性計(jì)算系統(tǒng)100的框圖。如所示,計(jì)算機(jī)系統(tǒng)100可以包括CPU(中央處理單元)101、RAM(隨機(jī)存取存儲(chǔ)器)102、R0M(只讀存儲(chǔ)器)103、系統(tǒng)總線104、硬盤控制器105、鍵盤控制器106、串行接口控制器107、并行接口控制器108、顯示控制器109、硬盤110、鍵盤111、串行外部設(shè)備112、并行外部設(shè)備113和顯示器114。在這些設(shè)備中,與系統(tǒng)總線104耦合的有CPU 10URAM 102, ROM 103、硬盤控制器105、鍵盤控制器106、串行控制器107、并行控制器108和顯示控制器109。硬盤110與硬盤控制器105耦合,鍵盤111與鍵盤控制器106耦合,串行外部設(shè)備112與串行接口控制器107耦合,并行外部設(shè)備113與并行接口控制器108耦合,以及顯示器114與顯示控制器109耦合。應(yīng)當(dāng)理解,圖1所述的結(jié)構(gòu)框圖僅僅為了示例的目的而示出的,而不是對(duì)本發(fā)明范圍的限制。在某些情況下,可以根據(jù)具體情況而增加或者減少某些設(shè)備。本發(fā)明是一種自動(dòng)進(jìn)行存儲(chǔ)設(shè)備供應(yīng)的方法,其可以利用低端存儲(chǔ)設(shè)備的能力組合滿足用戶對(duì)存儲(chǔ)資源的性能指標(biāo)的高要求。一般來(lái)說(shuō),低端存儲(chǔ)設(shè)備比較容易發(fā)生物理故障,導(dǎo)致整臺(tái)存儲(chǔ)設(shè)備無(wú)法工作。
圖2是根據(jù)本發(fā)明實(shí)施例的組織存儲(chǔ)設(shè)備的層次示意圖。如圖2所示,該層次的最底層是物理卷層。物理卷對(duì)應(yīng)于存儲(chǔ)介質(zhì)上的物理存儲(chǔ)資源。一臺(tái)存儲(chǔ)設(shè)備上可能有多個(gè)存儲(chǔ)介質(zhì),例如有多個(gè)磁盤。根據(jù)本發(fā)明的一個(gè)實(shí)施例,將每個(gè)磁盤作為一個(gè)物理卷。本領(lǐng)域技術(shù)人員可以理解,每一個(gè)磁盤也可能被劃分為多個(gè)物理卷。物理卷層之上是低級(jí)別虛擬化整合層,其對(duì)存儲(chǔ)設(shè)備上的多個(gè)存儲(chǔ)介質(zhì)上的存儲(chǔ)資源進(jìn)行虛擬化整合,從而形成中間卷層。如何進(jìn)行虛擬化整合是本領(lǐng)域的常用技術(shù),在此不再贅述。以下舉例說(shuō)明以便更好地理解物理卷和中間卷的概念。假設(shè)一臺(tái)存儲(chǔ)設(shè)備有五塊磁盤,每個(gè)磁盤的存儲(chǔ)容量均為1000GB。如果每IOGB為一個(gè)物理卷,則每個(gè)磁盤對(duì)應(yīng)于100個(gè)物理卷,從而該存儲(chǔ)設(shè)備對(duì)應(yīng)于500個(gè)物理卷。如果該存儲(chǔ)設(shè)備要提供一個(gè)存儲(chǔ)容量為50GB的中間卷,則對(duì)應(yīng)于這個(gè)中間卷的50GB的存儲(chǔ)資源可能以多種方式分布在各個(gè)物理卷中。低級(jí)別虛擬化整合層按照一定的方法對(duì)物理卷進(jìn)行管理,使得物理卷對(duì)于中間卷來(lái)說(shuō)是完全透明的。因此,對(duì)于中間卷來(lái)說(shuō),其并不需要關(guān)心具體的存儲(chǔ)資源是由哪個(gè)磁盤提供的。此外,如果一個(gè)中間卷所對(duì)應(yīng)的物理卷發(fā)生故障,通過(guò)低級(jí)別虛擬化整合層的冗余機(jī)制,還可以使得對(duì)該中間卷所存儲(chǔ)的數(shù)據(jù)的訪問(wèn)不會(huì)受到所述故障的影響。本領(lǐng)域技術(shù)人員可以理解,如果存在多臺(tái)存儲(chǔ)設(shè)備,則所述中間卷對(duì)應(yīng)的物理卷可能分布在多臺(tái)存儲(chǔ)設(shè)備中。但是,在根據(jù)本發(fā)明實(shí)施例的存儲(chǔ)設(shè)備組織結(jié)構(gòu)中,中間卷層的每一個(gè)中間卷只對(duì)應(yīng)于一個(gè)存儲(chǔ)設(shè)備,并且該中間卷對(duì)應(yīng)于該存儲(chǔ)設(shè)備的所有物理卷。換句話說(shuō),中間卷和存儲(chǔ)設(shè)備是一一對(duì)應(yīng)的關(guān)系。中間卷層之上是高級(jí)別虛擬化整合層。高級(jí)別虛擬化整合層對(duì)整個(gè)云存儲(chǔ)系統(tǒng)內(nèi)所有中間卷進(jìn)行虛擬化整合,從而形成邏輯卷層。仍然舉例說(shuō)明以便更好地理解中間卷和邏輯卷的關(guān)系。在云存儲(chǔ)系統(tǒng)中,每一個(gè)邏輯卷對(duì)應(yīng)于一個(gè)用戶應(yīng)用程序。在下面的描述中,除非特別說(shuō)明,否則邏輯卷和用戶應(yīng)用程序具有相同的指代對(duì)象。比如說(shuō),某個(gè)用戶應(yīng)用程序需要100GB的存儲(chǔ)資源,則云存儲(chǔ)系統(tǒng)將一個(gè)100GB的邏輯卷分配給這個(gè)用戶應(yīng)用程序。這100GB的邏輯卷可能以各種方式對(duì)應(yīng)到中間卷。也可以對(duì)應(yīng)于中間卷#I上的50GB,中間卷#2上的IOGB,中間卷#3上的40GB。換句話說(shuō),這100GB的邏輯卷可能以各種方式對(duì)應(yīng)到存儲(chǔ)設(shè)備。例如,可以對(duì)應(yīng)于中間卷#1上的20GB,中間卷#2上的50GB,中間卷#3上的30GB。高級(jí)別虛擬化整合層按照一定的方法對(duì)中間卷進(jìn)行管理,使得中間卷對(duì)于邏輯卷來(lái)說(shuō)是完全透明的,從而使得物理卷對(duì)于邏輯卷來(lái)講也是完全透明的。比如說(shuō),如果一個(gè)邏輯卷所對(duì)應(yīng)的中間卷發(fā)生故障,通過(guò)高級(jí)別虛擬化整合層的冗余機(jī)制,可以使得對(duì)該邏輯卷所存儲(chǔ)的數(shù)據(jù)的訪問(wèn)不會(huì)受到所述故障的影響。下面參照?qǐng)D3描述如何建立如圖2所示的層次結(jié)構(gòu)。步驟 301,識(shí)別各存儲(chǔ)設(shè)備。步驟302,對(duì)于各存儲(chǔ)設(shè)備中的每一個(gè),將該存儲(chǔ)設(shè)備所提供的存儲(chǔ)資源虛擬化整合成一個(gè)中間卷。步驟303,將對(duì)應(yīng)于各存儲(chǔ)設(shè)備的中間卷虛擬化整合成邏輯卷。之所以使用“卷”而不是“池”,是因?yàn)榫砉芾碓O(shè)備會(huì)將系統(tǒng)中記錄的關(guān)于各個(gè)卷的元數(shù)據(jù)信息在各個(gè)卷中復(fù)制一份。這樣,即使卷管理設(shè)備故障,也可以由新的卷管理設(shè)備來(lái)恢復(fù)所管理的卷。下面參照?qǐng)D4描述在收到用戶應(yīng)用程序的要求時(shí)如何選擇存儲(chǔ)資源來(lái)滿足用戶應(yīng)用程序的要求。步驟401,獲取用戶應(yīng)用程序?qū)Υ鎯?chǔ)資源的要求,所述要求至少包括冗余度。根據(jù)本發(fā)明的一個(gè)實(shí)施例,可以由用戶直接指定對(duì)存儲(chǔ)資源的性能指標(biāo)的要求。根據(jù)本發(fā)明的另一個(gè)實(shí)施例,可以向用戶提供若干應(yīng)用模板,然后根據(jù)用戶對(duì)這些模板的選擇以及對(duì)所選擇的模板的參數(shù)設(shè)置,推導(dǎo)出用戶應(yīng)用程序?qū)Υ鎯?chǔ)資源的性能指標(biāo)的要求。如何進(jìn)行所述推導(dǎo)是本領(lǐng)域的常用手段,在此不再贅述。步驟402,獲得各個(gè)中間卷所能提供的存儲(chǔ)資源??梢允褂矛F(xiàn)有工具來(lái)監(jiān)控和得到存儲(chǔ)云中各中間卷的實(shí)時(shí)使用狀況,并計(jì)算得到各中間卷當(dāng)前空閑存儲(chǔ)容量,空閑訪問(wèn)速率的具體數(shù)值。如上所述,在根據(jù)本發(fā)明的實(shí)施例中,中間卷和存儲(chǔ)設(shè)備是一一對(duì)應(yīng)的關(guān)系。因此在下面的描述中,中間卷和存儲(chǔ)設(shè)備具有相同的指代對(duì)象。步驟403,根據(jù)用戶應(yīng)用程序?qū)Υ鎯?chǔ)資源的要求和各個(gè)中間卷所能提供的存儲(chǔ)資源,選擇中間卷以滿足所述對(duì)存儲(chǔ)資源的要求,其中所述中間卷的最小數(shù)目根據(jù)所述冗余度確定。舉例而言,比如某用戶應(yīng)用程序?qū)Υ鎯?chǔ)資源的要求是冗余度RAID5(4+P)存儲(chǔ)容量800GB訪問(wèn)速率10000IP0S首先,根據(jù)所述冗余度確定存儲(chǔ)設(shè)備的最小數(shù)目。冗余度為RAID5(4+P)表示在實(shí)際分配給用戶應(yīng)用程序的存儲(chǔ)容量中,有五分之一即20%是用來(lái)進(jìn)行冗余存儲(chǔ)的,其余五分之四即80%是用來(lái)滿足用戶應(yīng)用程序?qū)Υ鎯?chǔ)容量的要求的。根據(jù)這一性能指標(biāo),確定所選擇的存儲(chǔ)設(shè)備的最小數(shù)目為5。本領(lǐng)域技術(shù)人員可以理解,冗余度還可以用其他方式表示,但都可以轉(zhuǎn)換為以上關(guān)系。其次,根據(jù)步驟402所得到的各存儲(chǔ)設(shè)備所能提供的存儲(chǔ)資源確定是否存在5個(gè)分別可以提供200GB,2000I0PS的存儲(chǔ)資源,且這些存儲(chǔ)資源來(lái)自不同的存儲(chǔ)設(shè)備。如上所述,這5個(gè)存儲(chǔ)資源中只有4個(gè)是用來(lái)滿足用戶應(yīng)用程序?qū)Υ鎯?chǔ)容量的要求的。如果存在,則稱這5個(gè)存儲(chǔ)資源分別為A,B,C,D,E0如果在整個(gè)存儲(chǔ)云中都找不到如上所述的存儲(chǔ)資源時(shí),則將所有指標(biāo)同時(shí)減半進(jìn)行第二次搜索。比如說(shuō),只找到了 4個(gè)分別可以提供200GB,2000I0PS的且來(lái)自不同存儲(chǔ)設(shè)備的存儲(chǔ)資源A、B、C和D ;在第二次搜索中又找到了 2個(gè)分別可以提供100GB,1000I0PS的存儲(chǔ)資源El,E2,從而將其合并為一個(gè)存儲(chǔ)資源E??梢岳斫?,El和E2不會(huì)與A、B、C或D中的任意一個(gè)位于同一個(gè)存儲(chǔ)設(shè)備。還可以理解,El和E2也不會(huì)位于同一個(gè)存儲(chǔ)設(shè)備,因?yàn)槿绻鸈l和E2位于同一個(gè)存儲(chǔ)設(shè)備的話,在第一次搜索中就可以找到E。由于El,E2將以strip(RAIDO)的方式協(xié)同工作,所以他們的合并空間也正好具有200GB,2000I0PS的性能指標(biāo)。如果這樣的存儲(chǔ)資源還找不到,則將所有指標(biāo)再次同時(shí)減半進(jìn)行第三次搜索。如果存儲(chǔ)云中滿足上述條件的存儲(chǔ)資源超過(guò)所需數(shù)目,則可以進(jìn)行進(jìn)一步的篩選。根據(jù)本發(fā)明的一個(gè)實(shí)施例,選擇已經(jīng)被啟用的存儲(chǔ)設(shè)備上的存儲(chǔ)資源,而不是啟用新的存儲(chǔ)設(shè)備,從而節(jié)省啟用新的存儲(chǔ)設(shè)備帶來(lái)的額外能耗。根據(jù)本發(fā)明的另一個(gè)實(shí)施例,選擇已經(jīng)被占用的存儲(chǔ)資源較少的存儲(chǔ)設(shè)備上的存儲(chǔ)資源,從而保證各存儲(chǔ)設(shè)備的負(fù)載平行。根據(jù)本發(fā)明的再一個(gè)實(shí)施例,將不同用戶應(yīng)用程序的用戶數(shù)據(jù)盡可能分配到不同的存儲(chǔ)設(shè)備上的存儲(chǔ)資源,從而使得某一用戶應(yīng)用程序?qū)Υ鎯?chǔ)資源的性能指標(biāo)的要求變化不會(huì)影響到其他用戶應(yīng)用程序,并且由于用戶數(shù)據(jù)的物理隔絕而增強(qiáng)了安全性。可以由用戶指定上述篩選方法。需要注意的是,針對(duì)訪問(wèn)速率這一指標(biāo),根據(jù)本發(fā)明一個(gè)實(shí)施例,采用的是thin-provision的策略。根據(jù)這種策略,雖然系統(tǒng)在名義上成功為用戶應(yīng)用程序分配一塊符合用戶應(yīng)用程序所要求的訪問(wèn)速率的存儲(chǔ)資源,但并不實(shí)際完全占據(jù)所述訪問(wèn)速率。例如,如果在最大訪問(wèn)速率為10000I0PS的存儲(chǔ)設(shè)備上為用戶應(yīng)用程序分配了一塊存儲(chǔ)資源來(lái)向用戶應(yīng)用程序提供2000I0PS的訪問(wèn)速率,則所述存儲(chǔ)設(shè)備的空閑訪問(wèn)速率并非簡(jiǎn)單地用10000減去2000,而是根據(jù)如步驟402所得到的實(shí)際被占用的訪問(wèn)速率來(lái)計(jì)算該存儲(chǔ)設(shè)備的空閑訪問(wèn)速率。這樣可以做到使存儲(chǔ)設(shè)備的訪問(wèn)速率得以最大的發(fā)揮。為了避免由于實(shí)際被占用的訪問(wèn)速率隨時(shí)間的起伏過(guò)大導(dǎo)致在該存儲(chǔ)設(shè)備上分配了過(guò)多的訪問(wèn)速率,上述實(shí)際被占用的訪問(wèn)速率通常取一段時(shí)間內(nèi)的平均值。步驟404,根據(jù)冗余度的要求將用戶數(shù)據(jù)存儲(chǔ)到所選擇的中間卷中。仍然以上述冗余度RAID5(4+P)為例。假設(shè)當(dāng)前的用戶數(shù)據(jù)被按照最小單位分成16個(gè)用戶數(shù)據(jù)塊,則根據(jù)冗余度的要求,每4個(gè)用戶數(shù)據(jù)塊需要配以I個(gè)冗余數(shù)據(jù)塊。因此,可以將用戶數(shù)據(jù)分成4個(gè)塊組,如下所述
權(quán)利要求
1.一種管理多臺(tái)存儲(chǔ)設(shè)備的方法,其中將各臺(tái)存儲(chǔ)設(shè)備提供的存儲(chǔ)資源分別虛擬化整合為對(duì)應(yīng)的中間卷,并且將多個(gè)中間卷虛擬化整合成單獨(dú)的邏輯卷,該方法包括 獲取向所述邏輯卷提出的對(duì)存儲(chǔ)資源的要求,所述要求至少包括對(duì)冗余度的要求; 獲得各個(gè)中間卷所能提供的存儲(chǔ)資源; 根據(jù)所述對(duì)存儲(chǔ)資源的要求和各個(gè)中間卷所能提供的存儲(chǔ)資源,選擇中間卷以滿足所述對(duì)存儲(chǔ)資源的要求,其中所述中間卷的最小數(shù)目根據(jù)所述對(duì)冗余度的要求確定;以及根據(jù)所述對(duì)冗余度的要求將用戶數(shù)據(jù)存儲(chǔ)到所選擇的中間卷中。
2.如權(quán)利要求1所述的方法,進(jìn)一步包括 接收從中間卷中移除存儲(chǔ)資源的指令; 獲取該中間卷上的空閑存儲(chǔ)容量和待移除存儲(chǔ)資源的存儲(chǔ)容量; 在該中間卷上的空閑存儲(chǔ)容量大于待移除存儲(chǔ)資源的存儲(chǔ)容量的情況下,從該中間卷上分配其他存儲(chǔ)資源以代替所述待移除存儲(chǔ)資源。
3.如權(quán)利要求2所述的方法,進(jìn)一步包括 在該中間卷上的空閑存儲(chǔ)容量小于待移除存儲(chǔ)資源的存儲(chǔ)容量的情況下,獲取待移除存儲(chǔ)資源所對(duì)應(yīng)的邏輯卷; 針對(duì)所獲取的每個(gè)邏輯卷,在其他中間卷上選擇目標(biāo)存儲(chǔ)資源,其中所述目標(biāo)存儲(chǔ)資源與源存儲(chǔ)資源具有相同的性能指標(biāo),所述源存儲(chǔ)資源是待移除存儲(chǔ)資源所在的中間卷上對(duì)應(yīng)于該邏輯卷的存儲(chǔ)資源; 將所述目標(biāo)存儲(chǔ)資源分配給對(duì)應(yīng)的邏輯卷。
4.如權(quán)利要求1所述的方法,進(jìn)一步包括 接收移除中間卷的指令; 獲取待移除中間卷所涉及的邏輯卷; 針對(duì)所獲取的每個(gè)邏輯卷,在其他中間卷上選擇目標(biāo)存儲(chǔ)資源,其中所述目標(biāo)存儲(chǔ)資源與源存儲(chǔ)資源具有相同的性能指標(biāo),所述源存儲(chǔ)資源是待移除中間卷上對(duì)應(yīng)于該邏輯卷的存儲(chǔ)資源; 將所述目標(biāo)存儲(chǔ)資源分配給對(duì)應(yīng)的邏輯卷。
5.如權(quán)利要求1所述的方法,進(jìn)一步包括 接收對(duì)邏輯卷增加存儲(chǔ)資源的指令,所述指令包含存儲(chǔ)資源性能指標(biāo)的增量; 計(jì)算所述增量在與該邏輯卷相關(guān)的各中間卷上的分量; 在所述增量可以由所述各中間卷的空閑存儲(chǔ)資源中進(jìn)行分配的情況下,從所述各中間卷的空閑存儲(chǔ)資源中分配所述增量分量給該邏輯卷。
6.如權(quán)利要求5所述的方法,進(jìn)一步包括 在所述增量無(wú)法由所述中間卷的空閑存儲(chǔ)資源中進(jìn)行分配的情況下,在其他中間卷上選擇目標(biāo)存儲(chǔ)資源,所述目標(biāo)存儲(chǔ)資源具有增加后的性能指標(biāo); 將所述目標(biāo)存儲(chǔ)資源分配給所述邏輯卷。
7.—種管理多臺(tái)存儲(chǔ)設(shè)備的裝置,其中將各臺(tái)存儲(chǔ)設(shè)備提供的存儲(chǔ)資源分別虛擬化整合為對(duì)應(yīng)的中間卷,并且將多個(gè)中間卷虛擬化整合成單獨(dú)的邏輯卷,該裝置包括 要求獲取模塊,配置為獲取向所述邏輯卷提出的對(duì)存儲(chǔ)資源的要求,所述要求至少包括對(duì)冗余度的要求;存儲(chǔ)資源獲取模塊,配置為獲得各個(gè)中間卷所能提供的存儲(chǔ)資源; 中間卷選擇模塊,配置為根據(jù)所述對(duì)存儲(chǔ)資源的要求和各個(gè)中間卷所能提供的存儲(chǔ)資源,選擇中間卷以滿足所述對(duì)存儲(chǔ)資源的要求,其中所述中間卷的最小數(shù)目根據(jù)所述對(duì)冗余度的要求確定;以及 用戶數(shù)據(jù)存儲(chǔ)模塊,配置為根據(jù)所述對(duì)冗余度的要求將用戶數(shù)據(jù)存儲(chǔ)到所選擇的中間卷中。
8.如權(quán)利要求7所述的裝置,進(jìn)一步包括 配置為接收從中間卷中移除存儲(chǔ)資源的指令的模塊; 配置為獲取該中間卷上的空閑存儲(chǔ)容量和待移除存儲(chǔ)資源的存儲(chǔ)容量的模塊; 配置為在該中間卷上的空閑存儲(chǔ)容量大于待移除存儲(chǔ)資源的存儲(chǔ)容量的情況下,從該中間卷上分配其他存儲(chǔ)資源以代替所述待移除存儲(chǔ)資源的模塊。
9.如權(quán)利要求8所述的裝置,進(jìn)一步包括 配置為在該中間卷上的空閑存儲(chǔ)容量小于待移除存儲(chǔ)資源的存儲(chǔ)容量的情況下,獲取待移除存儲(chǔ)資源所對(duì)應(yīng)的邏輯卷的模塊; 配置為針對(duì)所獲取的每個(gè)邏輯卷,在其他中間卷上選擇目標(biāo)存儲(chǔ)資源的模塊,其中所述目標(biāo)存儲(chǔ)資源與源存儲(chǔ)資源具有相同的性能指標(biāo),所述源存儲(chǔ)資源是待移除存儲(chǔ)資源所在的中間卷上對(duì)應(yīng)于該邏輯卷的存儲(chǔ)資源; 配置為將所述目標(biāo)存儲(chǔ)資源分配給對(duì)應(yīng)的邏輯卷的模塊。
10.如權(quán)利要求7所述的裝置,進(jìn)一步包括 配置為接收移除中間卷的指令的模塊; 配置為獲取待移除中間卷所涉及的邏輯卷的模塊; 配置為針對(duì)所獲取的每個(gè)邏輯卷,在其他中間卷上選擇目標(biāo)存儲(chǔ)資源的模塊,其中所述目標(biāo)存儲(chǔ)資源與源存儲(chǔ)資源具有相同的性能指標(biāo),所述源存儲(chǔ)資源是待移除中間卷上對(duì)應(yīng)于該邏輯卷的存儲(chǔ)資源; 配置為將所述目標(biāo)存儲(chǔ)資源分配給對(duì)應(yīng)的邏輯卷的模塊。
11.如權(quán)利要求7所述的裝置,進(jìn)一步包括 配置為接收對(duì)邏輯卷增加存儲(chǔ)資源的指令的模塊,所述指令包含存儲(chǔ)資源性能指標(biāo)的增量; 配置為計(jì)算所述增量在與該邏輯卷相關(guān)的各中間卷上的分量的模塊; 配置為在所述增量可以由所述各中間卷的空閑存儲(chǔ)資源中進(jìn)行分配的情況下,從所述各中間卷的空閑存儲(chǔ)資源中分配所述增量分量給該邏輯卷的模塊。
12.如權(quán)利要求11所述的裝置,進(jìn)一步包括 配置為在所述增量無(wú)法由所述中間卷的空閑存儲(chǔ)資源中進(jìn)行分配的情況下,在其他中間卷上選擇目標(biāo)存儲(chǔ)資源的模塊,所述目標(biāo)存儲(chǔ)資源具有增加后的性能指標(biāo); 配置為將所述目標(biāo)存儲(chǔ)資源分配給所述邏輯卷的模塊。
全文摘要
根據(jù)本發(fā)明實(shí)施例的一種管理多臺(tái)存儲(chǔ)設(shè)備的方法,其中將各臺(tái)存儲(chǔ)設(shè)備提供的存儲(chǔ)資源分別虛擬化整合為對(duì)應(yīng)的中間卷,并且將多個(gè)中間卷虛擬化整合成單獨(dú)的邏輯卷,該方法包括獲取向所述邏輯卷提出的對(duì)存儲(chǔ)資源的要求,所述要求至少包括冗余度;獲得各個(gè)中間卷所能提供的存儲(chǔ)資源;根據(jù)所述對(duì)存儲(chǔ)資源的要求和各個(gè)中間卷所能提供的存儲(chǔ)資源,選擇中間卷以滿足所述對(duì)存儲(chǔ)資源的要求,其中所述中間卷的最小數(shù)目根據(jù)所述冗余度確定;以及根據(jù)冗余度的要求將用戶數(shù)據(jù)存儲(chǔ)到所選擇的中間卷中。根據(jù)本發(fā)明實(shí)施例,可以在云存儲(chǔ)的環(huán)境中對(duì)存儲(chǔ)設(shè)備進(jìn)行有效的管理。
文檔編號(hào)H04L29/08GK103036930SQ20111030547
公開日2013年4月10日 申請(qǐng)日期2011年9月30日 優(yōu)先權(quán)日2011年9月30日
發(fā)明者姜鵬, 張昕, 張融, M·S·弗勒明 申請(qǐng)人:國(guó)際商業(yè)機(jī)器公司