專(zhuān)利名稱(chēng):實(shí)時(shí)地將lun轉(zhuǎn)換為文件或?qū)⑽募D(zhuǎn)換為lun的制作方法
實(shí)時(shí)地將LUN轉(zhuǎn)換為文件或?qū)⑽募D(zhuǎn)換為L(zhǎng)UN
背景技術(shù):
計(jì)算機(jī)數(shù)據(jù)存儲(chǔ)是指用于將數(shù)字?jǐn)?shù)據(jù)保留一些時(shí)間的組件、設(shè)備和/或記錄介質(zhì)。存在各種類(lèi)型的物理存儲(chǔ)設(shè)備,包括諸如隨機(jī)存取存儲(chǔ)器(RAM)設(shè)備和只讀存儲(chǔ)器 (ROM)設(shè)備之類(lèi)的存儲(chǔ)器設(shè)備(例如,半導(dǎo)體存儲(chǔ)),以及諸如光盤(pán)和磁存儲(chǔ)器(硬盤(pán)、磁帶等等)之類(lèi)的大容量存儲(chǔ)設(shè)備,以及其他類(lèi)型的存儲(chǔ)??梢砸愿鞣N方式匯合這樣的存儲(chǔ)設(shè)備以提供較高級(jí)別的存儲(chǔ),以及較高級(jí)別的存儲(chǔ)可靠性。例如,可以組合許多存儲(chǔ)設(shè)備以構(gòu)成RAID(獨(dú)立磁盤(pán)冗余陣列)陣列、存儲(chǔ)區(qū)域網(wǎng)絡(luò)(SAN),及其他存儲(chǔ)的集合。存儲(chǔ)器虛擬化是從物理存儲(chǔ)中抽象虛擬或邏輯存儲(chǔ)的一種方式。被配置成提供虛擬存儲(chǔ)的存儲(chǔ)系統(tǒng)可以向計(jì)算機(jī)提供計(jì)算機(jī)可以訪問(wèn)的邏輯存儲(chǔ)位置。存儲(chǔ)系統(tǒng)被配置成將邏輯存儲(chǔ)位置映射到物理存儲(chǔ)中的物理存儲(chǔ)位置。在一種類(lèi)型的虛擬存儲(chǔ)中,邏輯存儲(chǔ)設(shè)備可以被稱(chēng)為L(zhǎng)UN(邏輯單元號(hào))。一個(gè)計(jì)算機(jī)可以具有由該計(jì)算機(jī)可以訪問(wèn)的存儲(chǔ)系統(tǒng)向它展示的一個(gè)或多個(gè)LUN??稍贚UN中通過(guò)該LUN內(nèi)的偏移或位置來(lái)對(duì)數(shù)據(jù)塊進(jìn)行尋址,其可以被稱(chēng)為邏輯塊地址(LBA)。各種類(lèi)型的數(shù)據(jù)可以被存儲(chǔ)在虛擬存儲(chǔ)中,包括虛擬機(jī)。虛擬機(jī)是物理計(jì)算機(jī)的軟件實(shí)現(xiàn),其類(lèi)似于物理計(jì)算機(jī)執(zhí)行程序?!跋到y(tǒng)虛擬機(jī)”可以提供完整的計(jì)算機(jī)平臺(tái),包括操作系統(tǒng)。這樣的系統(tǒng)虛擬機(jī)可以執(zhí)行一個(gè)或多個(gè)程序。“進(jìn)程虛擬機(jī)”被設(shè)計(jì)成運(yùn)行單個(gè)程序。代表虛擬機(jī)的一個(gè)或多個(gè)文件可以被稱(chēng)為“虛擬硬驅(qū)動(dòng)器”。當(dāng)前,對(duì)應(yīng)于虛擬機(jī)的虛擬映象通常被部署在虛擬存儲(chǔ)系統(tǒng)的孤立的LUN中。存儲(chǔ)系統(tǒng)向主機(jī)計(jì)算機(jī)展示,以使得主機(jī)計(jì)算機(jī)能夠執(zhí)行虛擬機(jī)。當(dāng)由主機(jī)計(jì)算機(jī)實(shí)現(xiàn)了大量的虛擬機(jī)(例如,數(shù)百、數(shù)千,或更多虛擬機(jī))時(shí),主機(jī)計(jì)算機(jī)花費(fèi)大量的資源來(lái)管理和索引虛擬機(jī)。例如,一個(gè)當(dāng)前計(jì)算機(jī)文件系統(tǒng)不能夠支持超過(guò)255個(gè)分配的LUN。此外,在給計(jì)算機(jī)文件系統(tǒng)分配了 50個(gè)LUN之后,該計(jì)算機(jī)文件系統(tǒng)的性能還可能會(huì)變差。如此,根據(jù)傳統(tǒng)技術(shù)利用在LUN中實(shí)現(xiàn)的虛擬機(jī)來(lái)管理大量的虛擬機(jī)現(xiàn)實(shí)上是不可能的。
發(fā)明內(nèi)容
提供本發(fā)明內(nèi)容以便以簡(jiǎn)化的形式介紹將在以下具體實(shí)施方式
中進(jìn)一步描述的一些概念。本發(fā)明內(nèi)容并不旨在標(biāo)識(shí)所要求保護(hù)主題的關(guān)鍵特征或必要特征,也不旨在用于限制所要求保護(hù)主題的范圍。提供了用于將多個(gè)數(shù)據(jù)集存儲(chǔ)在邏輯單元號(hào)(LUN)中以提高性能的方法、系統(tǒng), 以及計(jì)算機(jī)程序產(chǎn)品。提供了可以存儲(chǔ)多個(gè)數(shù)據(jù)集(例如,作為虛擬硬驅(qū)動(dòng)器來(lái)存儲(chǔ)的虛擬機(jī))的LUN??梢詫UN劃分為多個(gè)分區(qū)。一個(gè)或多個(gè)數(shù)據(jù)集可以被存儲(chǔ)在每一個(gè)分區(qū)中。結(jié)果,可以通過(guò)單一 LUN,而并非通過(guò)與數(shù)據(jù)集的數(shù)量成比例的數(shù)量的LUN來(lái)訪問(wèn)多個(gè)數(shù)據(jù)集。此外,還可以旋轉(zhuǎn)存儲(chǔ)在LUN中的數(shù)據(jù)集。在一種實(shí)現(xiàn)中,提供了存儲(chǔ)陣列控制器中的系統(tǒng)和方法。從存儲(chǔ)陣列向第一主機(jī)計(jì)算機(jī)展示第一 LUN。從第一主機(jī)計(jì)算機(jī)接收關(guān)于第一LUN的多個(gè)分區(qū)中的一個(gè)分區(qū)的旋轉(zhuǎn)請(qǐng)求(該分區(qū)可以是多個(gè)分區(qū)中的任何一個(gè))。該分區(qū)存儲(chǔ)被存儲(chǔ)在多個(gè)分區(qū)中的多個(gè)數(shù)據(jù)集中的一個(gè)數(shù)據(jù)集。確定第一 LUN中的分區(qū)的大小。生成指示第二分區(qū)的位置和大小的分區(qū)表。生成存儲(chǔ)陣列的第二 LUN以具有被配置成容納第二 LUN的簽名、分區(qū)表,以及第二分區(qū)的大小。簽名和分區(qū)表被存儲(chǔ)在第二 LUN 中。第一 LUN的分區(qū)被從第一 LUN復(fù)制到第二 LUN中的由第二分區(qū)的分區(qū)表中所指示的位置處。第二 LUN被映射到第二主機(jī)計(jì)算機(jī)。隨后,可以從第二主機(jī)計(jì)算機(jī)接收使第二 LUN引退的請(qǐng)求。確定第二分區(qū)的大小。 第二分區(qū)的副本被存儲(chǔ)在第一 LUN中。第一 LUN的分區(qū)表被更新以指出對(duì)應(yīng)于第一 LUN的存儲(chǔ)了第二分區(qū)的副本的存儲(chǔ)區(qū)域的分區(qū)。如果第二分區(qū)的大小不超過(guò)第一 LUN中的最初旋轉(zhuǎn)的分區(qū)的大小,則第二分區(qū)的副本可以被存儲(chǔ)在第一 LUN的該分區(qū)中。如果第二分區(qū)的大小超過(guò)第一 LUN中的最初旋轉(zhuǎn)的分區(qū)的大小,則可以通過(guò)一個(gè)存儲(chǔ)區(qū)域追加到第一 LUN來(lái)擴(kuò)展第一 LUN的大小,而第二分區(qū)的副本可以被存儲(chǔ)在第一 LUN的所追加的存儲(chǔ)區(qū)域中。在另一種實(shí)現(xiàn)中,提供了第一主機(jī)計(jì)算機(jī)中的系統(tǒng)和方法。接收由存儲(chǔ)陣列向第一主機(jī)計(jì)算機(jī)展示的第一邏輯單元號(hào)(LUN)的指示。簽名和分區(qū)表被存儲(chǔ)在第一 LUN中。 將第一 LUN分區(qū)劃分為多個(gè)分區(qū)。多個(gè)數(shù)據(jù)集被存儲(chǔ)在多個(gè)分區(qū)中。對(duì)多個(gè)分區(qū)中的存儲(chǔ)了多個(gè)數(shù)據(jù)集中的一數(shù)據(jù)集的一分區(qū)的訪問(wèn)被關(guān)閉。將關(guān)于關(guān)閉的分區(qū)的旋轉(zhuǎn)請(qǐng)求傳送到存儲(chǔ)陣列。存儲(chǔ)陣列被配置成響應(yīng)于旋轉(zhuǎn)請(qǐng)求,將該分區(qū)復(fù)制到第二 LUN,并將第二 LUN映射到第二主機(jī)計(jì)算機(jī)。此處還描述了能夠執(zhí)行和/或?qū)崿F(xiàn)上文以及此處別處所描述的方法的,并用于實(shí)現(xiàn)如此處所描述的更進(jìn)一步的實(shí)施例的計(jì)算機(jī)系統(tǒng)和計(jì)算機(jī)程序產(chǎn)品(存儲(chǔ)在計(jì)算機(jī)可讀介質(zhì)中)。下面將參考各個(gè)附圖,詳細(xì)描述本發(fā)明的進(jìn)一步特點(diǎn)和優(yōu)點(diǎn),以及本發(fā)明的各實(shí)施例的結(jié)構(gòu)和操作。值得注意的是,本發(fā)明不僅限于此處所描述的特定實(shí)施例。這樣的實(shí)施例只是出于例示的目的?;诖颂幩脑恚硗獾膶?shí)施例對(duì)那些相關(guān)領(lǐng)域技術(shù)人員是顯而易見(jiàn)的。附圖簡(jiǎn)述結(jié)合到本說(shuō)明書(shū)并構(gòu)成本說(shuō)明書(shū)的一部分的附圖示出了本發(fā)明,且與描述一起, 進(jìn)一步用于說(shuō)明本發(fā)明的原理,并允許那些精通相關(guān)的技術(shù)人員實(shí)施和使用本發(fā)明。
圖1示出了其中多個(gè)計(jì)算設(shè)備訪問(wèn)共享存儲(chǔ)的計(jì)算和數(shù)據(jù)存儲(chǔ)系統(tǒng)。圖2示出了圖1的計(jì)算和數(shù)據(jù)存儲(chǔ)系統(tǒng)的框圖,其中存儲(chǔ)陣列被以虛擬存儲(chǔ)的形式呈現(xiàn)給主機(jī)計(jì)算機(jī)。圖3示出了以邏輯單元號(hào)(LUN)的形式提供虛擬存儲(chǔ)的存儲(chǔ)設(shè)備的框圖。圖4示出了執(zhí)行多個(gè)虛擬機(jī)的主機(jī)計(jì)算機(jī)的框圖。圖5示出了根據(jù)示例實(shí)施例的具有多個(gè)分區(qū)的LUN的框圖。圖6示出了根據(jù)示例實(shí)施例的主機(jī)計(jì)算機(jī)的框圖。圖7示出了根據(jù)示例實(shí)施例的提供用于劃分LUN的過(guò)程的流程圖。圖8示出了根據(jù)示例實(shí)施例的存儲(chǔ)陣列控制器的框圖。圖9示出了根據(jù)示例實(shí)施例的用于將對(duì)數(shù)據(jù)集的訪問(wèn)從第一主機(jī)計(jì)算機(jī)旋轉(zhuǎn) (pivot)到第二主機(jī)計(jì)算機(jī)的過(guò)程。
圖10示出了根據(jù)示例實(shí)施例的提供了用于將數(shù)據(jù)集從第一主機(jī)計(jì)算機(jī)旋轉(zhuǎn)到第二主機(jī)計(jì)算機(jī)的過(guò)程的流程圖。圖11示出了根據(jù)示例實(shí)施例的陣列控制器的框圖。圖12示出了根據(jù)示例實(shí)施例的計(jì)算和數(shù)據(jù)存儲(chǔ)系統(tǒng)的框圖。圖13示出了根據(jù)示例實(shí)施例的提供用于允許分區(qū)被旋轉(zhuǎn)的過(guò)程的流程圖。圖14示出了根據(jù)示例實(shí)施例的提供在接收對(duì)旋轉(zhuǎn)的LUN的訪問(wèn)的第二主機(jī)計(jì)算機(jī)上實(shí)現(xiàn)的過(guò)程的流程圖。圖15示出了根據(jù)示例實(shí)施例的用于將對(duì)數(shù)據(jù)集的訪問(wèn)從第二主機(jī)計(jì)算機(jī)旋轉(zhuǎn)到第一主機(jī)計(jì)算機(jī)的過(guò)程。圖16示出了根據(jù)示例實(shí)施例的提供了用于將數(shù)據(jù)集從第二主機(jī)計(jì)算機(jī)旋轉(zhuǎn)到第一主機(jī)計(jì)算機(jī)的過(guò)程的流程圖。圖17示出了根據(jù)示例實(shí)施例的圖12的計(jì)算和數(shù)據(jù)存儲(chǔ)系統(tǒng)的框圖。圖18示出了根據(jù)示例實(shí)施例的提供用于允許分區(qū)被旋轉(zhuǎn)的過(guò)程的流程圖。圖19示出了可以被用來(lái)實(shí)現(xiàn)本發(fā)明的各實(shí)施例的示例計(jì)算機(jī)的框圖。通過(guò)下面的結(jié)合附圖對(duì)本發(fā)明進(jìn)行的詳細(xì)說(shuō)明,本發(fā)明的特點(diǎn)和優(yōu)點(diǎn)將變得更加顯而易見(jiàn),在附圖形中,類(lèi)似的附圖標(biāo)記在整個(gè)說(shuō)明書(shū)中標(biāo)識(shí)對(duì)應(yīng)的元素。在附圖中,相同的附圖標(biāo)記一般指示相同的、功能上類(lèi)似的和/或在結(jié)構(gòu)上類(lèi)似的元素。元素首先在其中出現(xiàn)的附圖由對(duì)應(yīng)的附圖標(biāo)記中最左邊的數(shù)字來(lái)指示。
具體實(shí)施例方式I.引言本說(shuō)明書(shū)公開(kāi)了包括本發(fā)明的特征的一個(gè)或多個(gè)實(shí)施例。所公開(kāi)的實(shí)施例只例示了本發(fā)明。本發(fā)明的范圍不僅限于所公開(kāi)的實(shí)施例。本發(fā)明由所附的權(quán)利要求進(jìn)行定義。說(shuō)明書(shū)中對(duì)“一個(gè)實(shí)施例”、“實(shí)施例”、“示例實(shí)施例”等等的引用表示所描述的實(shí)施例可包括特定特征、結(jié)構(gòu)或特性,但是,每一個(gè)實(shí)施例可以不一定包括該特定特征、結(jié)構(gòu), 或特征。此外,這樣的短語(yǔ)不一定是指同一個(gè)實(shí)施例。此外,當(dāng)參考一個(gè)實(shí)施例描述特定特征、結(jié)構(gòu)或特性時(shí),假定在本領(lǐng)域技術(shù)人員學(xué)識(shí)范圍內(nèi),可以與其他實(shí)施例一起實(shí)施這樣的特征、結(jié)構(gòu)或特性。此外,還應(yīng)該理解,此處所使用的空間描述(例如,“上方”、“下面”、“向上”、“向左”、“向右”、“向下”、“頂部”、“底部”、“垂直”、“水平”等等)只用于說(shuō)明目的,此處所描述的結(jié)構(gòu)的實(shí)際實(shí)施方式可以以任何定向或方式排列。II.存儲(chǔ)系統(tǒng)實(shí)施例本發(fā)明的各實(shí)施例涉及用于存儲(chǔ)數(shù)據(jù)和訪問(wèn)存儲(chǔ)在計(jì)算機(jī)數(shù)據(jù)存儲(chǔ)器中的數(shù)據(jù)的技術(shù)。例如,圖1示出了其中多個(gè)計(jì)算設(shè)備訪問(wèn)共享存儲(chǔ)的計(jì)算和數(shù)據(jù)存儲(chǔ)系統(tǒng)100。如圖ι所示,系統(tǒng)100包括第一-第三主機(jī)計(jì)算機(jī)10加-102(3,通信網(wǎng)絡(luò)104,以及存儲(chǔ)陣列 106。存儲(chǔ)陣列106包括多個(gè)存儲(chǔ)器單元/存儲(chǔ)設(shè)備IHa-IHn和存儲(chǔ)器通信網(wǎng)絡(luò)108。在圖1的示例中,第一-第三主機(jī)計(jì)算機(jī)102a-102c共享對(duì)存儲(chǔ)陣列106的訪問(wèn),包括被允許將數(shù)據(jù)存儲(chǔ)在存儲(chǔ)陣列106的存儲(chǔ)設(shè)備IHa-IHn中,并檢索存儲(chǔ)在其中的數(shù)據(jù)。雖然在圖1中示出了三個(gè)主機(jī)計(jì)算機(jī)10加-102(3,但是,可以有任意數(shù)量的主機(jī)計(jì)算機(jī)102耦合到網(wǎng)絡(luò)100以共享存儲(chǔ)陣列106,包括數(shù)百、數(shù)千或者甚至更多數(shù)量的計(jì)算設(shè)備。主機(jī)計(jì)算機(jī)102的示例包括固定的和移動(dòng)計(jì)算設(shè)備。例如,主機(jī)計(jì)算機(jī)10加-102(3中的每一個(gè)都可以是服務(wù)器、臺(tái)式計(jì)算機(jī)(例如,個(gè)人計(jì)算機(jī))、移動(dòng)計(jì)算機(jī)(例如,個(gè)人數(shù)字助理(PDA)、膝上型計(jì)算機(jī)、筆記本計(jì)算機(jī)、智能電話等等),或其他類(lèi)型的計(jì)算設(shè)備。主機(jī)計(jì)算機(jī)10加-102(3中的每一個(gè)在圖1中都被示為通過(guò)網(wǎng)絡(luò)104和相對(duì)應(yīng)的通信鏈路與存儲(chǔ)陣列106進(jìn)行通信。例如,如圖1所示,主機(jī)計(jì)算機(jī)10 可通過(guò)第一通信鏈路 IlOa與網(wǎng)絡(luò)104通信地耦合,主機(jī)計(jì)算機(jī)10 可通過(guò)第二通信鏈路IlOb與網(wǎng)絡(luò)104通信地耦合,而主機(jī)計(jì)算機(jī)102c可通過(guò)第三通信鏈路IlOc與網(wǎng)絡(luò)104通信地耦合。存儲(chǔ)陣列 106被示為通過(guò)第四通信鏈路IlOd與網(wǎng)絡(luò)104通信地耦合。網(wǎng)絡(luò)104可以是LAN、WAN(廣域網(wǎng)),或諸如因特網(wǎng)之類(lèi)的網(wǎng)絡(luò)的組合。第一-第四通信鏈路IlOa-IlOd可包括任何類(lèi)型的通信鏈路或其組合,包括有線和/或無(wú)線鏈路,如IEEE802.il無(wú)線局域網(wǎng)(WLAN)無(wú)線鏈路、全球微波互聯(lián)接入(Wi-MAX)鏈路、蜂窩網(wǎng)絡(luò)鏈路、無(wú)線個(gè)域網(wǎng)(PAN)鏈路(例如, Bluetooth 鏈路)、以太網(wǎng)鏈路、USB鏈路等等。雖然在圖1中示出了存儲(chǔ)設(shè)備lHa-114n,但是,在存儲(chǔ)陣列106中可以包括任意數(shù)量的用于存儲(chǔ)數(shù)據(jù)的存儲(chǔ)設(shè)備114,包括數(shù)百、數(shù)千,或者甚至更多數(shù)量的存儲(chǔ)設(shè)備。在圖 1中陣列控制器112和存儲(chǔ)設(shè)備IHa-IHn被示為通過(guò)存儲(chǔ)器通信網(wǎng)絡(luò)108通信地耦合在一起。存儲(chǔ)設(shè)備IHa-IHn和存儲(chǔ)器通信網(wǎng)絡(luò)108可以以任何配置在存儲(chǔ)陣列106中排列或相關(guān)聯(lián),包括以存儲(chǔ)區(qū)域網(wǎng)絡(luò)(SAN)、光纖通道陣列、網(wǎng)絡(luò)附連存儲(chǔ)(NAS)等等。存儲(chǔ)設(shè)備 114可以是任何類(lèi)型的存儲(chǔ)設(shè)備,易失性和/或非易失性,包括存儲(chǔ)器設(shè)備和/或大容量存儲(chǔ)設(shè)備。存儲(chǔ)設(shè)備114的示例包括存儲(chǔ)器設(shè)備(例如,半導(dǎo)體存儲(chǔ)器),如隨機(jī)存取存儲(chǔ)器 (RAM)設(shè)備(易失性或非易失性),以及只讀存儲(chǔ)器(ROM)設(shè)備,以及諸如光盤(pán)和磁存儲(chǔ)器 (硬盤(pán)、磁帶等等)之類(lèi)的大容量存儲(chǔ)設(shè)備,以及其他類(lèi)型的存儲(chǔ)器。存儲(chǔ)虛擬化是從物理存儲(chǔ)中抽象邏輯存儲(chǔ)的一種方式。被配置成提供虛擬存儲(chǔ)的存儲(chǔ)系統(tǒng)可以向計(jì)算機(jī)提供計(jì)算機(jī)可以訪問(wèn)的邏輯存儲(chǔ)位置。存儲(chǔ)系統(tǒng)被配置成將邏輯存儲(chǔ)位置映射到物理存儲(chǔ)中的物理存儲(chǔ)位置。例如,如圖1所示,存儲(chǔ)陣列106可包括陣列控制器112。陣列控制器112可以被配置成基于存儲(chǔ)設(shè)備IHa-IHn的物理存儲(chǔ)來(lái)向主機(jī)計(jì)算機(jī)102a-102c分配邏輯存儲(chǔ)。例如,陣列控制器112可以被配置成組合存儲(chǔ)陣列106的物理存儲(chǔ)設(shè)備集來(lái)創(chuàng)建RAID(獨(dú)立磁盤(pán)冗余陣列)陣列或集。RAID集是存儲(chǔ)設(shè)備IHa-IHn的邏輯構(gòu)造??梢栽谟糜诖鎯?chǔ)陣列106的各種類(lèi)型的RAID集中配置存儲(chǔ)陣列106。RAID集的一個(gè)示例是“RAID 1”,其中, 存儲(chǔ)設(shè)備IHa-IHn包括鏡像存儲(chǔ)設(shè)備。更多類(lèi)型的RAID集可以可另選地被包括在存儲(chǔ)陣列106中,包括RAID 0、RAID 5,RAID 6,以及RAID 10配置,這些對(duì)相關(guān)領(lǐng)域技術(shù)人員是已知的。陣列控制器112可以使用RAID集中的可使用存儲(chǔ)空間的某些部分來(lái)生成硬驅(qū)動(dòng)器的叫做LUN(邏輯單元號(hào))的虛擬表示。計(jì)算機(jī)10加-102(3中的每一個(gè)都可以具有通過(guò)陣列控制器112向它展示的一個(gè)或多個(gè)LUN,以便進(jìn)行存儲(chǔ)訪問(wèn)。例如,圖2示出了圖1的計(jì)算和數(shù)據(jù)存儲(chǔ)系統(tǒng)100的框圖,其中,存儲(chǔ)陣列106通過(guò)陣列控制器106以虛擬存儲(chǔ)202的形式被呈現(xiàn)給主機(jī)計(jì)算機(jī)10加-102(3。如圖2所示,虛擬存儲(chǔ)202包括多個(gè)LUN 204a-2(Mm。LUN204a_2(Mm各自由陣列控制器112作為存儲(chǔ)設(shè)備 lHa-114n(在圖1中所示出的)的存儲(chǔ)的一部分來(lái)生成的,該部分可以作為虛擬存儲(chǔ)呈現(xiàn)給計(jì)算機(jī)10加-102(3中的一個(gè)。例如,圖3示出了存儲(chǔ)設(shè)備300的框圖,這是圖1所示的存儲(chǔ)設(shè)備IHa-IHn中的一個(gè)的示例。如圖3所示,存儲(chǔ)設(shè)備300在邏輯上被分成多個(gè)LUN 302a-302oo每一個(gè)LUN 302都可以是存儲(chǔ)設(shè)備300的任何部分,包括完整的硬盤(pán)、硬盤(pán)的一部分(例如,塊的范圍)、主軸、存儲(chǔ)器設(shè)備的存儲(chǔ)器區(qū)域,等等。每一個(gè)LUN 302都可以被展示給主機(jī)計(jì)算機(jī)。主機(jī)計(jì)算機(jī)的操作系統(tǒng)與LUN 302進(jìn)行交互,好像它是物理存儲(chǔ)。回顧圖2,雖然示出了 LUN 204a-204m,但是,在存儲(chǔ)陣列106中可以包括任何數(shù)量的LUN 204,包括數(shù)百、數(shù)千,或者甚至更多數(shù)量的LUN204。此外,還可以向計(jì)算機(jī) 102a-102c中的每一個(gè)呈現(xiàn)任何數(shù)量的LUN204。每一個(gè)LUN 204都包括多個(gè)可尋址的數(shù)據(jù)塊。LUN 2(Ma-204中的特定數(shù)據(jù)塊可以由計(jì)算機(jī)102通過(guò)標(biāo)識(shí)特定LUN,并通過(guò)以一個(gè)或多個(gè)邏輯塊地址(LBA)的形式提供該特定LUN內(nèi)的偏移或位置來(lái)尋址。各種類(lèi)型的數(shù)據(jù)和/或應(yīng)用程序都可以被存儲(chǔ)在虛擬存儲(chǔ)202中。這樣的數(shù)據(jù)和應(yīng)用程序此處被稱(chēng)為“數(shù)據(jù)集”。數(shù)據(jù)集的一個(gè)示例是虛擬機(jī)。虛擬機(jī)是物理計(jì)算機(jī)的軟件實(shí)現(xiàn),其類(lèi)似于物理計(jì)算機(jī)執(zhí)行程序?!跋到y(tǒng)虛擬機(jī)”可以提供完整的計(jì)算機(jī)平臺(tái),包括操作系統(tǒng)。這樣的系統(tǒng)虛擬機(jī)可以執(zhí)行一個(gè)或多個(gè)程序?!斑M(jìn)程虛擬機(jī)”被設(shè)計(jì)成運(yùn)行單個(gè)程序。虛擬機(jī)的示例包括SQL服務(wù)器、web服務(wù)器等等。表示虛擬機(jī)的一個(gè)或多個(gè)文件可以被稱(chēng)為“虛擬映象”。當(dāng)前,對(duì)應(yīng)于虛擬機(jī)的虛擬映象被部署在虛擬存儲(chǔ)系統(tǒng)的孤立的LUN(例如,圖2 所示出的LUN 204中的一個(gè))中。在這樣的虛擬存儲(chǔ)系統(tǒng)中,LUN被展示給主機(jī)計(jì)算機(jī),以使得主機(jī)計(jì)算機(jī)能夠執(zhí)行虛擬機(jī)。當(dāng)由主機(jī)計(jì)算機(jī)實(shí)現(xiàn)大量的虛擬機(jī)(例如,數(shù)百、數(shù)千, 或更多虛擬機(jī))時(shí),向主機(jī)計(jì)算機(jī)展示相等數(shù)量的包含虛擬機(jī)映像的LUN。例如,圖4示出了執(zhí)行多個(gè)虛擬機(jī)40加-402 的主機(jī)計(jì)算機(jī)10 的框圖。此外,圖 4還示出了包括作為虛擬機(jī)40h-402p的存儲(chǔ)被分配給計(jì)算機(jī)10 的多個(gè)LUN 204a-204p 的虛擬存儲(chǔ)202。如圖4所示,LUN 204a-204p中的每一個(gè)都包括虛擬硬驅(qū)動(dòng)器4(Ma_404p 中的相對(duì)應(yīng)的虛擬硬驅(qū)動(dòng)器。虛擬硬驅(qū)動(dòng)器4(Ma-404p是用于對(duì)應(yīng)于虛擬機(jī)40h-402p的數(shù)據(jù)的虛擬存儲(chǔ)位置。例如,虛擬硬驅(qū)動(dòng)器4(Ma-404p可各自存儲(chǔ)由計(jì)算機(jī)10 作為虛擬機(jī)40h-402p中的相對(duì)應(yīng)的一個(gè)虛擬機(jī)來(lái)執(zhí)行的一個(gè)或多個(gè)文件。此外,虛擬硬驅(qū)動(dòng)器 404a-404p中每一個(gè)還可以為虛擬機(jī)4(^a-402p中的相對(duì)應(yīng)的虛擬機(jī)提供虛擬存儲(chǔ)。虛擬機(jī)通過(guò)若干抽象級(jí)別來(lái)訪問(wèn)存儲(chǔ),從虛擬存儲(chǔ)到物理存儲(chǔ)器。某些虛擬機(jī)也可以被稱(chēng)為“虛擬服務(wù)器”。在操作期間,虛擬機(jī)40 可能試圖向其虛擬硬驅(qū)動(dòng)器40 中寫(xiě)入一數(shù)據(jù)塊。計(jì)算機(jī)10 的操作系統(tǒng)(OS)可以攔截該數(shù)據(jù)塊寫(xiě)操作,并可以執(zhí)行轉(zhuǎn)換以確定應(yīng)該相對(duì)于LUN 204a在哪里寫(xiě)入該數(shù)據(jù)塊。例如,虛擬機(jī)40 可能試圖向虛擬硬驅(qū)動(dòng)器40 中寫(xiě)入具有394的LBA的數(shù)據(jù)塊。OS可以確定虛擬硬驅(qū)動(dòng)器40 中的數(shù)據(jù)塊偏移394相當(dāng)于LUN 204a中的9942的LBA。如此,OS可能試圖向LUN 204a的LBA 9942寫(xiě)入數(shù)據(jù)塊。陣列控制器112(在圖1中)可以從主機(jī)計(jì)算機(jī)10 的OS接收對(duì)于LBA 9942 的寫(xiě)入請(qǐng)求,并可以將數(shù)據(jù)塊寫(xiě)入到存儲(chǔ)陣列106中對(duì)應(yīng)于LBA 9擬4的實(shí)際物理位置(例如,在存儲(chǔ)設(shè)備IHa的主軸47和主軸48上的實(shí)際主軸塊12345)。主機(jī)計(jì)算機(jī)10 花費(fèi)大量的資源來(lái)管理和索引LUN 204a-204p以及虛擬機(jī) 40加-402 ,其數(shù)量可以達(dá)數(shù)百、數(shù)千,或者甚至更大的數(shù)量。將LUN204a-204p當(dāng)作好像它們是物理存儲(chǔ)的主機(jī)計(jì)算機(jī)10 監(jiān)視LUN2(Ma-204p以確保它們正常操作,從而實(shí)質(zhì)上管理LUN 204a-204po此外,還可能存在許多到存儲(chǔ)陣列106中的每一個(gè)存儲(chǔ)設(shè)備的路徑,而主機(jī)計(jì)算機(jī)102也可能試圖管理管理每一個(gè)路徑。這導(dǎo)致主機(jī)計(jì)算機(jī)10 要維持需要大量開(kāi)銷(xiāo)。帶有單個(gè)附接的LUN的服務(wù)器管理8個(gè)相關(guān)的設(shè)備是常見(jiàn)的。如果向服務(wù)器展示大量的LUN(以及相對(duì)應(yīng)的多個(gè)路徑),則服務(wù)器可能要花費(fèi)大量時(shí)間發(fā)現(xiàn)路徑和存儲(chǔ)設(shè)備集。在帶有足夠數(shù)量的展示的LUN的情況下,服務(wù)器可能變得沒(méi)有響應(yīng)和/或可能崩潰。如此,利用在孤立的LUN中實(shí)現(xiàn)的虛擬機(jī)來(lái)管理極大量的虛擬機(jī)在現(xiàn)實(shí)上是不可能的。在一個(gè)實(shí)施例中,提供了可以存儲(chǔ)多個(gè)數(shù)據(jù)集的LUN,包括多個(gè)虛擬機(jī)(作為虛擬硬驅(qū)動(dòng)器來(lái)存儲(chǔ))??梢詫UN劃分為多個(gè)分區(qū)。一個(gè)或多個(gè)數(shù)據(jù)集可以被存儲(chǔ)在每一個(gè)分區(qū)中。結(jié)果,需要訪問(wèn)多個(gè)數(shù)據(jù)集的主機(jī)計(jì)算機(jī)可以通過(guò)單個(gè)LUN,而并非通過(guò)與數(shù)據(jù)集的數(shù)量成比例的數(shù)量的LUN來(lái)訪問(wèn)多個(gè)數(shù)據(jù)集。以此方式,由主機(jī)計(jì)算機(jī)跟蹤的硬件量(例如,被主機(jī)計(jì)算機(jī)視為硬件的LUN)被減少。例如,圖5示出了根據(jù)示例實(shí)施例的LUN 500的框圖。如圖5所示,LUN 500包括多個(gè)分區(qū)506a-606p。此外,每一個(gè)分區(qū)存儲(chǔ)數(shù)據(jù)集508a_508p中的相對(duì)應(yīng)的數(shù)據(jù)集。替換地,可以有一個(gè)以上的數(shù)據(jù)集508被存儲(chǔ)在每一個(gè)分區(qū)506中。通過(guò)允許多個(gè)數(shù)據(jù)集被存儲(chǔ)在一個(gè)LUN中,可以向主機(jī)計(jì)算機(jī)分配較少數(shù)量的LUN,以使得該主機(jī)計(jì)算機(jī)能夠訪問(wèn)相同數(shù)量或更大數(shù)量的數(shù)據(jù)集(例如,每LUN分區(qū)數(shù)量的倍數(shù))。在各實(shí)施例中,陣列控制器或主機(jī)計(jì)算機(jī)可以劃分一 LUN,如圖5所示。例如,圖6 示出了根據(jù)示例實(shí)施例的主機(jī)計(jì)算機(jī)602的框圖。主機(jī)計(jì)算機(jī)602是計(jì)算機(jī)10加-102(3中的一個(gè)的示例。如圖6所示,主機(jī)計(jì)算機(jī)602包括LUN分區(qū)器(partitioner)604。LUN分區(qū)器604被配置成允許主機(jī)計(jì)算機(jī)602將諸如圖5的LUN 500之類(lèi)的LUN劃分為多個(gè)分區(qū) 506。LUN分區(qū)器604可以被配置成以各種方式來(lái)劃分LUN。例如,圖7示出了根據(jù)示例實(shí)施例的提供用于劃分LUN的過(guò)程的流程圖700。在一個(gè)實(shí)施例中,流程圖700可以由圖6 所示出的主機(jī)計(jì)算機(jī)602來(lái)執(zhí)行?;陉P(guān)于流程圖700的討論,其他結(jié)構(gòu)和操作實(shí)施例對(duì)相關(guān)領(lǐng)域技術(shù)人員是顯而易見(jiàn)的。下面描述了流程圖700。如圖7所示,流程圖700從步驟702開(kāi)始。在步驟702中,接收由存儲(chǔ)陣列向第一主機(jī)計(jì)算機(jī)展示的邏輯單元號(hào)(LUN)的指示。例如,在一個(gè)實(shí)施例中,主機(jī)計(jì)算機(jī)602可以從諸如圖2所示出的陣列控制器112之類(lèi)的陣列控制器接收向主機(jī)計(jì)算機(jī)602展示諸如圖 5所示出的LUN 500之類(lèi)的LUN的指示。LUN 500被展示給主機(jī)計(jì)算機(jī)602,以便主機(jī)計(jì)算機(jī)602可以訪問(wèn)作為虛擬存儲(chǔ)的LUN 500??梢酝ㄟ^(guò)LUN標(biāo)識(shí)符(例如,標(biāo)識(shí)號(hào)碼)和由 LUN 500所提供的存儲(chǔ)量來(lái)向主機(jī)計(jì)算機(jī)602指示LUN 500。例如,可以向主機(jī)計(jì)算機(jī)602 提供邏輯塊地址(LBA)的范圍以指示LUN 500的存儲(chǔ)量。在步驟704中,簽名和分區(qū)表被存儲(chǔ)在LUN中。例如,如圖5所示,LUN分區(qū)器604 可以將簽名502和分區(qū)表504存儲(chǔ)在LUN 500中。簽名502是LUN 500的數(shù)字和/或盤(pán)簽名,并可包括各種信息,包括LUN 500的標(biāo)識(shí)信息。分區(qū)表504是被配置成指示由LUN分區(qū)器604在LUN 500中形成的分區(qū)的位置和大小的數(shù)據(jù)結(jié)構(gòu)。在步驟706中,將LUN分區(qū)劃分為多個(gè)分區(qū)。在一實(shí)施例中,LUN分區(qū)器604被配置成將LUN 500劃分為多個(gè)分區(qū)506a-506p。根據(jù)主機(jī)計(jì)算機(jī)602的需要,LUN 500可以具有任何數(shù)量的分區(qū)506,并可以符合LUN500的存儲(chǔ)量。LUN分區(qū)器604生成分區(qū)506,并在分區(qū)表504中指示分區(qū)506。例如,LUN分區(qū)器604可以以與基LBA(例如,LBA 0)的LBA 偏移的形式在分區(qū)表504中指示分區(qū)506a-506p。例如,分區(qū)表504可以指示簽名502在 LUN 500中的LBA范圍(例如,LBA 0到LBA 600),分區(qū)表504的LBA范圍(例如,LBA 601 到 LBA 10000),分區(qū) 506a 的 LBA 范圍(例如,LBA 10001 到 LBA 123456),分區(qū) 506b 的 LBA 范圍(例如,LBA 123457 到 LBA 654321),分區(qū) 506c 的 LBA 范圍(例如,LBA 654322LBA 999999)等等。在步驟708中,多個(gè)數(shù)據(jù)集被存儲(chǔ)在多個(gè)分區(qū)中。例如,如圖5所示,主機(jī)計(jì)算機(jī) 602可以將數(shù)據(jù)集508a-508p中的一個(gè)(或多個(gè))存儲(chǔ)在分區(qū)506a_506p中的每一個(gè)中。 如上文所描述的,數(shù)據(jù)集508可以是形成諸如虛擬機(jī)(虛擬機(jī)硬驅(qū)動(dòng)器)之類(lèi)的數(shù)據(jù)和/ 或應(yīng)用程序等等的一個(gè)或多個(gè)文件。例如,類(lèi)似于圖4所示出的主機(jī)計(jì)算機(jī)10 ,主機(jī)計(jì)算機(jī)602可以操作多個(gè)虛擬機(jī)40加-402 ,每一個(gè)虛擬機(jī)都具有被作為圖5所示出的數(shù)據(jù)集 508a-508p中的一個(gè)數(shù)據(jù)集存儲(chǔ)的相對(duì)應(yīng)的虛擬硬驅(qū)動(dòng)器。由于多個(gè)虛擬硬驅(qū)動(dòng)器可以被存儲(chǔ)在LUN 500中(作為數(shù)據(jù)集508),因此,對(duì)于相同或者甚至較大數(shù)量的虛擬機(jī),主機(jī)計(jì)算機(jī)602具有較少的LUN來(lái)管理,從而允許主機(jī)計(jì)算機(jī)602以較高級(jí)別的存儲(chǔ)性能支持較大數(shù)量的虛擬機(jī)。此外,實(shí)現(xiàn)從存儲(chǔ)多個(gè)數(shù)據(jù)集的LUN “旋轉(zhuǎn)”數(shù)據(jù)集和/或分區(qū)的能力。例如,LUN 500可以將數(shù)據(jù)集508a-508p作為數(shù)據(jù)存儲(chǔ)的形式存儲(chǔ)在多個(gè)分區(qū)中,數(shù)據(jù)集508a_508p中的個(gè)體數(shù)據(jù)集可以被從LUN 500復(fù)制到與進(jìn)一步的主機(jī)計(jì)算機(jī)相關(guān)聯(lián)的相應(yīng)的LUN。進(jìn)一步的主機(jī)計(jì)算機(jī)可以訪問(wèn)相應(yīng)的LUN中的數(shù)據(jù)集。如此,數(shù)據(jù)集的所有權(quán)可以被從第一主機(jī)計(jì)算機(jī)旋轉(zhuǎn)到第二主機(jī)計(jì)算機(jī),給該主機(jī)計(jì)算機(jī)提供了對(duì)專(zhuān)用LUN的形式的數(shù)據(jù)集的訪問(wèn)。此外,當(dāng)?shù)诙鳈C(jī)計(jì)算機(jī)不再需要訪問(wèn)數(shù)據(jù)集時(shí),通過(guò)將數(shù)據(jù)集從專(zhuān)用LUN復(fù)制回多分區(qū)LUN,第二主機(jī)計(jì)算機(jī)可以將數(shù)據(jù)集的所有權(quán)旋轉(zhuǎn)回第一主機(jī)計(jì)算機(jī)。將多個(gè)數(shù)據(jù)集存儲(chǔ)在LUN中,以及將對(duì)數(shù)據(jù)集的訪問(wèn)旋轉(zhuǎn)到其他LUN的能力,使得主機(jī)計(jì)算機(jī)的虛擬機(jī)管理器能將從管理相對(duì)少數(shù)量的虛擬機(jī)擴(kuò)展到管理數(shù)萬(wàn),成千上萬(wàn), 或者甚至更大數(shù)量的虛擬機(jī)。此外,存儲(chǔ)陣列還被允許將當(dāng)前沒(méi)有被使用的LUN放回多分區(qū)LUN中。當(dāng)前,市場(chǎng)上銷(xiāo)售的存儲(chǔ)陣列可以存儲(chǔ)固定數(shù)量的LUN。例如,由位于麻省霍普金頓(Hopkinton)市的EMC公司生產(chǎn)的EMC CLARiiON 系列只能支持4096個(gè)LUN。根據(jù)此處所描述的允許數(shù)據(jù)集在被需要之前暫停的各實(shí)施例,存儲(chǔ)陣列可以比按常規(guī)方式存儲(chǔ)多 10倍的LUN。例如,在特定時(shí)間,可以由存儲(chǔ)陣列展示4096個(gè)LUN,但是,允許對(duì)于40,000 個(gè)數(shù)據(jù)集的長(zhǎng)期存儲(chǔ)。值得注意的是,標(biāo)準(zhǔn)文件服務(wù)器可以將許多數(shù)據(jù)集存儲(chǔ)在可以被用來(lái)分發(fā)數(shù)據(jù)集的網(wǎng)絡(luò)共享上。然而,如上文所描述的,當(dāng)與對(duì)文件系統(tǒng)的粗(例如,塊級(jí)別)訪問(wèn)相比時(shí), 網(wǎng)絡(luò)附加的文件系統(tǒng)缺乏速度和功能。許多高級(jí)功能對(duì)塊級(jí)別訪問(wèn)系統(tǒng)可用而在網(wǎng)絡(luò)附連的文件系統(tǒng)上不可用。例如,網(wǎng)絡(luò)附連的文件系統(tǒng)可以將一組虛擬硬驅(qū)動(dòng)器分散到一組驅(qū)動(dòng)器中,以使得虛擬硬驅(qū)動(dòng)器不再是連續(xù)的。相比之下,在塊級(jí)別訪問(wèn)系統(tǒng)中,可以將不同的虛擬硬驅(qū)動(dòng)器置于LUN的每一個(gè)分區(qū)中。由于每一個(gè)分區(qū)的起始?jí)K和末端塊是已知的, 因此,實(shí)現(xiàn)了完整的塊級(jí)別局部性。結(jié)果,向主機(jī)計(jì)算機(jī)展示的LUN的數(shù)量被減少,并實(shí)現(xiàn)了性能的連續(xù)性和局部性。在下一節(jié)描述了將多分區(qū)LUN的數(shù)據(jù)集/分區(qū)旋轉(zhuǎn)到進(jìn)一步的LUN的示例,并在隨后的一節(jié)描述了將LUN的數(shù)據(jù)集旋轉(zhuǎn)到多分區(qū)LUN的分區(qū)的示例。III.用于將數(shù)據(jù)集/LUN分區(qū)旋轉(zhuǎn)到LUN的示例實(shí)施例在一個(gè)實(shí)施例中,對(duì)數(shù)據(jù)集的訪問(wèn)可以從第一主機(jī)計(jì)算機(jī)旋轉(zhuǎn)到第二主機(jī)計(jì)算機(jī)。例如,可以執(zhí)行對(duì)數(shù)據(jù)集的旋轉(zhuǎn)以提供對(duì)第二主機(jī)計(jì)算機(jī)處數(shù)據(jù)集的訪問(wèn),因?yàn)榈诙鳈C(jī)計(jì)算機(jī)不比第一主機(jī)計(jì)算機(jī)繁忙,或由于其他理由??梢砸愿鞣N方式執(zhí)行這樣的旋轉(zhuǎn),包括配置存儲(chǔ)陣列的陣列控制器來(lái)執(zhí)行旋轉(zhuǎn)。例如,圖8示出了根據(jù)示例實(shí)施例的陣列控制器802的框圖。陣列控制器802類(lèi)似于上文所描述的陣列控制器112 (圖1和幻,帶有如下文所描述的區(qū)別。如圖8所示,陣列控制器802包括數(shù)據(jù)集旋轉(zhuǎn)模塊804。數(shù)據(jù)集旋轉(zhuǎn)模塊 804使陣列控制器802能旋轉(zhuǎn)對(duì)數(shù)據(jù)集的訪問(wèn)。例如,數(shù)據(jù)集旋轉(zhuǎn)模塊804可以被配置成執(zhí)行圖9所示出的步驟902。在步驟902中,通過(guò)將包含數(shù)據(jù)集的LUN分區(qū)映射到第二 LUN, 將對(duì)數(shù)據(jù)集的訪問(wèn)從第一主機(jī)計(jì)算機(jī)旋轉(zhuǎn)到第二主機(jī)計(jì)算機(jī)。可以以各種方式來(lái)配置陣列控制器802以執(zhí)行步驟902,并可以以各種方式來(lái)執(zhí)行步驟902。例如,圖10示出了根據(jù)示例實(shí)施例的提供用于將數(shù)據(jù)集從第一主機(jī)計(jì)算機(jī)旋轉(zhuǎn)到第二主機(jī)計(jì)算機(jī)的過(guò)程的流程圖1000。流程圖1000是圖9所示出的步驟902的示例, 在一個(gè)實(shí)施例中,可以由圖8所示出的陣列控制器802來(lái)執(zhí)行。例如,圖11示出了根據(jù)示例實(shí)施例的陣列控制器802的框圖。為了說(shuō)明,參考圖11所示出的陣列控制器802的示例描述了流程圖1000。如圖11所示,陣列控制器802包括LUN分配器1102和數(shù)據(jù)集旋轉(zhuǎn)模塊804。數(shù)據(jù)集旋轉(zhuǎn)模塊804包括旋轉(zhuǎn)請(qǐng)求接收器1104、LUN生成器1106,以及分區(qū)復(fù)制器 1108?;陉P(guān)于流程圖1000的討論,其他結(jié)構(gòu)和操作實(shí)施例對(duì)相關(guān)領(lǐng)域技術(shù)人員是顯而易見(jiàn)的。出于例示的目的,下面參考圖12描述了流程圖1000,該圖示出了根據(jù)示例實(shí)施例的計(jì)算和數(shù)據(jù)存儲(chǔ)系統(tǒng)1200的框圖。如圖12所示,系統(tǒng)1200包括第一和第二主機(jī)計(jì)算機(jī) 102a和102b,以及存儲(chǔ)陣列1202。存儲(chǔ)陣列1202包括虛擬存儲(chǔ)1204和陣列控制器802。 虛擬存儲(chǔ)1204包括第一 LUN500和第二 LUN 1206 (為了簡(jiǎn)潔起見(jiàn),可以存在在圖12中未示出的額外的LUN)。圖12示出了從第一主機(jī)計(jì)算機(jī)10 旋轉(zhuǎn)到第二主機(jī)計(jì)算機(jī)102b的數(shù)據(jù)集508a。如圖10所示,流程圖1000從步驟1002開(kāi)始。在步驟1002中,第一邏輯單元號(hào) (LUN)從存儲(chǔ)陣列向第一主機(jī)計(jì)算機(jī)展示。例如,在一個(gè)實(shí)施例中,可以由LUN分配器1102 來(lái)執(zhí)行步驟1002。參考圖12,LUN分配器1102可以將展示的LUN指示信號(hào)1218傳輸?shù)接?jì)算機(jī)102a(例如,通過(guò)諸如圖1和2所示出的通信介質(zhì)),該指示信號(hào)指示第一 LUN 500被分配給計(jì)算機(jī)10加。例如,展示的LUN指示信號(hào)1218可包括第一 LUN 500的標(biāo)識(shí)符(例如,標(biāo)識(shí)號(hào)碼、地址等等)和第一 LUN 500中所包括的存儲(chǔ)量。在步驟1002之后,第一主機(jī)計(jì)算機(jī)10 可以訪問(wèn)第一 LUN 500的存儲(chǔ)器,包括將數(shù)據(jù)存儲(chǔ)在LUN 500中,以及從LUN 500檢索數(shù)據(jù)。例如,第一主機(jī)計(jì)算機(jī)10 可以執(zhí)行上文所描述的流程圖700(圖7),包括接收LUN 500的指示(步驟70 ,將簽名502和分區(qū)表504存儲(chǔ)在LUN 500中(步驟704),劃分LUN 500以創(chuàng)建分區(qū)506a、506b等等(步驟 706),以及將數(shù)據(jù)集508a、508b等等分別存儲(chǔ)在分區(qū)506a、506b等等中(步驟708)。在特定時(shí)間,第一主機(jī)計(jì)算機(jī)10 可以確定LUN 500的數(shù)據(jù)集將被旋轉(zhuǎn)到另一主機(jī)計(jì)算機(jī)。例如,可能希望將數(shù)據(jù)集旋轉(zhuǎn)到不太繁忙的主機(jī)計(jì)算機(jī)。如此,第一主機(jī)計(jì)算機(jī)10 可以執(zhí)行圖13所示出的流程圖1300。下面描述了流程圖1300。在流程圖1300的步驟1302中,對(duì)多個(gè)分區(qū)中的存儲(chǔ)了多個(gè)數(shù)據(jù)集中的一個(gè)數(shù)據(jù)集的分區(qū)的訪問(wèn)被關(guān)閉。例如,第一主機(jī)計(jì)算機(jī)10 可以關(guān)閉對(duì)存儲(chǔ)數(shù)據(jù)集508a的第一分區(qū)506a的訪問(wèn),以準(zhǔn)備要被旋轉(zhuǎn)的數(shù)據(jù)集508a。在一個(gè)實(shí)施例中,第一主機(jī)計(jì)算機(jī)10 可以關(guān)閉其到數(shù)據(jù)集508a 的打開(kāi)的句柄,一旦數(shù)據(jù)集508a不再被訪問(wèn),第一主機(jī)計(jì)算機(jī)10 的邏輯盤(pán)管理器就可以移除驅(qū)動(dòng)器號(hào)以及到分區(qū)506a的映射。這確保了第一主機(jī)計(jì)算機(jī)10 停止讀取和/或向第一分區(qū)506a的寫(xiě)入。在步驟1304中,將關(guān)于存儲(chǔ)數(shù)據(jù)集的分區(qū)的旋轉(zhuǎn)請(qǐng)求傳送到存儲(chǔ)陣列。例如,如圖12所示,第一主機(jī)計(jì)算機(jī)10 可以將旋轉(zhuǎn)請(qǐng)求信號(hào)1702傳送到存儲(chǔ)陣列1202(例如,通過(guò)諸如圖1和2所示出的通信介質(zhì))以請(qǐng)求將數(shù)據(jù)集508a旋轉(zhuǎn)到另一主機(jī)計(jì)算機(jī)?;仡櫫鞒虉D1000(圖10),在步驟1004中,從第一主機(jī)計(jì)算機(jī)接收關(guān)于存儲(chǔ)第一 LUN的多個(gè)分區(qū)中的數(shù)據(jù)集的第一分區(qū)的旋轉(zhuǎn)請(qǐng)求。例如,在一個(gè)實(shí)施例中,步驟1004可以由旋轉(zhuǎn)請(qǐng)求接收器1104來(lái)執(zhí)行。如圖12所示,旋轉(zhuǎn)請(qǐng)求接收器1104可以從第一主機(jī)計(jì)算機(jī)10 接收指示第一分區(qū)506a的數(shù)據(jù)集508a將被旋轉(zhuǎn)的旋轉(zhuǎn)請(qǐng)求信號(hào)1220。結(jié)果,旋轉(zhuǎn)請(qǐng)求接收器1104可以向LUN生成器1106指示,LUN被生成以容納數(shù)據(jù)集508a。在步驟1006中,確定第一 LUN中的第一分區(qū)的大小。例如,在一個(gè)實(shí)施例中,可以由LUN生成器1106來(lái)執(zhí)行步驟1006。LUN生成器1106可以以任何方式來(lái)確定第一分區(qū) 506a的大小。例如,參考圖12,LUN生成器1106可以訪問(wèn)分區(qū)表504來(lái)確定分配給第一分區(qū)506a的LBA的偏移和/或范圍。在另一實(shí)施例中,第一主機(jī)計(jì)算機(jī)10 可包括由旋轉(zhuǎn)請(qǐng)求接收器1104接收到的旋轉(zhuǎn)請(qǐng)求信號(hào)1220中的第一分區(qū)506a的指示,而旋轉(zhuǎn)請(qǐng)求接收器1104可以向LUN生成器1106提供大小指示。在步驟1008中,生成指示第二分區(qū)的位置和大小的分區(qū)表。例如,在一個(gè)實(shí)施例中,可以由LUN生成器1106執(zhí)行步驟1008。LUN生成器1106可以被配置成生成指示被配置成將數(shù)據(jù)集508a存儲(chǔ)在新LUN中的第二分區(qū)的分區(qū)表。生成分區(qū)表以指示新LUN中的第二分區(qū)的位置(例如,LBA偏移)和大小(例如,起始LBA和結(jié)束LBA)。在一個(gè)實(shí)施例中,分區(qū)表包括對(duì)第二分區(qū)的引用,但沒(méi)有對(duì)其他分區(qū)的引用,而所生成的分區(qū)表中的第二分區(qū)的指示緊隨在為新LUN所生成的簽名之后。在步驟1010中,生成存儲(chǔ)陣列的第二 LUN以具有被配置成容納第二 LUN的簽名、 分區(qū)表,以及第二分區(qū)的大小。例如,在一個(gè)實(shí)施例中,可以由LUN生成器1106執(zhí)行步驟 1010。LUN生成器1106被配置成分配要被包括在虛擬存儲(chǔ)1204中的第二 LUN中的存儲(chǔ)陣列1202的物理存儲(chǔ)量。例如,如圖12所示,LUN生成器1106可以生成第二 LUN 1206。生成第二 LUN 1206以具有被配置成容納簽名、在步驟1008中所生成的分區(qū)表,以及第二分區(qū)的大小。在步驟1012中,簽名和分區(qū)表被存儲(chǔ)在第二 LUN中。例如,在一個(gè)實(shí)施例中,可以由LUN生成器1106執(zhí)行步驟1012。例如,如圖12所示,LUN生成器1106將簽名1208和分區(qū)表1210存儲(chǔ)在第二 LUN 1206中。簽名1208包括第二 LUN 1206的標(biāo)識(shí)信息,而分區(qū)表 1210是在步驟1008中所生成的。在步驟1014中,第一分區(qū)被從第一 LUN復(fù)制到第二 LUN中的由第二分區(qū)的分區(qū)表中指示的位置處。例如,在一個(gè)實(shí)施例中,步驟1014可以由分區(qū)復(fù)制器1108來(lái)執(zhí)行。分區(qū)復(fù)制器1108被配置成將分區(qū)從源LUN復(fù)制到目的地LUN。為啟動(dòng)復(fù)制,LUN生成器1106 可以向分區(qū)復(fù)制器1108指示目的地LUN已經(jīng)被生成。例如,參考圖12,分區(qū)復(fù)制器1108 將第一 LUN500的第一分區(qū)506a(包括數(shù)據(jù)集508a)復(fù)制到第二 LUN 1206中的第二分區(qū) 1212。如圖12所示,數(shù)據(jù)集508a被復(fù)制到第二 LUN 1206的分區(qū)1212中(如由虛線所指示的)。分區(qū)復(fù)制器1108可以以任何方式執(zhí)行分區(qū)復(fù)制,包括通過(guò)那些本領(lǐng)域技術(shù)人員已知的技術(shù)。例如,分區(qū)復(fù)制器1108可以對(duì)第一分區(qū)506a執(zhí)行快照拍攝(例如,使用寫(xiě)時(shí)復(fù)制(copy-on-write)快照技術(shù))或克隆以生成分區(qū)1212。例如,可以以“snapshot LUN 500 :Partition506a (快照拍攝 LUN 500 分區(qū) 506a) ”或"LUN 500 LBA start-LBA end (LUN 500 :LBA起始-LBA結(jié)束)”的形式發(fā)出復(fù)制命令,其中,“LBA start (LBA起始)”和“LBA end (LBA結(jié)束),,是第一 LUN 500中的第一分區(qū)506a的相應(yīng)的起始和結(jié)束LBA。這樣的復(fù)制操作可以相對(duì)快速地執(zhí)行,諸如在約為幾秒內(nèi)執(zhí)行。在一個(gè)實(shí)施例中,LUN 1206完全由簽名1208,分區(qū)表1210 (可以在簽名1208之后),以及分區(qū)1212 (可以在分區(qū)表1210之后) 來(lái)填充,雖然在其他實(shí)施例中,LUN 1206可包括另外的存儲(chǔ)空間。在步驟1016中,第二 LUN被映射到第二主機(jī)計(jì)算機(jī)。例如,在一實(shí)施例中,可以由 LUN分配器1102來(lái)執(zhí)行步驟1016。例如,類(lèi)似于步驟1002,LUN分配器1102可以將展示的 LUN的指示信號(hào)傳送到第二主機(jī)計(jì)算機(jī)102b (例如,通過(guò)諸如圖1和2所示出的通信介質(zhì)), 該指示信號(hào)指示第二 LUN 1206被分配給第二主機(jī)計(jì)算機(jī)102b。例如,展示的LUN的指示信號(hào)1222可包括第二 LUN 1206的標(biāo)識(shí)符(例如,標(biāo)識(shí)號(hào)碼、地址等等)和第二 LUN 1206中所包括的存儲(chǔ)量。在一個(gè)實(shí)施例中,第二主機(jī)計(jì)算機(jī)102b可以發(fā)出重復(fù)掃描命令以檢測(cè)第二 LUN 1206,并可以通過(guò)展示的LUN的指示信號(hào)1222請(qǐng)求其導(dǎo)入第二 LUN 1206。在導(dǎo)入第二 LUN 1206之后,第二 LUN 1206是可以安裝,并可由第二主機(jī)計(jì)算機(jī) 102b按與直接訪問(wèn)設(shè)備類(lèi)似的方式使用。例如,在一個(gè)實(shí)施例中,第二主機(jī)計(jì)算機(jī)102b可以執(zhí)行圖14所示出的流程圖1400。流程圖1400提供在第二主機(jī)計(jì)算機(jī)102b上實(shí)現(xiàn)的示例過(guò)程。在流程圖1400的步驟1402中,第二主機(jī)計(jì)算機(jī)被允許安裝第二 LUN。例如,LUN 分配器1102使第二主機(jī)計(jì)算機(jī)102b能安裝第二 LUN 1206。如此,第二主機(jī)計(jì)算機(jī)102b可以訪問(wèn)存儲(chǔ)在第二 LUN 1206的分區(qū)1212中的數(shù)據(jù)集508a。例如,如果數(shù)據(jù)集508a是虛擬機(jī)硬驅(qū)動(dòng)器,則第二主機(jī)計(jì)算機(jī)102b可以執(zhí)行數(shù)據(jù)集508a的虛擬機(jī)文件以操作相對(duì)應(yīng)的虛擬機(jī)。如此,在流程圖1400的步驟1404中,第二主機(jī)計(jì)算機(jī)被允許執(zhí)行虛擬機(jī)并訪問(wèn)作為虛擬機(jī)的存儲(chǔ)的虛擬硬驅(qū)動(dòng)器。IV.用于將LUN旋轉(zhuǎn)到數(shù)據(jù)集/LUN分區(qū)的示例實(shí)施例在一個(gè)實(shí)施例中,對(duì)數(shù)據(jù)集的訪問(wèn)可以從第二主機(jī)計(jì)算機(jī)旋轉(zhuǎn)回第一主機(jī)計(jì)算機(jī) (或另一主機(jī)計(jì)算機(jī))。對(duì)數(shù)據(jù)集的這樣的旋轉(zhuǎn)可以被執(zhí)行,因?yàn)榈诙鳈C(jī)計(jì)算機(jī)不需要進(jìn)一步地與數(shù)據(jù)集進(jìn)行交互,且如此,數(shù)據(jù)集引退(retire)(例如,臨時(shí)或最后),或由于其他理由??梢砸愿鞣N方式執(zhí)行這樣的旋轉(zhuǎn),包括使用存儲(chǔ)陣列的陣列控制器來(lái)執(zhí)行旋轉(zhuǎn)。例如,圖8所示出的陣列控制器802可以被配置成在一個(gè)實(shí)施例中執(zhí)行旋轉(zhuǎn)。數(shù)據(jù)集旋轉(zhuǎn)模塊 804可以使陣列控制器802能將對(duì)數(shù)據(jù)集的訪問(wèn)旋轉(zhuǎn)回第一主機(jī)計(jì)算機(jī)(或另一主機(jī)計(jì)算機(jī))。例如,數(shù)據(jù)集旋轉(zhuǎn)模塊804可以被配置成執(zhí)行圖15所示出的步驟1502。在步驟1502 中,通過(guò)將包含數(shù)據(jù)集的LUN映射到LUN分區(qū),對(duì)數(shù)據(jù)集的訪問(wèn)被從第二主機(jī)計(jì)算機(jī)旋轉(zhuǎn)到第一主機(jī)計(jì)算機(jī)。
可以以各種方式來(lái)配置數(shù)據(jù)集旋轉(zhuǎn)模塊804以執(zhí)行步驟1502,并可以以各種方式執(zhí)行步驟1502。例如,圖16示出了根據(jù)示例實(shí)施例的提供用于將數(shù)據(jù)集從第二主機(jī)計(jì)算機(jī)旋轉(zhuǎn)到第一主機(jī)計(jì)算機(jī)(或另一主機(jī)計(jì)算機(jī))的過(guò)程的流程圖1600。流程圖1600是圖15 所示出的步驟1502的示例,且在一個(gè)實(shí)施例中,可以由圖11所示出的陣列控制器802來(lái)執(zhí)行?;陉P(guān)于流程圖1600的討論,其他結(jié)構(gòu)和操作實(shí)施例對(duì)相關(guān)領(lǐng)域技術(shù)人員是顯而易見(jiàn)的。出于例示的目的,下面參考圖17描述了流程圖1600,該圖示出了根據(jù)示例實(shí)施例的圖12的計(jì)算和數(shù)據(jù)存儲(chǔ)系統(tǒng)1200的框圖。圖17示出了從第二主機(jī)計(jì)算機(jī)102b旋轉(zhuǎn)到第一主機(jī)計(jì)算機(jī)10 的數(shù)據(jù)集508a。如圖16所示,流程圖1600從步驟1602開(kāi)始。在步驟1602中,存儲(chǔ)陣列的第一 LUN被展示給第一主機(jī)計(jì)算機(jī),而存儲(chǔ)陣列的第二 LUN被展示給第二主機(jī)計(jì)算機(jī)。例如,參考圖17,第一 LUN 500可以被展示給第一主機(jī)計(jì)算機(jī)10加,而第二 LUN 1206可以被展示給第二主機(jī)計(jì)算機(jī)102b。在一個(gè)實(shí)施例中,如上文所描述的第一 LUN 500可能已經(jīng)根據(jù)流程圖1000的步驟1002(圖10)被展示給第一主機(jī)計(jì)算機(jī)102a,而第二 LUN 1206可能已經(jīng)根據(jù)流程圖1000的步驟1016被展示給第二主機(jī)計(jì)算機(jī)102b。在特定時(shí)間,第二主機(jī)計(jì)算機(jī)102b可以確定數(shù)據(jù)集508a將被旋轉(zhuǎn)回第一主機(jī)計(jì)算機(jī)10 (或另一主機(jī)計(jì)算機(jī))。如此,第二主機(jī)計(jì)算機(jī)102b可以執(zhí)行圖18所示出的流程圖1800。下面描述了流程圖1800。在流程圖1800的步驟1802中,關(guān)閉對(duì)將數(shù)據(jù)集存儲(chǔ)在向第二主機(jī)展示的邏輯單元號(hào)(LUN)中的分區(qū)的訪問(wèn)。例如,第二主機(jī)計(jì)算機(jī)102b可以關(guān)閉對(duì)第二 LUN 1206的存儲(chǔ)數(shù)據(jù)集508a的分區(qū)1212的訪問(wèn),以準(zhǔn)備要被旋轉(zhuǎn)的數(shù)據(jù)集 508a。在一個(gè)實(shí)施例中,第二主機(jī)計(jì)算機(jī)102b可以關(guān)閉到數(shù)據(jù)集508a的任何打開(kāi)的句柄, 并且一旦數(shù)據(jù)集508a不再被訪問(wèn),第二主機(jī)計(jì)算機(jī)102b的邏輯盤(pán)管理器就可以刪除驅(qū)動(dòng)器號(hào)以及到分區(qū)1212的映射。這確保了第二主機(jī)計(jì)算機(jī)102b停止讀取和/或向分區(qū)1212 的寫(xiě)入。在步驟1804中,可以將使LUN引退的請(qǐng)求傳送到存儲(chǔ)陣列。例如,如圖18所示, 第二主機(jī)計(jì)算機(jī)102b可以將引退或旋轉(zhuǎn)請(qǐng)求信號(hào)1702傳送到存儲(chǔ)陣列1202(例如,通過(guò)諸如圖1和2所示出的通信介質(zhì))以請(qǐng)求使數(shù)據(jù)集508a引退和/或旋轉(zhuǎn)到另一主機(jī)計(jì)算機(jī)?;仡櫫鞒虉D1600(圖16),在步驟1604中,從第二主機(jī)計(jì)算機(jī)接收使第二 LUN引退的請(qǐng)求。例如,在一個(gè)實(shí)施例中,步驟1604可以由旋轉(zhuǎn)請(qǐng)求接收器1104來(lái)執(zhí)行。如圖17 所示,旋轉(zhuǎn)請(qǐng)求接收器1104可以從第二主機(jī)計(jì)算機(jī)102b接收引退請(qǐng)求信號(hào)1702。引退請(qǐng)求信號(hào)1702可以展示被存儲(chǔ)在分區(qū)1212中的數(shù)據(jù)集508a將被旋轉(zhuǎn)回作為存儲(chǔ)庫(kù)來(lái)操作的多分區(qū)LUN。在步驟1606中,確定第二 LUN中的分區(qū)的大小。例如,在一個(gè)實(shí)施例中,可以由LUN 生成器1106執(zhí)行步驟1606。LUN生成器1106可以以任何方式確定分區(qū)(例如,分區(qū)1212) 的大小。例如,參考圖17,LUN生成器1106可以訪問(wèn)LUN 1206的分區(qū)表1210來(lái)確定分配給分區(qū)1212的LBA的偏移和/或范圍。在另一實(shí)施例中,第二主機(jī)計(jì)算機(jī)102b可包括由旋轉(zhuǎn)請(qǐng)求接收器1104接收到的引退請(qǐng)求信號(hào)1702中的分區(qū)1212的大小的指示,而旋轉(zhuǎn)請(qǐng)求接收器1104可以向LUN生成器1106提供大小指示。在步驟1608中,數(shù)據(jù)集的副本被存儲(chǔ)在第一 LUN中。例如,在一個(gè)實(shí)施例中,步驟
141608可以由分區(qū)復(fù)制器1108來(lái)執(zhí)行。如上文所描述的,分區(qū)復(fù)制器1108可以被配置成將分區(qū)從源LUN復(fù)制到目的地LUN。例如,參考圖17,如果分區(qū)1212具有不超過(guò)(例如,等于或小于)分區(qū)506a的大小的大小(在步驟1606中確定的),則分區(qū)復(fù)制器1108可以將第二 LUN1206的分區(qū)1212(包括數(shù)據(jù)集508a)復(fù)制到第一 LUN 500中的第一分區(qū)506a,或者也可以將分區(qū)1212復(fù)制到第一 LUN 500的另一個(gè)分區(qū)。在一個(gè)實(shí)施例中,如果第二 LUN 1206中的分區(qū)1212的大小超過(guò)第一 LUN 500中的第一分區(qū)506a的大小,則可以由陣列控制器802通過(guò)將存儲(chǔ)陣列1202的存儲(chǔ)區(qū)域追加到第一 LUN 500來(lái)增大第一 LUN 500的大小(例如,可以使第一 LUN的大小擴(kuò)大)。在這樣的情況下,數(shù)據(jù)集508a的副本可以被存儲(chǔ)在追加到第一 LUN 500的存儲(chǔ)區(qū)域中。第一主機(jī)計(jì)算機(jī)10 可以卸載和重新安裝第一 LUN 500以便能夠訪問(wèn)追加的存儲(chǔ)區(qū)域。在圖17的示例中,數(shù)據(jù)集508a被復(fù)制到第一 LUN 500的第一分區(qū)506a中(如由虛線所指示的)。分區(qū)復(fù)制器1108可以執(zhí)行以任何方式執(zhí)行分區(qū)復(fù)制,如那些本領(lǐng)域技術(shù)人員所知的,包括上文參考流程圖1000(圖10)的步驟1014所描述的技術(shù)。這樣的復(fù)制操作可以相對(duì)快速地執(zhí)行,包括在約為幾秒內(nèi)執(zhí)行。在步驟1610中,第一 LUN的分區(qū)表被更新以包括對(duì)應(yīng)于第一 LUN的存儲(chǔ)了數(shù)據(jù)集的副本的存儲(chǔ)區(qū)域的分區(qū)。例如,在一個(gè)實(shí)施例中,可以由LUN生成器1106執(zhí)行步驟1610。 在圖17的示例中,LUN生成器1106可以被配置成根據(jù)數(shù)據(jù)集508a被復(fù)制到第一 LUN 500 的第一分區(qū)506a或其他分區(qū)來(lái)更新第一 LUN 500的分區(qū)表504。如果第一 LUN 500被擴(kuò)展以創(chuàng)建用于存儲(chǔ)數(shù)據(jù)集508a的新分區(qū),則由LUN生成器1106在分區(qū)表504中展示新分區(qū)的位置和/或大小。然后,第一主機(jī)計(jì)算機(jī)10 可以取消安裝和重新安裝第一 LUN 500,以更新第一主機(jī)計(jì)算機(jī)10 的存儲(chǔ)器/緩存中的分區(qū)表——如果需要的話。此處所描述的實(shí)施例使諸如虛擬機(jī)文件之類(lèi)的數(shù)據(jù)集能被存儲(chǔ)在多分區(qū)LUN中, 并實(shí)時(shí)地作為一個(gè)或多個(gè)文件被存儲(chǔ)在專(zhuān)用LUN中,該專(zhuān)用LUN可以向主機(jī)計(jì)算機(jī)展示。多分區(qū)LUN可以作為虛擬硬驅(qū)動(dòng)器的合并庫(kù)來(lái)操作。當(dāng)希望部署數(shù)據(jù)集時(shí),數(shù)據(jù)集被轉(zhuǎn)換為 LUN并被分配給目的地主機(jī)。多分區(qū)LUN的包含所希望的數(shù)據(jù)集的分區(qū)可以被相對(duì)快速地復(fù)制(例如,每T字節(jié)數(shù)秒)到專(zhuān)用LUN(例如,使用硬件寫(xiě)時(shí)復(fù)制快照技術(shù))。然后,被復(fù)制到專(zhuān)用LUN中的數(shù)據(jù)集可以被展示給新服務(wù)器,并作為直接附連的LUN被訪問(wèn)。此技術(shù)可以被用來(lái)迅速部署虛擬機(jī),可以被用來(lái)在較大的數(shù)據(jù)庫(kù)上進(jìn)行數(shù)據(jù)挖掘,和/或可以被用來(lái)允許存儲(chǔ)陣列擴(kuò)展到其常規(guī)LUN映射限制的10倍或100倍,使存儲(chǔ)陣列能用作長(zhǎng)期儲(chǔ)存庫(kù)。這樣的存儲(chǔ)陣列可以被允許模擬虛擬磁帶庫(kù),因?yàn)榭梢栽诖鎯?chǔ)陣列內(nèi)重新映射自動(dòng)加載器命令,以允許分區(qū)被重新填充回離散的LUN中。V.其他示例實(shí)施例可以以硬件、軟件、固件,或其任何組合來(lái)實(shí)現(xiàn)陣列控制器(圖1,2)、LUN分區(qū)器 604(圖6)、陣列控制器802(圖8、11、12、17)、數(shù)據(jù)集旋轉(zhuǎn)模塊804(圖8、11、12、17)、LUN 分配器1102(圖11、12、17)、旋轉(zhuǎn)請(qǐng)求接收器1104(圖11、12、17)、LUN生成器1106(圖11、 12、17),以及分區(qū)復(fù)制器1108(圖11、12、17)。例如,陣列控制器112、LUN分區(qū)器604、陣列控制器802、數(shù)據(jù)集旋轉(zhuǎn)模塊804、LUN分配器1102、旋轉(zhuǎn)請(qǐng)求接收器1104、LUN生成器1106 和/或分區(qū)復(fù)制器1108可以被實(shí)現(xiàn)為被配置成在一個(gè)或多個(gè)處理器中執(zhí)行的計(jì)算機(jī)程序代碼??闪磉x地,陣列控制器112、LUN分區(qū)器604、陣列控制器802、數(shù)據(jù)集旋轉(zhuǎn)模塊804、LUN分配器1102、旋轉(zhuǎn)請(qǐng)求接收器1104、LUN生成器1106和/或分區(qū)復(fù)制器1108可以被實(shí)現(xiàn)為硬件邏輯/電路。圖19描繪了其中可以實(shí)現(xiàn)本發(fā)明的各實(shí)施例的計(jì)算機(jī)1900的示例性實(shí)現(xiàn)。例如, 可以類(lèi)似于計(jì)算機(jī)1900實(shí)現(xiàn)計(jì)算機(jī)10加-102(3(圖1、12、17)和/或計(jì)算機(jī)602 (圖6),并可包括計(jì)算機(jī)1900的一個(gè)或多個(gè)特征和/或替換性特征。計(jì)算機(jī)1900可以是例如常規(guī)個(gè)人計(jì)算機(jī)、移動(dòng)計(jì)算機(jī)或工作站形式的通用計(jì)算設(shè)備,或者,計(jì)算機(jī)1900可以是特殊用途的計(jì)算設(shè)備。此處所提供的對(duì)計(jì)算機(jī)1900的描述只是為了說(shuō)明,并不是限制性的。如相關(guān)領(lǐng)域的技術(shù)人員所知道的,本發(fā)明的各實(shí)施例可以在其他類(lèi)型的計(jì)算機(jī)系統(tǒng)中實(shí)現(xiàn)。如圖19所示,計(jì)算機(jī)1900包括處理單元1902、系統(tǒng)存儲(chǔ)器1904,以及將包括系統(tǒng)存儲(chǔ)器1904的各種系統(tǒng)組件耦合到處理單元1902的總線1906。系統(tǒng)總線1906表示若干類(lèi)型的總線結(jié)構(gòu)中的任何一種總線結(jié)構(gòu)的一個(gè)或多個(gè),包括存儲(chǔ)器總線或存儲(chǔ)器控制器、 外圍總線、加速圖形端口,以及使用各種總線體系結(jié)構(gòu)中的任何一種的處理器或局部總線。 系統(tǒng)存儲(chǔ)器1904包括只讀存儲(chǔ)器(ROM) 1908和隨機(jī)存取存儲(chǔ)器(RAM) 1910?;据斎?輸出系統(tǒng)1912 (BIOS)存儲(chǔ)在ROM 1908中。計(jì)算機(jī)1900還具有一個(gè)或多個(gè)以下驅(qū)動(dòng)器用于讀寫(xiě)硬盤(pán)的硬盤(pán)驅(qū)動(dòng)器1914、用于讀或?qū)懣梢苿?dòng)磁盤(pán)1918的磁盤(pán)驅(qū)動(dòng)器1916、以及用于讀或?qū)懼T如⑶R0M、DVD ROM或其他光介質(zhì)之類(lèi)的可移動(dòng)光盤(pán)1922的光盤(pán)驅(qū)動(dòng)器1920。硬盤(pán)驅(qū)動(dòng)器1914、磁盤(pán)驅(qū)動(dòng)器1916, 以及光驅(qū)動(dòng)器1920分別通過(guò)硬盤(pán)驅(qū)動(dòng)器接口 1924、磁盤(pán)驅(qū)動(dòng)器接口 1926,以及光學(xué)驅(qū)動(dòng)器接口 1擬8連接到系統(tǒng)總線1906。驅(qū)動(dòng)器以及它們相關(guān)聯(lián)的計(jì)算機(jī)可讀介質(zhì)為計(jì)算機(jī)提供了對(duì)計(jì)算機(jī)可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序模塊,及其他數(shù)據(jù)的非易失存儲(chǔ)器。雖然描述了硬盤(pán)、可移動(dòng)磁盤(pán)和可移動(dòng)光盤(pán),但是,也可以使用諸如閃存卡、數(shù)字視頻盤(pán)、隨機(jī)存取存儲(chǔ)器 (RAM)、只讀存儲(chǔ)器(ROM)等等之類(lèi)的其他類(lèi)型的計(jì)算機(jī)可讀介質(zhì)來(lái)存儲(chǔ)數(shù)據(jù)。多個(gè)程序模塊可被存儲(chǔ)在硬盤(pán)、磁盤(pán)、光盤(pán)、ROM,或RAM上。這些程序包括操作系統(tǒng)1930、一個(gè)或多個(gè)應(yīng)用程序1932、其他程序模塊1934,以及程序數(shù)據(jù)1936。應(yīng)用程序1932 或程序模塊1934可包括,例如,用于實(shí)現(xiàn)/啟用陣列控制器112、LUN分區(qū)器604、陣列控制器802、數(shù)據(jù)集旋轉(zhuǎn)模塊804、LUN分配器1102、旋轉(zhuǎn)請(qǐng)求接收器1104、LUN生成器1106和 /或分區(qū)復(fù)制器1108、流程圖700、步驟902、流程圖1000、流程圖1300、流程圖1400、步驟 1502、流程圖1600、流程圖1800 (包括流程圖700、1000、1300、1400、1600、以及1800的任一步驟),和/或如上文所描述的任何進(jìn)一步的實(shí)施例的計(jì)算機(jī)程序邏輯。用戶可以通過(guò)諸如鍵盤(pán)1938和定點(diǎn)設(shè)備1940之類(lèi)的輸入設(shè)備向計(jì)算機(jī)1900中輸入命令和信息。其他輸入設(shè)備(未示出)可包括話筒、操縱桿、游戲手柄、圓盤(pán)式衛(wèi)星天線、掃描儀等。這些及其他輸入設(shè)備常常通過(guò)耦合到總線1906的串行端口接口 1942連接到處理單元1902,但是,也可以通過(guò)其他接口,諸如并行端口、游戲端口、通用串行總線(USB) 端口,來(lái)進(jìn)行連接。監(jiān)視器1944或其他類(lèi)型的顯示設(shè)備也可以經(jīng)由諸如視頻適配器1946之類(lèi)的接口來(lái)連接到系統(tǒng)總線1906。除了監(jiān)視器之外,計(jì)算機(jī)1900還可包括其他外圍輸出設(shè)備(未示出),如揚(yáng)聲器和打印機(jī)。計(jì)算機(jī)1900通過(guò)網(wǎng)絡(luò)適配器或接口 1950、調(diào)制解調(diào)器1952、或用于通過(guò)網(wǎng)絡(luò)建立通信的其他裝置連接到網(wǎng)絡(luò)1948(例如,因特網(wǎng))。調(diào)制解調(diào)器1952(可以是內(nèi)置的或外置的),通過(guò)串行端口接口 1942連接到系統(tǒng)總線1906。如此處所用的,術(shù)語(yǔ)“計(jì)算機(jī)程序介質(zhì)”以及“計(jì)算機(jī)可讀介質(zhì)”被用于泛指介質(zhì), 諸如與硬盤(pán)驅(qū)動(dòng)器1914相關(guān)聯(lián)的硬盤(pán)、可移動(dòng)磁盤(pán)1918、可移動(dòng)光盤(pán)1922,以及其他介質(zhì), 諸如閃存卡、數(shù)字視頻盤(pán)、隨機(jī)讀取存儲(chǔ)器(RAM)、只讀存儲(chǔ)器(ROM)等。如上文所指示的,計(jì)算機(jī)程序和模塊(包括應(yīng)用程序1932及其他程序模塊1934) 可以存儲(chǔ)在硬盤(pán)、磁盤(pán)、光盤(pán)、ROM或RAM上。這樣的計(jì)算機(jī)程序也可以通過(guò)網(wǎng)絡(luò)接口 1950 或串行端口接口 1942來(lái)接收。這樣的計(jì)算機(jī)程序,當(dāng)由應(yīng)用程序執(zhí)行或加載時(shí),使得計(jì)算機(jī)1900能實(shí)現(xiàn)此處所討論的本發(fā)明的特征。相應(yīng)地,這樣的計(jì)算機(jī)程序表示計(jì)算機(jī)1900 的控制器。本發(fā)明還涉及包括存儲(chǔ)在任何計(jì)算機(jī)可使用介質(zhì)上的軟件的計(jì)算機(jī)程序產(chǎn)品。這樣的軟件,當(dāng)在一個(gè)或多個(gè)數(shù)據(jù)處理設(shè)備中執(zhí)行時(shí),使數(shù)據(jù)處理設(shè)備如此處所描述的那樣操作。本發(fā)明的各實(shí)施例使用現(xiàn)在已知的或?qū)?lái)已知的任何計(jì)算機(jī)可使用或計(jì)算機(jī)可讀介質(zhì)。計(jì)算機(jī)可讀介質(zhì)的示例包括,但不僅限于,諸如RAM、硬盤(pán)驅(qū)動(dòng)器、軟盤(pán)、⑶ROM、DVD ROM、zip磁盤(pán)、磁帶、磁存儲(chǔ)設(shè)備、光存儲(chǔ)設(shè)備、MEM(存儲(chǔ)器)、基于納米技術(shù)的存儲(chǔ)設(shè)備等等之類(lèi)的存儲(chǔ)設(shè)備。VI.結(jié)論盡管上文描述了本發(fā)明的各實(shí)施例,但是,應(yīng)該理解,它們只是作為示例來(lái)呈現(xiàn)的,而不作為限制。那些精通有關(guān)技術(shù)的人員將理解,在不偏離如所附權(quán)利要求書(shū)所定義的本發(fā)明的精神和范圍的情況下,可以在形式和細(xì)節(jié)方面進(jìn)行各種修改。因此,本發(fā)明的范圍不應(yīng)該受到上述示例性實(shí)施例的任一個(gè)的限制,而只應(yīng)根據(jù)下面的權(quán)利要求和它們的等效內(nèi)容進(jìn)行定義。
權(quán)利要求
1.一種存儲(chǔ)陣列控制器中的方法(1000),包括將來(lái)自存儲(chǔ)陣列的第一邏輯單元號(hào)(LUN)展示(100 給第一主機(jī)計(jì)算機(jī); 接收(1004)來(lái)自所述第一主機(jī)計(jì)算機(jī)的關(guān)于所述第一 LUN的多個(gè)分區(qū)中的第一分區(qū)的旋轉(zhuǎn)請(qǐng)求,所述第一分區(qū)存儲(chǔ)被存儲(chǔ)在所述多個(gè)分區(qū)中的多個(gè)數(shù)據(jù)集的一數(shù)據(jù)集; 確定(1006)所述第一 LUN中的所述第一分區(qū)的大?。簧?1008)指示第二分區(qū)的位置和大小的分區(qū)表,所述第二分區(qū)的所述大小大于或等于(>)所確定的第一分區(qū)大??;生成(1010)所述存儲(chǔ)陣列的第二 LUN以具有被配置成容納所述第二 LUN的簽名、所述分區(qū)表,以及所述第二分區(qū)的大小;將所述簽名和所述分區(qū)表存儲(chǔ)(101 在所述第二 LUN上;將所述第一分區(qū)從所述第一 LUN復(fù)制(1014)到所述第二 LUN中的由所述第二分區(qū)表的所述分區(qū)表中所指示的位置處;并且將所述第二 LUN映射(1016)到第二主機(jī)計(jì)算機(jī)。
2.如權(quán)利要求1所述的方法,其特征在于,所述數(shù)據(jù)集是虛擬機(jī)的虛擬硬驅(qū)動(dòng)器。
3.如權(quán)利要求2所述的方法,其特征在于,所述映射包括 允許所述第二主機(jī)計(jì)算機(jī)安裝所述第二 LUN ;并且允許所述第二主機(jī)計(jì)算機(jī)執(zhí)行所述虛擬機(jī),并訪問(wèn)作為所述虛擬機(jī)的存儲(chǔ)的所述虛擬硬驅(qū)動(dòng)器。
4.如權(quán)利要求1所述的方法,其特征在于,所述確定所述第一LUN中的所述第一分區(qū)的大小包括確定所述分區(qū)的所述第一 LUN中的起始邏輯塊地址(LBA)和結(jié)束LBA。
5.如權(quán)利要求1所述的方法,其特征在于,所述復(fù)制包括對(duì)所述第一分區(qū)執(zhí)行寫(xiě)時(shí)復(fù)制快照拍攝或克隆,以將所述第一分區(qū)從所述第一 LUN復(fù)制到所述第二 LUN。
6.如權(quán)利要求1所述的方法,其特征在于,還包括接收來(lái)自所述第二主機(jī)計(jì)算機(jī)的使所述第二 LUN引退的請(qǐng)求; 確定所述第二分區(qū)的大?。粚⑺龅诙謪^(qū)的副本存儲(chǔ)在所述第一 LUN中;并且更新所述第一 LUN的分區(qū)表以包括對(duì)應(yīng)于所述第一 LUN的存儲(chǔ)了所述第二分區(qū)的所述副本的存儲(chǔ)區(qū)域的分區(qū)。
7.如權(quán)利要求6所述的方法,其特征在于,所述將第二分區(qū)的副本存儲(chǔ)在第一LUN中包括如果所述第二分區(qū)的所確定的大小不超過(guò)所述第一 LUN中的所述第一分區(qū)的大小,則將所述第二分區(qū)的所述副本存儲(chǔ)在所述第一 LUN的所述第一分區(qū)中。
8.如權(quán)利要求7所述的方法,其特征在于,所述將第二分區(qū)的副本存儲(chǔ)在第一LUN中還包括如果所述第二分區(qū)的所確定的大小超過(guò)所述第一 LUN中的所述第一分區(qū)的所述大小, 則通過(guò)將存儲(chǔ)區(qū)域追加到所述第一 LUN,來(lái)擴(kuò)展所述第一 LUN的大小,并且將所述第二分區(qū)的所述副本存儲(chǔ)在所述第一 LUN的所述追加的存儲(chǔ)區(qū)域中。
9.一種包括其上記錄有計(jì)算機(jī)程序邏輯的計(jì)算機(jī)可讀介質(zhì)的計(jì)算機(jī)程序產(chǎn)品,包括 用于允許處理器執(zhí)行權(quán)利要求1-8中的任一項(xiàng)權(quán)利要求的計(jì)算機(jī)程序邏輯裝置(1934)。
10.一種存儲(chǔ)陣列控制器(802),包括用于向第一主機(jī)計(jì)算機(jī)(102a)展示(110 來(lái)自存儲(chǔ)陣列(120 的第一邏輯單元號(hào) (LUN) (500)的裝置;用于從所述第一主機(jī)計(jì)算機(jī)(102a)接收(1104)關(guān)于所述第一 LUN(500)的多個(gè)分區(qū) (506a-506p)中的第一分區(qū)(506a)的旋轉(zhuǎn)請(qǐng)求(1220)的裝置,所述第一分區(qū)(506a)存儲(chǔ)被存儲(chǔ)在所述多個(gè)分區(qū)(506a-506p)中的多個(gè)數(shù)據(jù)集(508a_508p)中的數(shù)據(jù)集(508a); 用于確定(1106)所述第一 LUN(500)中的所述第一分區(qū)(506a)的大小的裝置; 用于生成(1106)指示第二分區(qū)(1212)的位置和大小的分區(qū)表(1210)的裝置,所述第二分區(qū)(1212)的所述大小大于或等于(》)所確定的第一分區(qū)大??;用于生成(1106)所述存儲(chǔ)陣列(1202)的第二 LUN(1206)以具有被配置成容納所述第二 LUN(1206)的簽名(1208)、所述分區(qū)表(1210),以及所述第二分區(qū)(1212)的大小的裝置;用于將所述簽名(1208)和所述分區(qū)表(1210)存儲(chǔ)(1106)在所述第二 LUN(1206)上的裝置;用于將所述第一分區(qū)(506a)從所述第一 LUN (500)復(fù)制(1108)到所述第二 LUN (1206) 中的由所述第二分區(qū)表(1212)的所述分區(qū)表(1210)中所指示的位置處的裝置;以及用于將所述第二 LUN(1206)映射到第二主機(jī)計(jì)算機(jī)(102b)的裝置。
11.如權(quán)利要求10所述的存儲(chǔ)陣列控制器,其特征在于,所述數(shù)據(jù)集是虛擬機(jī)的虛擬硬驅(qū)動(dòng)器。
12.如權(quán)利要求11所述的存儲(chǔ)陣列控制器,其特征在于,所述用于映射的裝置包括 用于允許所述第二主機(jī)計(jì)算機(jī)安裝所述第二 LUN的裝置;以及用于允許所述第二主機(jī)計(jì)算機(jī)執(zhí)行所述虛擬機(jī),并訪問(wèn)作為所述虛擬機(jī)的存儲(chǔ)的所述虛擬硬驅(qū)動(dòng)器的裝置。
13.如權(quán)利要求10所述的存儲(chǔ)陣列控制器,其特征在于,所述用于確定的裝置包括 用于確定所述分區(qū)的所述第一 LUN中的起始邏輯塊地址(LBA)和結(jié)束LBA的裝置。
14.如權(quán)利要求10所述的存儲(chǔ)陣列控制器,其特征在于,所述用于復(fù)制的裝置包括 用于對(duì)所述第一分區(qū)執(zhí)行寫(xiě)時(shí)復(fù)制快照拍攝或克隆,以將所述第一分區(qū)從所述第一LUN復(fù)制到所述第二 LUN的裝置。
15.如權(quán)利要求10所述的存儲(chǔ)陣列控制器,其特征在于,進(jìn)一步包括 用于接收來(lái)自所述第二主機(jī)計(jì)算機(jī)的使所述第二 LUN引退的請(qǐng)求的裝置; 用于確定所述第二分區(qū)的大小的裝置;用于將所述第二分區(qū)的副本存儲(chǔ)在所述第一 LUN中的裝置;以及用于更新所述第一 LUN的分區(qū)表以包括對(duì)應(yīng)于所述第一 LUN的存儲(chǔ)了所述第二分區(qū)的所述副本的存儲(chǔ)區(qū)域的分區(qū)的裝置。
全文摘要
提供了可以存儲(chǔ)多個(gè)數(shù)據(jù)集(例如,諸如作為虛擬硬驅(qū)動(dòng)器來(lái)存儲(chǔ)的虛擬機(jī)之類(lèi)的數(shù)據(jù)和/或應(yīng)用程序)的LUN。LUN被劃分為多個(gè)分區(qū)。一個(gè)或多個(gè)數(shù)據(jù)集可以被存儲(chǔ)在每一個(gè)分區(qū)中。結(jié)果,可以通過(guò)單個(gè)LUN,而并非通過(guò)與數(shù)據(jù)集的數(shù)量成比例的數(shù)量的LUN來(lái)訪問(wèn)多個(gè)數(shù)據(jù)集。此外,還可以旋轉(zhuǎn)存儲(chǔ)在LUN中的數(shù)據(jù)集??梢陨蓪?zhuān)用于存儲(chǔ)被存儲(chǔ)在第一LUN中的多個(gè)數(shù)據(jù)集中的一數(shù)據(jù)集的第二LUN。該數(shù)據(jù)集被復(fù)制到第二LUN,而第二LUN被展示給主機(jī)計(jì)算機(jī)以使得主機(jī)計(jì)算機(jī)能夠與該數(shù)據(jù)集進(jìn)行交互。更進(jìn)一步,數(shù)據(jù)集可以被從第二LUN旋轉(zhuǎn)回到第一LUN的分區(qū)。
文檔編號(hào)G06F15/167GK102422277SQ201080021485
公開(kāi)日2012年4月18日 申請(qǐng)日期2010年5月10日 優(yōu)先權(quán)日2009年5月12日
發(fā)明者C·廖內(nèi)蒂, R·派克 申請(qǐng)人:微軟公司