用于數(shù)據(jù)副本的遷移的系統(tǒng)和方法
【專利摘要】用于將數(shù)據(jù)從源存儲站點遷移到目的地存儲站點的系統(tǒng)和方法。所述數(shù)據(jù)可以被包括在存儲對象(例如,靈活卷)內(nèi)?;敬鎯ο罂梢园ǜ复鎯ο螅⑶掖鎯ο蟾北究梢园◤幕敬鎯ο髮?dǎo)出的存儲對象。由此,分層關(guān)系存在于基本存儲對象和存儲對象副本之間。存儲對象副本可以包括父存儲對象的可寫時間點圖像。如果執(zhí)行基本存儲對象和存儲對象副本的遷移,那么在存儲對象從源存儲站點遷移到目的地存儲站點之后,基本存儲對象和存儲對象副本之間的分層關(guān)系被保留。由此,用于遷移數(shù)據(jù)的系統(tǒng)和方法可以實現(xiàn)存儲空間和網(wǎng)絡(luò)帶寬節(jié)省。
【專利說明】用于數(shù)據(jù)副本的遷移的系統(tǒng)和方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明的實施例涉及存儲系統(tǒng),并且特別涉及存儲系統(tǒng)之間數(shù)據(jù)副本的遷移。
【背景技術(shù)】
[0002]存儲系統(tǒng)通常包括信息可被輸入到其中且可按期望從中獲得信息的一個或多個存儲設(shè)備。存儲系統(tǒng)包括通過除其他外還調(diào)用支持由該系統(tǒng)實現(xiàn)的存儲服務(wù)的存儲操作在功能上組織該系統(tǒng)的存儲操作系統(tǒng)。所述存儲系統(tǒng)能夠根據(jù)各種存儲架構(gòu)而實現(xiàn),該存儲架構(gòu)包括但不限于網(wǎng)絡(luò)附著存儲環(huán)境、存儲區(qū)域網(wǎng)絡(luò)以及直接附著到客戶端或主機(jī)計算機(jī)的盤組件。存儲設(shè)備通常是被組織為盤陣列的盤驅(qū)動器,其中術(shù)語“盤”通常描述自包含旋轉(zhuǎn)磁介質(zhì)存儲設(shè)備。術(shù)語“盤”在該上下文中與硬盤驅(qū)動器(HDD)或直接訪問存儲設(shè)備(DASD)同義。
[0003]存儲系統(tǒng)的存儲操作系統(tǒng)可以實現(xiàn)諸如文件系統(tǒng)之類的高級模塊,以將存儲在卷上的信息在邏輯上組織為諸如文件和邏輯單元(LU)之類的存儲對象的分層結(jié)構(gòu)。已知類型的文件系統(tǒng)是不在盤上蓋寫數(shù)據(jù)的寫入任意位置(write-anywhere)文件系統(tǒng)。被配置成操作在存儲系統(tǒng)上的寫入任意位置文件系統(tǒng)的示例是可從NetApp, Inc.Sunnyvale,California得到的寫入任意位置文件布局(WAFL?)文件系統(tǒng)。
[0004]存儲系統(tǒng)可以進(jìn)一步被配置成允許許多服務(wù)器訪問存儲在存儲系統(tǒng)上的存儲對象。在該模型中,服務(wù)器可以執(zhí)行通過計算機(jī)網(wǎng)絡(luò)(諸如,點對點鏈路、共享局域網(wǎng)(LAN)、廣域網(wǎng)(WAN)或者在諸如因特網(wǎng)之類的公共網(wǎng)絡(luò)上實現(xiàn)的虛擬專用網(wǎng)(VPN)) “連接”到存儲系統(tǒng)的應(yīng)用,諸如數(shù)據(jù)庫應(yīng)用。每個服務(wù)器可以通過在網(wǎng)絡(luò)上將作為基于文件且基于塊的協(xié)議消息(以分組的形式)的訪問請求(讀/寫請求)發(fā)布到系統(tǒng)來請求存儲系統(tǒng)的數(shù)據(jù)服務(wù)。
[0005]多個存儲系統(tǒng)可以互連,以提供被配置成服務(wù)于許多服務(wù)器的存儲系統(tǒng)架構(gòu)。在一些實施例中,存儲系統(tǒng)架構(gòu)提供一個或多個集合體,每個集合體包括一個或多個存儲設(shè)備(例如,盤)的集合。每個集合體可以存儲一個或多個存儲對象,諸如一個或多個卷。集合體可以分布在作為群集而互連的多個存儲系統(tǒng)上。存儲對象(例如,卷)可以被配置成響應(yīng)于由服務(wù)器發(fā)布的多協(xié)議數(shù)據(jù)訪問請求來存儲由群集服務(wù)的存儲對象(諸如文件和邏輯單元)的內(nèi)容。
[0006]所述群集的每個存儲系統(tǒng)(節(jié)點)可以包括:(i)被適配成服務(wù)于特定集合體或卷的存儲服務(wù)器(稱為“D-刀片”);以及(ii)被適配成將數(shù)據(jù)訪問請求重定向到所述群集的任何存儲服務(wù)器的多協(xié)議引擎(稱為“N-刀片”)。在說明性實施例中,每個存儲系統(tǒng)的存儲服務(wù)器被體現(xiàn)為盤元件(D-刀片),并且多協(xié)議引擎被體現(xiàn)為網(wǎng)絡(luò)元件(N-刀片)。N-刀片從客戶端接收多協(xié)議數(shù)據(jù)訪問請求,將該訪問請求轉(zhuǎn)換成群集構(gòu)造(CF)消息并將該消息重定向到所述群集的適當(dāng)D-刀片。
[0007]所述群集的存儲系統(tǒng)可以被配置成彼此通信,以便共同作用以提高性能或抵消群集內(nèi)的任何單個存儲系統(tǒng)故障。群集通過提供對共享存儲器(包括存儲設(shè)備的集合)的訪問來給服務(wù)器提供數(shù)據(jù)服務(wù)。通常,服務(wù)器將與群集的存儲系統(tǒng)相連接,以用于與存儲系統(tǒng)的數(shù)據(jù)訪問會話。在與存儲系統(tǒng)的數(shù)據(jù)訪問會話期間,服務(wù)器可以提交被存儲系統(tǒng)接收并執(zhí)行的訪問請求(讀/寫請求)。
[0008]每個服務(wù)器可以處于特定存儲站點內(nèi),并且每個存儲站點可以包括多個服務(wù)器。此外,每個服務(wù)器可以執(zhí)行需要群集的數(shù)據(jù)服務(wù)的許多應(yīng)用。每個服務(wù)器的數(shù)據(jù)服務(wù)可以存儲在諸如靈活卷之類的數(shù)據(jù)集合體中。數(shù)據(jù)集合體或靈活卷可以包括可定義靈活卷之間的關(guān)系的靈活卷層級。例如,靈活卷層級可以包含靈活卷以及與基本靈活卷有關(guān)的靈活卷的副本。
[0009]通常,靈活卷層級從第一存儲站點到第二存儲站點的遷移包括靈活卷分層結(jié)構(gòu)的平坦化或損失。例如,靈活卷的副本可以被平坦化或擴(kuò)充以使得其遷移到第二存儲站點時。由此,在遷移到第二存儲站點之后,可能需要對副本的進(jìn)一步處理,諸如產(chǎn)生其基本靈活卷的復(fù)件以及副本靈活卷和基本靈活卷之間的變量(delta)或差異(所述副本然后包括基本靈活卷和變量)。由此,靈活卷層級從第一存儲站點到第二存儲站點的遷移可能利用附加的處理和存儲資源。
[0010]由此,靈活卷層級的傳統(tǒng)數(shù)據(jù)遷移技術(shù)不保持基本靈活卷和基本靈活卷的任何副本之間的關(guān)系。因而,需要用于允許從第一存儲站點到第二存儲站點的數(shù)據(jù)副本的遷移以及數(shù)據(jù)副本層級的保留的有效方法和系統(tǒng)。
【發(fā)明內(nèi)容】
[0011]本文所述的實施例提供了一種用于將數(shù)據(jù)從第一源存儲系統(tǒng)遷移到第二目的地存儲系統(tǒng)的系統(tǒng)和方法。在一些實施例中,數(shù)據(jù)副本遷移管理器被配置用于接收描述第一存儲對象和第一存儲對象的第一副本之間的關(guān)系的分層存儲對象數(shù)據(jù)。分層存儲對象數(shù)據(jù)指示第一副本是從第一源存儲對象導(dǎo)出的并包括指向第一源存儲對象的圖像的指針。第一存儲對象和第一副本可以存儲在源存儲系統(tǒng)上。第一目的地存儲對象被提供在目的地存儲系統(tǒng)上。來自源存儲系統(tǒng)上的第一存儲對象的數(shù)據(jù)被傳遞到目的地存儲系統(tǒng)上的第一目的地存儲對象。數(shù)據(jù)的傳遞可以包括將源存儲系統(tǒng)上的第一源存儲對象的數(shù)據(jù)寫入到目的地存儲系統(tǒng)上的至少一個存儲設(shè)備。第二目的地存儲對象被提供在目的地存儲系統(tǒng)上。第二目的地存儲對象可以被配置成存儲指向目的地存儲系統(tǒng)上的第一目的地存儲對象的數(shù)據(jù)的指針。
[0012]在一些實施例中,第一源卷的圖像在第一時間點處產(chǎn)生,并且第一副本在第一時間點之后的第二時間指針處產(chǎn)生。第一副本的變量數(shù)據(jù)(delta data)可以被存儲在源存儲系統(tǒng)中,并可以包括在生成第一圖像時的第一時間點和在產(chǎn)生第一副本時的第二時間點之間對第一源存儲對象的改變。數(shù)據(jù)副本遷移管理器引擎可以進(jìn)一步將第一副本的變量數(shù)據(jù)從源存儲系統(tǒng)傳遞到目的地存儲系統(tǒng)上的第二目的地存儲對象。
[0013]在一些實施例中,存儲對象可以包括靈活卷,所述靈活卷包括分布在多個存儲設(shè)備上的數(shù)據(jù)。數(shù)據(jù)副本遷移管理器引擎被配置用于接收關(guān)于存儲卷的靈活卷分層存儲卷數(shù)據(jù)(本文稱為“分層數(shù)據(jù)”)。分層數(shù)據(jù)包括源靈活卷和源靈活卷的副本之間的關(guān)系。源靈活卷的副本可以從源靈活卷導(dǎo)出。目的地靈活卷被提供在目的地存儲系統(tǒng)上,并且,被包括在源靈活卷內(nèi)的數(shù)據(jù)被遷移或?qū)懭氲侥康牡卮鎯ο到y(tǒng)上的所提供的源靈活卷。第二目的地靈活卷被提供在目的地存儲系統(tǒng)上。源靈活卷和源靈活卷的副本之間的數(shù)據(jù)變量或差異然后被遷移或?qū)懭氲降诙康牡仂`活卷。
[0014]在一些實施例中,分層存儲對象數(shù)據(jù)包括存儲對象類型、父對象、以及第一源存儲對象和第一副本的導(dǎo)出的副本。存儲對象類型可以指定存儲對象是包括基本存儲對象還是副本。父對象指定從其中導(dǎo)出第一源存儲對象的副本的存儲對象,并且所導(dǎo)出的副本可以指定從第一源存儲對象和第一副本導(dǎo)出的副本。
[0015]在一些實施例中,分層存儲對象數(shù)據(jù)可以進(jìn)一步描述第一副本和第二副本之間的關(guān)系,所述第二副本包括第一副本的副本。分層存儲對象數(shù)據(jù)指示第二副本是從第一副本導(dǎo)出的并包括指向第一副本的圖像的指針。第二副本可以存儲在源存儲系統(tǒng)中。數(shù)據(jù)副本遷移管理器引擎可以進(jìn)一步被配置成在目的地存儲系統(tǒng)上提供第三目的地存儲對象,并將第三目的地存儲對象配置成將指向第一副本的圖像的指針存儲在目的地存儲系統(tǒng)上。
[0016]在進(jìn)一步實施例中,可以執(zhí)行目的地存儲系統(tǒng)上的第一目的地存儲對象和第二目的地存儲對象的回滾(roll back)。所述回滾可以包括移除目的地存儲系統(tǒng)上的第一目的地存儲對象和第二目的地存儲對象并且恢復(fù)源存儲系統(tǒng)上的第一源存儲對象和第一副本。第一源存儲對象和第一副本之間的關(guān)系可以被保留在源存儲系統(tǒng)上。
[0017]由此,所述遷移方法呈現(xiàn)出對于存儲系統(tǒng)環(huán)境的若干優(yōu)勢。例如,在遷移之后保留存儲對象層級可以導(dǎo)致減少存儲資源的使用以及管理員或用戶回滾存儲對象層級從第二存儲站點到第一存儲站點的遷移的能力。由此,可以在利用所述遷移方法的情況下實現(xiàn)存儲空間和網(wǎng)絡(luò)帶寬節(jié)省。
【專利附圖】
【附圖說明】
[0018]圖1是一些實施例操作于其中的示例性分布式存儲系統(tǒng)環(huán)境的示意圖。
[0019]圖2是一些實施例操作于其中的示例性虛擬服務(wù)器環(huán)境的框圖。
[0020]圖3是一些實施例操作于其中的示例性群集存儲系統(tǒng)環(huán)境的示意框圖。
[0021]圖4是可被部署于群集存儲系統(tǒng)環(huán)境中的示例性管理服務(wù)器的示意框圖。
[0022]圖5是可被用在一些實施例中的集合體(系統(tǒng)或數(shù)據(jù)集合體)的實施例的示意框圖。
[0023]圖6是數(shù)據(jù)副本從第一存儲站點到第二存儲站點的示例性遷移的示意框圖。
[0024]圖7是根據(jù)一些實施例用于將靈活卷副本層級從第一存儲站點遷移到第二存儲站點的方法的流程圖。
[0025]圖8是根據(jù)一些實施例用于將靈活卷副本層級從第一存儲站點提供到第二存儲站點的方法的流程圖。
[0026]圖9是被用在一些實施例中的示例性數(shù)據(jù)副本層級遷移管理數(shù)據(jù)結(jié)構(gòu)。
[0027]圖10是用于將靈活卷副本層級從源存儲站點遷移到目的地存儲站點并且回滾和重試遷移的方法的流程圖。
【具體實施方式】
[0028]在下面的描述中,為了解釋的目的而闡述許多細(xì)節(jié)和替代物。然而,本領(lǐng)域技術(shù)人員將認(rèn)識到,實施例能夠在不使用這些特定細(xì)節(jié)的情況下實施。在其他實例中,公知的結(jié)構(gòu)和設(shè)備以框圖的形式示出以便不以不必要細(xì)節(jié)使實施例模糊。
[0029]下面的描述被分成三個部分。部分I包含本文使用的術(shù)語。部分II描述一些實施例操作于其中的群集存儲系統(tǒng)環(huán)境。部分III描述用于在存儲系統(tǒng)之間遷移數(shù)據(jù)副本的系統(tǒng)和方法。
[0030]1.術(shù)語
存儲對象:如本文使用的,存儲對象包括用于存儲數(shù)據(jù)的任何類型的容器。存儲對象的示例包括但不限于文件、LU、qtree、卷、靈活卷、集合體、存儲設(shè)備等。為了說明的目的,下面的實施例關(guān)于靈活卷(例如基本靈活卷、靈活卷副本、靈活卷副本層級等)而描述。然而在其他實施例中,任何其他類型的存儲對象可以用在下面的實施例中。
[0031]副本:如本文使用的,副本可以包括在創(chuàng)建時不需要附加存儲空間的情況下對存儲對象的即時復(fù)制。存儲對象的副本可以包括存儲對象的數(shù)據(jù)的透明虛擬復(fù)件且不需要數(shù)據(jù)的任何拷貝。存儲對象的副本從存儲對象導(dǎo)出并基于存儲對象。例如,所述副本可以包括存儲對象的虛擬圖像、指向存儲對象的指針、或者指向存儲對象的圖像的指針。例如,所述副本可以包括虛擬圖像或者指向基本存儲對象的指針。由此,副本可以包括可被提供、按大小排列和動態(tài)調(diào)整大小以簡化操作的虛擬容器。然而,對于副本專用的元數(shù)據(jù)和非冗余數(shù)據(jù)塊只需要漸增的存儲容量。在一些實施例中,所述副本存儲包括基本存儲對象和副本之間的改變的數(shù)據(jù)。當(dāng)副本被創(chuàng)建時,其使用基本存儲對象和/或用作其基礎(chǔ)的基本存儲對象的快照圖像。例如,副本可以包括指向存儲對象的圖像的指針和變量數(shù)據(jù),由此所述圖像在第一時間點處產(chǎn)生,并且所述副本在第一時間點之后的第二時間點處產(chǎn)生。副本的變量數(shù)據(jù)可以包括在第一時間點和第二時間點之間對存儲對象的改變。所述副本接收快照圖像元數(shù)據(jù)的復(fù)件并然后在副本被寫入時對其元數(shù)據(jù)進(jìn)行更新。基本存儲對象和副本之間的公共快照是只讀的,并可以被重用為針對多個副本的基礎(chǔ)。因而,因為所使用的新設(shè)備空間與少量元數(shù)據(jù)或者對基本存儲對象或副本的有意義的改變相關(guān)聯(lián),所以存儲設(shè)備空間被節(jié)省。因而,所述副本可以包括基本存儲對象或者甚至基本存儲對象的另一個副本的可寫時間點圖像。由此,副本給存儲操作增加了新級別的敏捷性和效率。為了說明的目的,下面的實施例關(guān)于靈活卷副本而描述。然而在其他實施例中,任何其他類型的副本可以用在下面的實施例中。
[0032]群集存儲系統(tǒng):如本文使用的,群集存儲系統(tǒng)可以包括一個或多個存儲系統(tǒng)的集合。在一些實施例中,群集可以包括一個存儲系統(tǒng)。由此,術(shù)語“群集”和“存儲系統(tǒng)”有時可以互換使用。在其他實施例中,群集包括多個存儲系統(tǒng)。
[0033]靈活卷:如本文使用的,靈活卷可以包括可高效地分布在多個存儲設(shè)備上且可被調(diào)整大小以滿足改變的業(yè)務(wù)或應(yīng)用需求的存儲卷類型。在一些實施例中,存儲系統(tǒng)可以提供一個或多個集合體以及分布在作為群集而互連的多個節(jié)點上的一個或多個存儲卷。每個存儲卷可以被配置成存儲諸如文件和邏輯單元之類的數(shù)據(jù)。由此,在一些實施例中,靈活卷可以被包括在存儲集合體內(nèi)并進(jìn)一步包括至少一個存儲設(shè)備??梢栽赗AID叢(plex)上對存儲集合體進(jìn)行抽象化,其中每個叢包括RAID組。此外,每個RAID組可以包括多個存儲盤。由此,靈活卷可以包括散布在多個存儲盤或設(shè)備上的數(shù)據(jù)存儲。
[0034]基本靈活卷:如本文使用的,基本靈活卷包括不是靈活卷副本的卷。例如,基本靈活卷可以是已被克隆的靈活卷。由此,基本靈活卷可以被認(rèn)為是被至少一個靈活卷副本所依賴的基本卷。靈活卷副本可以被認(rèn)為是子靈活卷。
[0035]快照:如本文使用的,快照包括創(chuàng)建文件系統(tǒng)的在線只讀復(fù)件的特征??煺湛梢员Wo(hù)免于在不復(fù)寫文件內(nèi)容的情況下對文件的意外刪除或修改。在一些實施例中,快照被靈活卷副本用于創(chuàng)建基本靈活卷的時間點視圖或圖像。當(dāng)文件被改變時,快照復(fù)件(或所得到的靈活卷副本)可以仍然指向存儲設(shè)備塊,其中在文件被修改前存在的文件以及改變被寫入到新的存儲設(shè)備塊。當(dāng)數(shù)據(jù)在基本靈活卷中改變時,原始數(shù)據(jù)塊保持與快照復(fù)件關(guān)聯(lián)而不是變得被標(biāo)記以供重用。
[0036]存儲對象副本層級:如本文使用的,存儲對象副本層級包括各個基本存儲對象和其對應(yīng)副本之間的關(guān)系的定義。存儲對象副本層級數(shù)據(jù)可以包括描述/指示基本存儲對象和其副本的分層關(guān)系的數(shù)據(jù)。例如,靈活卷副本層級可以包括各個基本靈活卷和靈活卷副本之間的關(guān)系的定義。例如,靈活卷層級可以包括詳述基本靈活卷和靈活卷副本的分層關(guān)系的信息。由此,靈活卷層級是基本靈活卷和靈活卷副本之間的關(guān)系。為了說明的目的,下面的實施例關(guān)于靈活卷副本層級而描述。然而在其他實施例中,除靈活卷外的任何其他類型的存儲對象可以用在下面的實施例中。
[0037]變量數(shù)據(jù):如本文使用的,變量數(shù)據(jù)包括基本靈活卷和其靈活卷副本之間的差異。例如,靈活卷副本變量可以包括已被存儲或?qū)懭氲叫麓鎯υO(shè)備塊的基本靈活卷和靈活卷副本之間的改變或差異。
[0038]數(shù)據(jù)副本遷移管理器引擎:如本文使用的,數(shù)據(jù)副本遷移管理器引擎可以駐留于管理服務(wù)器上,并被用于將數(shù)據(jù)副本或靈活卷分層結(jié)構(gòu)從第一存儲站點遷移到第二存儲站點。數(shù)據(jù)副本遷移管理器引擎有時可以被稱作中央服務(wù)引擎。
[0039]I1.群集存儲系統(tǒng)環(huán)境
圖1是一些實施例操作于其中的示例性分布式存儲系統(tǒng)環(huán)境120的示意圖。環(huán)境120包括通過連接系統(tǒng)107連接的一組站點105 (例如,站點A、B、C)。每個站點105包括一組服務(wù)器系統(tǒng)110和存儲系統(tǒng)120。由此,每個站點105可以包括單獨的群集存儲系統(tǒng)環(huán)境。連接系統(tǒng)107可以包括諸如局域網(wǎng)(LAN)、廣域網(wǎng)(WAN)、城域網(wǎng)(MAN)、因特網(wǎng)或計算機(jī)系統(tǒng)之間的任何其他類型的網(wǎng)絡(luò)或通信系統(tǒng)之類的網(wǎng)絡(luò)。在一些實施例中,每個站點105可以位于例如距彼此較大距離并且在不同的地理區(qū)域中(例如在不同的州、國家等中)。
[0040]在這些實施例中,連接系統(tǒng)107可以包括例如WAN或因特網(wǎng)。各個站點105可以通過各個站點105的存儲系統(tǒng)120與彼此連接,由此,站點105的存儲系統(tǒng)120與每個其他站點105的每個存儲系統(tǒng)120相連接。存儲系統(tǒng)120可以直接與彼此通信以在存儲系統(tǒng)120之間接收和發(fā)送訪問請求。存儲系統(tǒng)120可以被認(rèn)為在網(wǎng)絡(luò)連接性方面對等。在一些實施例中,每個存儲系統(tǒng)120可以通過唯一標(biāo)識符而識別以區(qū)分連接系統(tǒng)107上的每個存儲系統(tǒng)120。例如,每個存儲系統(tǒng)120可以通過與存儲系統(tǒng)120關(guān)聯(lián)的因特網(wǎng)協(xié)議(IP)地址或域名而識別以定位網(wǎng)絡(luò)內(nèi)的存儲系統(tǒng)120。在下面的實施例中,可以使用存儲系統(tǒng)120的唯一標(biāo)識符,例如以便識別哪些存儲系統(tǒng)120具有特定授權(quán)、哪個存儲系統(tǒng)120是原始共享數(shù)據(jù)集合的當(dāng)前擁有者、哪個存儲系統(tǒng)120是原始共享數(shù)據(jù)集合的新?lián)碛姓叩取?br>
[0041]圖2是一些實施例操作于其中的示例性虛擬服務(wù)器環(huán)境200的框圖。環(huán)境200可以包括一組一個或多個服務(wù)器系統(tǒng)以及一個或多個存儲系統(tǒng)120。服務(wù)器系統(tǒng)110可以各自訪問經(jīng)由網(wǎng)絡(luò)167連接到服務(wù)器系統(tǒng)110的一個或多個存儲系統(tǒng)120。一個或多個存儲系統(tǒng)120包括群集存儲系統(tǒng)135。群集135中的每個存儲系統(tǒng)120可以包括用于存儲客戶端數(shù)據(jù)的一組存儲設(shè)備130,群集135的存儲設(shè)備130包括存儲系統(tǒng)120的共享存儲器。注意,服務(wù)器系統(tǒng)110也與彼此連接(例如,經(jīng)由網(wǎng)絡(luò)167)以用于與彼此通信(例如用于共同工作以給用戶/客戶端系統(tǒng)(未示出)提供數(shù)據(jù)訪問服務(wù)以便共同托管多個虛擬機(jī),如本文所述)。
[0042]服務(wù)器系統(tǒng)110可以包括可執(zhí)行一個或多個應(yīng)用112的計算機(jī)系統(tǒng),該一個或多個應(yīng)用112與存儲系統(tǒng)120交互以通過網(wǎng)絡(luò)167接收讀/寫訪問請求以及接收或發(fā)射數(shù)據(jù)。在一些實施例中,服務(wù)器系統(tǒng)110可以包括托管服務(wù)器系統(tǒng)110的多個實例的機(jī)架(chassis),每個服務(wù)器系統(tǒng)110托管被體現(xiàn)為虛擬機(jī)的多個客戶端系統(tǒng)。網(wǎng)絡(luò)167和/或網(wǎng)絡(luò)167的子網(wǎng)可以物理上體現(xiàn)在這種機(jī)架內(nèi)。
[0043]在服務(wù)器系統(tǒng)110上執(zhí)行的應(yīng)用112可以通過發(fā)射和處理對于來自(一個或多個)存儲系統(tǒng)120的數(shù)據(jù)的訪問請求來提供數(shù)據(jù)訪問服務(wù)。進(jìn)而,應(yīng)用112利用存儲系統(tǒng)120的服務(wù)來訪問、存儲和管理存儲設(shè)備130的集合中的數(shù)據(jù)。由此,服務(wù)器系統(tǒng)110可以執(zhí)行提交對存儲設(shè)備上的特定存儲對象進(jìn)行訪問的訪問請求的一個或多個應(yīng)用112。每個應(yīng)用112可以提交對群集135的存儲系統(tǒng)上的特定存儲對象進(jìn)行訪問的訪問請求,并且群集135可以對該存儲對象上執(zhí)行接收到的請求。應(yīng)用112可以包括基于非虛擬的應(yīng)用,諸如典型的電子郵件交換應(yīng)用或數(shù)據(jù)庫應(yīng)用。在其他實施例中,應(yīng)用112可以包括基于虛擬的應(yīng)用,諸如(下文討論的)虛擬機(jī)。
[0044]存儲系統(tǒng)120可以通過諸如局域網(wǎng)(LAN)、以太網(wǎng)子網(wǎng)、PCI或PCIe子網(wǎng)、交換PCIe子網(wǎng)、廣域網(wǎng)(WAN)、城域網(wǎng)(MAN)、因特網(wǎng)等的網(wǎng)絡(luò)167本地耦合到服務(wù)器系統(tǒng)110。在一些實施例中,服務(wù)器系統(tǒng)110可以包括托管單個機(jī)架(例如,刀片服務(wù)器機(jī)架)內(nèi)的服務(wù)器系統(tǒng)110的多個實例的機(jī)架,其中服務(wù)器系統(tǒng)110的每個實例經(jīng)由網(wǎng)絡(luò)167與機(jī)架中的服務(wù)器系統(tǒng)110的每個其他實例進(jìn)行通信。
[0045]服務(wù)器系統(tǒng)110和(一個或多個)存儲系統(tǒng)120之間的交互能夠?qū)崿F(xiàn)存儲服務(wù)的提供。也就是說,服務(wù)器系統(tǒng)110可以請求(一個或多個)存儲系統(tǒng)120的服務(wù)(通過提交讀/寫訪問請求),并且(一個或多個)存儲系統(tǒng)120可以通過經(jīng)由網(wǎng)絡(luò)167接收數(shù)據(jù)或發(fā)射數(shù)據(jù)到服務(wù)器系統(tǒng)110 (例如,通過經(jīng)由網(wǎng)絡(luò)167上的連接交換數(shù)據(jù)分組)來對服務(wù)器系統(tǒng)110的讀/寫訪問請求做出響應(yīng)。
[0046]存儲系統(tǒng)120和任何服務(wù)器系統(tǒng)110之間的通信通常被體現(xiàn)為通過計算機(jī)網(wǎng)絡(luò)167發(fā)送的分組。服務(wù)器系統(tǒng)110可以發(fā)送訪問請求(讀/寫訪問請求)到存儲系統(tǒng)120以用于訪問存儲在存儲系統(tǒng)上的特定數(shù)據(jù)。服務(wù)器系統(tǒng)110可以通過發(fā)布根據(jù)用于訪問存儲設(shè)備的傳統(tǒng)存儲訪問協(xié)議(諸如CIFS、NFS等)格式化的存儲訪問協(xié)議消息來請求存儲系統(tǒng)120的服務(wù)。當(dāng)對具有文件和目錄形式的數(shù)據(jù)進(jìn)行訪問時,可以通過經(jīng)由傳輸控制協(xié)議/因特網(wǎng)協(xié)議(TCP/IP)發(fā)布使用基于文件的訪問協(xié)議(諸如公共因特網(wǎng)文件系統(tǒng)(CIFS)協(xié)議或者網(wǎng)絡(luò)文件系統(tǒng)(NFS)協(xié)議)的分組來實現(xiàn)訪問請求(例如,讀/寫訪問請求)??商娲兀?dāng)對具有塊形式的數(shù)據(jù)進(jìn)行訪問時,服務(wù)器系統(tǒng)110可以通過發(fā)布使用基于塊的訪問協(xié)議(諸如,光纖信道協(xié)議(FCP)或因特網(wǎng)小型計算機(jī)系統(tǒng)接口(iSCSI)存儲區(qū)域網(wǎng)絡(luò)(SAN)訪問)的分組來發(fā)布訪問請求。
[0047]在服務(wù)器系統(tǒng)110上執(zhí)行的每個應(yīng)用112可以利用群集135的服務(wù)來存儲并訪問其數(shù)據(jù)。存儲系統(tǒng)120可以包括將數(shù)據(jù)存儲在一個或多個存儲設(shè)備130的集合中作為存儲對象的計算機(jī)系統(tǒng)。存儲設(shè)備130可以包括可寫存儲設(shè)備介質(zhì),諸如存儲設(shè)備、錄像帶、光學(xué)設(shè)備、DVD、磁帶、閃存、磁隨機(jī)存取存儲器(MRAM)、相變RAM (PRAM)、或者被適配成存儲信息(包括數(shù)據(jù)和奇偶校驗信息)的任何其他類似介質(zhì)。
[0048]如本領(lǐng)域中已知的,存儲設(shè)備130可以包括存儲對象,該存儲對象包括一個或多個存儲卷,其中每個卷具有在該卷上實現(xiàn)的文件系統(tǒng)。在存儲設(shè)備130上實現(xiàn)的文件系統(tǒng)可以在單個卷中提供多個目錄,每個目錄包含零個或更多的文件名。文件系統(tǒng)提供如何將數(shù)據(jù)(文件)組織在卷上的邏輯表示,其中數(shù)據(jù)(文件)被表示為被組織到一個或多個目錄中的文件名。公共文件系統(tǒng)的示例包括新技術(shù)文件系統(tǒng)(NTFS)、文件分配表(FAT)、分層文件系統(tǒng)(HFS)、通用存儲設(shè)備格式(UDF)、UNIX?文件系統(tǒng)等。對于可實現(xiàn)寫入任何位置文件布局(WAFL?)文件系統(tǒng)的數(shù)據(jù)0NTAP?存儲操作系統(tǒng)(可從NetApp, Inc.0f Sunnyvale,California得到)來說,典型地在每個卷內(nèi)存在WAFL文件系統(tǒng),并且在WAFL文件系統(tǒng)內(nèi)可以存在一個或多個邏輯單元(LU)。
[0049]圖3是一些實施例操作于其中的示例性群集存儲系統(tǒng)環(huán)境300的示意框圖。環(huán)境300包括經(jīng)由連接系統(tǒng)167連接的一個或多個服務(wù)器系統(tǒng)110的集合、包括一個或多個存儲系統(tǒng)120的集合的群集235、以及管理服務(wù)器305。在其他實施例中,群集135包括多個存儲系統(tǒng)120。每個存儲系統(tǒng)120包括一個或多個存儲設(shè)備130的集合。連接系統(tǒng)167可以包括諸如局域網(wǎng)(LAN)、廣域網(wǎng)(WAN)、城域網(wǎng)(MAN)、因特網(wǎng)或者計算機(jī)系統(tǒng)之間的任何其他類型的網(wǎng)絡(luò)或通信系統(tǒng)之類的網(wǎng)絡(luò)。
[0050]每個存儲系統(tǒng)120可以具有分布式架構(gòu)。例如,每個存儲系統(tǒng)120可以包括單獨的N模塊(網(wǎng)絡(luò)模塊)和D模塊(數(shù)據(jù)模塊)組件(未示出)。在這種實施例中,N模塊被用于與服務(wù)器系統(tǒng)110進(jìn)行通信,而D模塊包括文件系統(tǒng)功能并被用于與存儲設(shè)備130進(jìn)行通信。在另一個實施例中,存儲服務(wù)器108可以具有集成架構(gòu),其中網(wǎng)絡(luò)和數(shù)據(jù)組件都被包含在單個箱或單元中。存儲系統(tǒng)120可以通過交換構(gòu)造(未示出)耦合到群集135中的其他存儲系統(tǒng)120。這樣,群集135的所有存儲系統(tǒng)120可以互連以形成可由所連接的服務(wù)器系統(tǒng)110訪問的單個存儲池。
[0051]存儲系統(tǒng)120包括協(xié)作以提供分布式存儲系統(tǒng)架構(gòu)的功能組件,所述分布式存儲系統(tǒng)架構(gòu)給服務(wù)器系統(tǒng)110提供統(tǒng)一的數(shù)據(jù)服務(wù)。服務(wù)器系統(tǒng)110可以包括利用群集存儲系統(tǒng)135的服務(wù)以將數(shù)據(jù)存儲在存儲系統(tǒng)120的存儲設(shè)備130中并管理該數(shù)據(jù)的計算機(jī)系統(tǒng)。服務(wù)器系統(tǒng)110和存儲系統(tǒng)120之間的交互能夠?qū)崿F(xiàn)存儲服務(wù)的提供。也就是說,通過經(jīng)由連接系統(tǒng)167交換分組,服務(wù)器系統(tǒng)110可以請求存儲系統(tǒng)120的服務(wù),并且存儲系統(tǒng)120可以返回被服務(wù)器系統(tǒng)110所請求的服務(wù)的結(jié)果。當(dāng)對具有文件和目錄形式的信息進(jìn)行訪問時,服務(wù)器系統(tǒng)110可以通過經(jīng)由傳輸控制協(xié)議/因特網(wǎng)協(xié)議(TCP/IP)發(fā)布使用基于文件的訪問協(xié)議(諸如公共因特網(wǎng)文件系統(tǒng)(CIFS)協(xié)議或網(wǎng)絡(luò)文件系統(tǒng)(NFS)協(xié)議)的分組來請求存儲系統(tǒng)的服務(wù)??商娲兀?dāng)對具有塊形式的信息進(jìn)行訪問時,服務(wù)器系統(tǒng)110可以發(fā)布包括基于塊的訪問協(xié)議(諸如,光纖信道協(xié)議(FCP)或者因特網(wǎng)小型計算機(jī)系統(tǒng)接口(iSCSI)存儲區(qū)域網(wǎng)絡(luò)(SAN)訪問)的分組。
[0052]存儲系統(tǒng)120可以包括將數(shù)據(jù)存儲在一組存儲設(shè)備130中(優(yōu)選地在一個或多個可寫存儲設(shè)備介質(zhì)(諸如,磁存儲設(shè)備、錄像帶、光學(xué)、DVD、磁帶和被適配成存儲包括數(shù)據(jù)和奇偶校驗信息的信息的任何其他類似介質(zhì))上)的計算機(jī)系統(tǒng)。存儲系統(tǒng)120可以實現(xiàn)用于在邏輯上將數(shù)據(jù)組織為存儲設(shè)備130上的存儲對象的文件系統(tǒng)。存儲系統(tǒng)120或服務(wù)器系統(tǒng)110可以執(zhí)行一個或多個應(yīng)用112,所述一個或多個應(yīng)用112提交用于訪問存儲設(shè)備130上的特定存儲對象的訪問請求。
[0053]圖4是可在圖3的群集存儲系統(tǒng)環(huán)境中采用的示例性管理服務(wù)器305的示意框圖400。管理服務(wù)器305包括通過總線1346耦合的(一個或多個)服務(wù)器處理器426、服務(wù)器存儲器428、服務(wù)器本地存儲器492、服務(wù)器網(wǎng)絡(luò)適配器495、輸出組件497以及輸入組件498。
[0054]服務(wù)器處理器426是管理服務(wù)器305的中央處理單元(CPU),并從而控制管理服務(wù)器305的總體操作。服務(wù)器處理器426可以包括一個或多個可編程通用或?qū)S梦⑻幚砥?、?shù)字信號處理器(DSP)、可編程控制器、專用集成電路(ASIC)、可編程邏輯器件(PLD)等或者這些設(shè)備的組合。服務(wù)器網(wǎng)絡(luò)適配器495包括被適配成通過點對點鏈路、廣域網(wǎng)、經(jīng)由公共網(wǎng)絡(luò)(因特網(wǎng))實現(xiàn)的虛擬專用網(wǎng)或者共享局域網(wǎng)將管理服務(wù)器305耦合到一個或多個其他計算機(jī)系統(tǒng)(諸如服務(wù)器110或存儲系統(tǒng)100)的多個端口。服務(wù)器網(wǎng)絡(luò)適配器495從而可以包括將存儲系統(tǒng)連接到網(wǎng)絡(luò)所需的機(jī)械、電和信令電路。
[0055]輸出組件497可以屬于通常被計算機(jī)系統(tǒng)用于將信息提供到終端用戶(例如,管理員)的任何類型。例如,輸出組件497可以包括監(jiān)視器、音頻揚(yáng)聲器、或字母數(shù)字顯示器。類似地,輸入組件498可以屬于允許終端用戶將輸入提供到計算機(jī)系統(tǒng)中的任何類型。例如,輸入組件498可以是鍵盤、鼠標(biāo)或話音識別系統(tǒng)。在一些實施例中,輸入組件498可以被輸入策略信息或?qū)?shù)據(jù)集進(jìn)行分組的管理員使用。
[0056]服務(wù)器存儲器428可以是隨機(jī)存取存儲器(RAM)、只讀存儲器(ROM)等、或這些設(shè)備的組合。對于本領(lǐng)域技術(shù)人員來說將顯而易見的是,包括各種計算機(jī)可讀介質(zhì)的其他處理和存儲裝置可以被用于存儲并執(zhí)行關(guān)于本文所述的實施例的程序指令。服務(wù)器存儲器428包括處理器426可尋址的存儲位置和用于存儲諸如本文所述的軟件之類的軟件程序代碼的適配器。服務(wù)器處理器426和服務(wù)器適配器進(jìn)而可以包括被配置成執(zhí)行軟件代碼的處理元件和/或邏輯電路。這種軟件代碼可以包括數(shù)據(jù)副本遷移管理器410和數(shù)據(jù)副本層級遷移管理數(shù)據(jù)結(jié)構(gòu)450。在一些實施例中,各種模塊可以將管理服務(wù)器的硬件組件配置成產(chǎn)生數(shù)據(jù)副本遷移管理器410和數(shù)據(jù)副本層級遷移管理數(shù)據(jù)結(jié)構(gòu)450。
[0057]服務(wù)器本地存儲器492是存儲被數(shù)據(jù)副本遷移管理器模塊410和數(shù)據(jù)副本層級遷移數(shù)據(jù)結(jié)構(gòu)450所需以執(zhí)行本文所述的實施例的數(shù)據(jù)的存儲設(shè)備。這種數(shù)據(jù)可以包括所有存儲卷、存儲卷類型、父卷和副本卷。管理服務(wù)器305將存儲在服務(wù)器本地存儲器492上的數(shù)據(jù)加載到服務(wù)器存儲器428中,從所述服務(wù)器存儲器428該數(shù)據(jù)被服務(wù)器處理器426訪問。服務(wù)器本地存儲器492還可以存儲由數(shù)據(jù)副本遷移管理器模塊410和數(shù)據(jù)副本層級遷移數(shù)據(jù)結(jié)構(gòu)450在執(zhí)行本文所述的實施例時產(chǎn)生的數(shù)據(jù)。例如,這種數(shù)據(jù)可以包括基本卷和基于基本卷的任何副本卷之間的分層關(guān)系。
[0058]在一些實施例中,用于執(zhí)行本文所述的實施例的數(shù)據(jù)副本遷移管理器模塊410和數(shù)據(jù)副本層級遷移數(shù)據(jù)結(jié)構(gòu)450駐留且執(zhí)行于管理服務(wù)器305上,所述管理服務(wù)器305在服務(wù)器110和存儲系統(tǒng)100外部并與其分離。在其他實施例中,數(shù)據(jù)副本遷移管理器模塊410和數(shù)據(jù)副本層級遷移數(shù)據(jù)結(jié)構(gòu)450可以分布在以及駐留且執(zhí)行于一個或多個服務(wù)器110和/或一個或多個存儲系統(tǒng)100上。[0059]數(shù)據(jù)副本遷移管理器模塊410可以被配置成執(zhí)行存儲系統(tǒng)之間靈活卷副本的遷移。在一些實施例中,數(shù)據(jù)副本遷移管理器模塊410可以接收關(guān)于基本卷、靈活卷以及靈活卷副本的信息。數(shù)據(jù)副本遷移管理器模塊410可以基于接收到的信息來遷移基本卷和靈活卷副本并將其提供在目的地存儲系統(tǒng)上。接收到的信息和數(shù)據(jù)集可以被存儲到數(shù)據(jù)結(jié)構(gòu)中。數(shù)據(jù)副本遷移管理器模塊410可以給每個數(shù)據(jù)集指派策略并在每個數(shù)據(jù)集的每個應(yīng)用對象和每個應(yīng)用對象的每個下層存儲對象上實現(xiàn)該策略。
[0060]圖5是可用在一些實施例中的集合體500(系統(tǒng)或數(shù)據(jù)集合體)的實施例的示意框圖??梢栽谝粋€或多個靈活卷510的集合之間分配集合體500的總存儲空間。靈活卷510可以在集合體500的總存儲空間內(nèi)的存儲大小上動態(tài)地增大或減小。每個靈活卷510可以包括一個或多個存儲對象,諸如Lun (塊)502、導(dǎo)向器(director) 504、qtree 506、文件508等。集合體500圖示性地被分層放置在RAID系統(tǒng)頂部,所述RAID系統(tǒng)由至少一個RAID叢550表示(依賴于存儲配置是否是鏡像的),其中每個RAID叢550包括至少一個RAID組550。每個RAID組550進(jìn)一步包括多個存儲盤630,例如一個或多個數(shù)據(jù)盤和至少一個奇偶校驗盤。
[0061]II1.在存儲系統(tǒng)之間遷移數(shù)據(jù)副本
圖6是數(shù)據(jù)副本從第一存儲站點到第二存儲站點的示例性遷移的示意框圖600。存儲站點A (105)包括服務(wù)器系統(tǒng)110、存儲系統(tǒng)120和至少一個存儲設(shè)備670。在一些實施例中,存儲站點A可以包括多個存儲設(shè)備670。類似地,存儲站點B包括服務(wù)器系統(tǒng)110、存儲系統(tǒng)120和至少一個存儲設(shè)備130。此外,在一些實施例中,存儲站點B還可以包括多個存儲設(shè)備670。在一些實施例中,存儲站點A和B中的每一個可以包括以RAID方式布置的多個存儲設(shè)備670,如先前關(guān)于圖5所述,并且存儲站點A包括用于遷移到存儲站點B的靈活卷或靈活卷副本。
[0062]如圖6中可見,站點A的存儲設(shè)備670包括靈活卷610。靈活卷610是基本靈活卷,并由此不依賴于另一個靈活卷。存儲站點A的存儲設(shè)備670進(jìn)一步包括可以是靈活卷610的副本的靈活卷副本620。由此,靈活卷610是靈活卷副本620的父卷。如前所討論的,靈活卷副本620可以包括基本靈活卷的可寫時間點圖像,并包括用于存儲用于保持對基本靈活卷副本的任何期望改變的空間的變量靈活卷部分。由此,在一些實施例中,靈活卷副本620包括具有存儲對基本靈活卷副本610的任何期望改變的變量靈活卷副本部分的基本靈活卷610的可寫時間點圖像。
[0063]由此,在一些實施例中,存儲站點A (105)的靈活卷副本層級包括靈活卷610中的基本靈活卷和靈活卷副本620。然而,由于靈活卷副本620包括具有變量靈活卷副本部分的靈活卷610的可寫時間點圖像,附加存儲資源的利用率最小。例如,靈活卷610可以包括10太字節(jié)(terabyte)數(shù)據(jù)存儲量。靈活卷副本620可以包括靈活卷610的副本。由此,靈活卷副本620包括不利用附加存儲空間的現(xiàn)存10太字節(jié)存儲量的可寫時間點圖像,并進(jìn)一步包括存儲對靈活卷副本620的基本靈活卷610的任何期望改變的變量靈活卷副本部分。例如,如果對基本靈活卷610的期望改變包括I太字節(jié)的數(shù)據(jù),那么包括基本靈活卷610和靈活卷副本620的總靈活卷副本層級可以包括總共11太字節(jié)的存儲空間。然而,如果靈活卷副本層級未被保留或平坦化,那么針對21太字節(jié)的總存儲空間利用率,存儲空間利用率將包括用于基本靈活卷610的10太字節(jié)、用于針對靈活卷副本620的基本靈活卷610的副本的附加10太字節(jié)、以及用于對基本靈活卷610的期望改變(例如,靈活卷副本的變量部分)的附加I太字節(jié)。由此,靈活卷副本層級呈現(xiàn)出少量的存儲開銷。
[0064]在一些實施例中,靈活卷副本層級可以被配置成將靈活卷和靈活卷副本從存儲站點A遷移到存儲站點B。例如,管理員或用戶可能希望通過將存儲數(shù)據(jù)遷移到較不強(qiáng)大的存儲系統(tǒng)配置來改進(jìn)資源利用率。存儲數(shù)據(jù)可以從高端存儲系統(tǒng)遷移到低端存儲系統(tǒng)或者從低端存儲系統(tǒng)遷移到高端存儲系統(tǒng)。在相同或可替代的實施例中,管理員或用戶可能希望將存儲數(shù)據(jù)從被包括在存儲站點內(nèi)的較快存儲設(shè)備類型遷移到被包括在第二存儲站點內(nèi)的較慢存儲設(shè)備類型。由此,管理員或用戶可能希望將靈活卷副本層級從高端存儲平臺遷移到更低端存儲平臺,同時在從高端存儲平臺遷移到更低端存儲平臺的遷移期間保持靈活卷副本層級。類似地,管理員或用戶可能希望將靈活卷副本層級從低端存儲平臺遷移到高端存儲平臺,同時在從低端存儲平臺遷移到高端存儲平臺的遷移期間保持靈活卷副本層級。在相同或可替代的實施例中,管理員或用戶可能希望將靈活卷副本層級從包括較快存儲設(shè)備的存儲站點遷移到包括較慢存儲設(shè)備的存儲站點,同時保持靈活卷副本層級。類似地,管理員或用戶可能希望將靈活卷副本層級從包括較慢存儲設(shè)備的存儲站點遷移到包括較快存儲設(shè)備的存儲站點。
[0065]由此,管理員或用戶可能期望將靈活卷610和關(guān)聯(lián)的靈活卷副本620從存儲站點A遷移到存儲站點B。如上所討論的,如果基本靈活卷610包括10太字節(jié)的存儲空間,并且靈活卷副本620的變量靈活卷部分包括I太字節(jié)的存儲空間,那么總靈活卷副本層級可以包括總共11太字節(jié)的存儲空間。由此,如果靈活卷610和靈活卷副本620從存儲站點A遷移到存儲站點B,并且如在存儲站點A中定義的靈活卷副本層級被保留在存儲站點B處,那么包括靈活卷610和靈活卷副本620的總靈活卷副本層級在存儲站點B處將包括總共11太字節(jié)的存儲空間。然而,如果在遷移靈活卷610和靈活卷副本620結(jié)束時在存儲站點B處未保留靈活卷副本層級,那么靈活卷副本層級可以被有效地平坦化,并且針對21太字節(jié)的總存儲開銷,總存儲空間利用率可以包括用于存儲站點B處被遷移的靈活卷610的10太字節(jié)、用于靈活卷610的靈活卷副本620圖像的附加10太字節(jié)、以及用于靈活卷副本620的變量靈活卷部分的附加I太字節(jié)的存儲空間。由此,在遷移靈活卷610和靈活卷副本620期間保持靈活卷副本層級包括存儲站點B處降低存儲開銷以及提供回滾以及快速重試和回滾選項,如下文進(jìn)一步詳細(xì)描述的那樣。
[0066]如圖6中可見,圖示了可被實現(xiàn)在群集存儲環(huán)境中的遷移方法600的構(gòu)思上的操作。遷移方法600可以由數(shù)據(jù)副本遷移管理器310和駐留且執(zhí)行于每個存儲系統(tǒng)120上的操作系統(tǒng)執(zhí)行,所述操作系統(tǒng)結(jié)合操作以將存儲數(shù)據(jù)從當(dāng)前站點(例如,存儲站點A)遷移到新存儲站點(例如,存儲站點B)。如本文使用的,“數(shù)據(jù)副本遷移管理器”310可以駐留且執(zhí)行于存儲站點(例如,存儲站點A)上,該存儲站點包括要被遷移到第二存儲站點(例如,存儲站點B)的靈活卷副本層級。當(dāng)執(zhí)行遷移方法時,數(shù)據(jù)副本遷移管理器310可以生成、使用或存儲數(shù)據(jù)在被存儲到存儲器428的數(shù)據(jù)副本層級遷移管理數(shù)據(jù)結(jié)構(gòu)450中。在一些實施例中,數(shù)據(jù)副本層級遷移管理數(shù)據(jù)結(jié)構(gòu)450駐留于從其執(zhí)行遷移的存儲站點A內(nèi)。在相同或可替代的實施例中,數(shù)據(jù)副本層級遷移管理數(shù)據(jù)結(jié)構(gòu)450駐留于靈活卷副本層級被從其遷移并存儲的存儲站點B內(nèi)。在一些實施例中,數(shù)據(jù)副本層級遷移管理數(shù)據(jù)結(jié)構(gòu)450可以在遷移過程期間駐留于存儲站點A和存儲站點B 二者內(nèi)或從存儲站點A和存儲站點B 二者內(nèi)執(zhí)行。如下所討論的,這種數(shù)據(jù)可以包括關(guān)于靈活卷副本層級的數(shù)據(jù)或日志信息。
[0067]圖6圖示遷移方法的開始,由此數(shù)據(jù)副本層級遷移管理數(shù)據(jù)結(jié)構(gòu)450處于存儲站點A內(nèi)。在一些實施例中,存儲站點A的數(shù)據(jù)副本層級遷移管理數(shù)據(jù)結(jié)構(gòu)450生成基本靈活卷610的圖像640。在一些實施例中,然后在鏈路650處將圖像640發(fā)射到被包括在存儲站點B內(nèi)的存儲系統(tǒng)120。然后將基本靈活卷610提供到存儲站點B處的至少一個存儲設(shè)備130處。在一些實施例中,基本靈活卷可以包括多個RAID盤,如關(guān)于圖5所述。由此,基本靈活卷610被提供在目的地存儲站點(例如,存儲站點B)上。接下來,方法600可以傳遞或提供與基本靈活卷610有關(guān)的任何靈活卷副本。例如,靈活卷副本620可以被提供在目的地存儲站點(例如,存儲站點B)上。如上所述,靈活卷副本620可以包括靈活卷610的可寫時間點圖像,并由此包括變量靈活卷副本部分,該變量靈活卷副本部分包括靈活卷副本620和基本靈活卷610之間的差異。由此,靈活卷副本620可以被提供到目的地存儲站點(例如,存儲站點B)上。
[0068]在一些實施例中,靈活副本卷可以包括指向基本靈活卷的圖像的指針以及可包括在創(chuàng)建基本靈活卷的圖像和創(chuàng)建副本時做出的數(shù)據(jù)改變或新數(shù)據(jù)的變量數(shù)據(jù)。例如,數(shù)據(jù)改變可以在當(dāng)創(chuàng)建基本靈活卷的圖像時的第一時刻之后做出。在第二時刻處,可以創(chuàng)建基本靈活卷的副本。由此,在一些實施例中,變量數(shù)據(jù)可以包括從創(chuàng)建基本靈活卷的圖像時到創(chuàng)建基本靈活卷的副本時的任何改變的數(shù)據(jù)或新數(shù)據(jù)。在一些實施例中,變量數(shù)據(jù)可以包括在創(chuàng)建副本時以及在遷移過程處的點處做出的數(shù)據(jù)改變或新數(shù)據(jù)。例如,變量數(shù)據(jù)可以包括從創(chuàng)建基本靈活卷的副本和發(fā)起遷移過程的時間起的任何改變的數(shù)據(jù)或新數(shù)據(jù)。
[0069]在一些實施例中,靈活卷副本可以從另一個靈活卷副本導(dǎo)出。由此,如果用戶或管理員正在將靈活卷副本層級從源存儲站點遷移到目的地存儲站點,則可以在目的地存儲站點的存儲設(shè)備上遷移或提供多個靈活卷副本。例如,實施例可以包括基本靈活卷。第一靈活卷副本可以從該基本靈活卷導(dǎo)出。由此,第一靈活卷副本包括基本靈活卷的可寫時間點圖像。此外,第二靈活卷副本可以從第一靈活卷副本導(dǎo)出。由此,第二靈活卷副本包括第一靈活卷的可寫時間點圖像。由此,靈活卷副本層級包括基本靈活卷、第一靈活卷副本和第二靈活卷副本。靈活卷層級的遷移可以包括將基本靈活卷、第一靈活卷副本和第二靈活卷副本中的每一個提供到目的地存儲站點上以及維持基本靈活卷、第一靈活卷副本和第二靈活卷副本中的每一個之間的分層結(jié)構(gòu)。下文中進(jìn)一步詳細(xì)地討論關(guān)于該遷移過程的細(xì)節(jié)。
[0070]圖7是根據(jù)一些實施例用于將靈活卷副本層級從第一存儲站點遷移到第二存儲站點的方法700的流程圖。圖7的方法700關(guān)于圖6而描述,圖6在構(gòu)思上圖示了方法700的步驟。在一些實施例中,方法700可以接收關(guān)于靈活卷、靈活卷副本以及各個靈活卷和靈活卷副本之間的有關(guān)層級的信息,將靈活卷或靈活卷副本提供到目的地存儲站點上,并且在沒有人為發(fā)起、交互或干預(yù)的情況下,在保持靈活卷副本層級的同時自動地將數(shù)據(jù)從源存儲站點傳遞到第二存儲站點。在一些實施例中,方法700的特定步驟可以在沒有人為發(fā)起、交互或干預(yù)的情況下自動執(zhí)行,而方法700的其他步驟可以在人為交互的情況下執(zhí)行。例如,在一些實施例中,步驟720、730和740可以在沒有人為發(fā)起、交互或干預(yù)的情況下自動執(zhí)行,而步驟710可以通過人為交互(諸如來自管理員的命令)而執(zhí)行。
[0071]在一些實施例中,執(zhí)行方法700的一些步驟或者使方法700的一些步驟由管理服務(wù)器305上的數(shù)據(jù)副本遷移管理器410執(zhí)行。數(shù)據(jù)副本遷移管理器410可以被配置成與管理服務(wù)器305的其他軟件模塊、服務(wù)器系統(tǒng)110、以及存儲系統(tǒng)100的軟件模塊結(jié)合操作以共同執(zhí)行本文所述的實施例。
[0072]方法700通過啟動(在步驟710處)靈活卷副本層級的遷移過程而開始。該遷移過程可以包括數(shù)據(jù)從源存儲站點(例如,存儲站點A)到目的地存儲站點(例如,存儲站點B)的基線傳遞。如上所述,所傳遞的數(shù)據(jù)可以包括來自基本靈活卷和/或靈活卷副本的數(shù)據(jù)。此外,該傳遞可以包括保留基本靈活卷和靈活卷副本之間的分層關(guān)系。在一些實施例中,遷移的啟動(在步驟710處)可以利用NetApp? SnapMirror? Async技術(shù)來復(fù)制或執(zhí)行數(shù)據(jù)從源存儲站點到目的地存儲站點的基線傳遞。下文中詳細(xì)描述關(guān)于包括基本靈活卷和/或靈活卷副本的數(shù)據(jù)從源存儲站點到目的地存儲站點的遷移的進(jìn)一步細(xì)節(jié)。
[0073]方法700可以更新(在步驟720處)源存儲站點和目的地存儲站點之間的遷移關(guān)系。例如,在一些實施例中,遷移過程的啟動(在步驟710處)可以包括使得可能已經(jīng)在基本靈活卷或靈活卷副本上執(zhí)行改變的長運(yùn)行時間。在一些實施例中,根據(jù)要被傳遞的數(shù)據(jù)的量,執(zhí)行基線傳遞的時間可能花費幾天、幾周或幾月。由此,涉及數(shù)據(jù)從源存儲站點到目的地存儲站點的基線傳遞的遷移過程的啟動可能花費相當(dāng)大量的時間,并且在該時段期間,可以對所遷移的數(shù)據(jù)執(zhí)行改變。例如,用戶或管理員可以改變被包括在基本靈活卷或靈活卷副本的變量靈活卷副本部分內(nèi)的數(shù)據(jù)。由此,在步驟720處,方法700可以通過更新已被遷移到目的地存儲站點以使得其成為源存儲站點上改變后的數(shù)據(jù)的鏡像的數(shù)據(jù)來更新源存儲站點和目的地存儲站點上的數(shù)據(jù)之間的關(guān)系。由此,在一些實施例中,步驟720可以包括更新SnapMirror?關(guān)系。
[0074]例如,在一些實施例中,源存儲站點可以包括基本靈活卷和靈活卷副本。如上所討論的,靈活卷副本可以包括基本靈活卷的可寫時間點圖像,并由此包括變量靈活卷副本部分,該變量靈活卷副本部分包括靈活卷副本和基本靈活卷之間的差異的數(shù)據(jù)。在步驟710處,用戶或管理員可以開始將數(shù)據(jù)從源存儲站點遷移到目的地存儲站點的過程。在遷移過程期間,用戶或管理員可以改變包括靈活卷副本和基本靈活卷之間的差異的變量靈活卷副本部分。由此,在步驟720處,可以更新已被提供到目的地存儲站點的靈活卷副本的變量數(shù)據(jù),以使得已被提供到目的地存儲站點的靈活卷副本包括與已被提供在源存儲站點上的靈活卷副本相同的變量靈活卷副本部分。
[0075]在一些實施例中,步驟720可以在沒有人為發(fā)起、交互或干預(yù)的情況下自動執(zhí)行。在其他實施例中,步驟720可以通過人為交互(諸如由管理員進(jìn)行的操作)而執(zhí)行。
[0076]方法700可以完成遷移(在步驟730處)并執(zhí)行遷移切換(cutover)操作。在一些實施例中,當(dāng)數(shù)據(jù)(例如,靈活卷副本層級)從源存儲站點到目的地存儲站點的遷移已經(jīng)完成時,進(jìn)行切換操作。切換操作可以包括目的地存儲站點上被遷移的數(shù)據(jù)變?yōu)樵诰€并從而響應(yīng)于數(shù)據(jù)請求而供應(yīng)來自目的地存儲站點的數(shù)據(jù)。例如,用戶或管理員可以執(zhí)行基本靈活卷和靈活卷副本從源存儲站點到目的地存儲站點的遷移?;眷`活卷和靈活卷副本可以被提供在目的地存儲站點上。然而,直到遷移切換操作完成之前,所提供的基本靈活卷和靈活卷副本可以不在線以及響應(yīng)于數(shù)據(jù)請求而供應(yīng)數(shù)據(jù)。一旦遷移切換(例如,在步驟730處)被執(zhí)行并完成,那么目的地存儲站點上的所提供的基本靈活卷和靈活卷副本可以在線,并從而對來自所提供的基本靈活卷和靈活卷副本的數(shù)據(jù)做出響應(yīng)且響應(yīng)于數(shù)據(jù)請求而供應(yīng)來自所提供的基本靈活卷和靈活卷副本的數(shù)據(jù)。[0077]在一些實施例中,步驟730可以在沒有人為發(fā)起、交互或干預(yù)的情況下被自動執(zhí)行。在其他實施例中,步驟730可以通過人為交互(諸如由管理員進(jìn)行的操作)而執(zhí)行。
[0078]方法700可以執(zhí)行(在步驟740處)遷移清除操作。在一些實施例中,遷移清除可以包括從源存儲站點刪除或移除被遷移的數(shù)據(jù)。例如,如果用戶或管理員已經(jīng)將基本靈活卷和靈活卷副本從源存儲站點遷移到目的地存儲站點,則遷移清除操作可以從源存儲站點移除基本靈活卷和靈活卷副本。由此,被遷移的數(shù)據(jù)可以從源存儲站點移除。在一些實施例中,遷移清除操作可以進(jìn)一步執(zhí)行網(wǎng)絡(luò)清除操作。例如,遷移清除操作可以包括刪除不需要的ip空間(ipspace)和虛擬局域網(wǎng)(vlan)。
[0079]圖8是根據(jù)一些實施例用于將靈活卷副本層級從第一存儲站點提供到第二存儲站點的方法800的流程圖。在一些實施例中,靈活卷副本層級可以包括基本靈活卷、基本靈活卷的第一靈活卷副本和第一靈活卷副本的第二靈活卷副本。方法800可以(在步驟810處)將基本靈活卷提供在目的地存儲站點上。在將基本靈活卷提供到目的地存儲站點上之后,所提供的基本靈活卷的基線傳遞(在步驟815處)可以進(jìn)行。由此,在目的地存儲站點內(nèi)的所提供的卷上執(zhí)行基本靈活卷的存儲內(nèi)容的復(fù)制。
[0080]方法800然后可以使用先前提供的基本靈活卷的快照來提供(在步驟820處)第一靈活卷副本。由此,所提供的第一靈活卷副本包括基本靈活卷的可寫時間點圖像。方法800可以將第一靈活卷副本的變量靈活卷部分從源存儲站點傳遞或重新同步(在步驟830處)到第二存儲站點??梢宰龀鱿率龃_定(在步驟840處):是否附加的靈活副本卷需要被提供和/或從源存儲站點傳遞到第二存儲站點。例如,由于靈活副本層級可以包括第二靈活卷副本(例如,第一靈活卷副本的副本),那么第二靈活卷副本可以被提供到目的地存儲站點上。然而,第二靈活卷副本的提供可以包括第一靈活卷副本的快照。在提供第二靈活卷副本之后,方法800然后可以將變量靈活卷副本部分傳遞到目的地存儲站點。
[0081]由此,方法800包括連續(xù)過程,直到靈活卷層級的所有靈活卷副本被提供到目的地站點上以及其數(shù)據(jù)被傳遞到目的地站點為止。
[0082]圖9示出在一些實施例中使用的示例性數(shù)據(jù)副本層級遷移管理數(shù)據(jù)結(jié)構(gòu)900。在一些實施例中,數(shù)據(jù)副本層級遷移管理數(shù)據(jù)結(jié)構(gòu)900包括多個數(shù)據(jù)集條目950,每個數(shù)據(jù)集條目950表示靈活卷標(biāo)識符、靈活卷類型、父卷、和副本卷(下文討論)。每個條目950可以包括用于存儲描述或標(biāo)識靈活卷、基本靈活卷和靈活卷副本的數(shù)據(jù)的多個數(shù)據(jù)字段。
[0083]在一些實施例中,表示靈活卷的數(shù)據(jù)副本層級遷移管理數(shù)據(jù)結(jié)構(gòu)條目950可以包含用于靈活卷標(biāo)識符910、靈活卷類型標(biāo)識符920、基本靈活卷標(biāo)識符930和靈活卷副本標(biāo)識符940的數(shù)據(jù)字段。靈活卷標(biāo)識符910可以包括標(biāo)識特定靈活卷的信息。例如,靈活卷標(biāo)識符910可以包括靈活卷的名稱或地址。在一些實施例中,靈活卷標(biāo)識符可以標(biāo)識基本靈活卷,或者靈活卷標(biāo)識符可以提供針對靈活卷副本的身份信息。由此,靈活卷標(biāo)識符910可以標(biāo)識基本靈活卷或者靈活卷副本。
[0084]靈活卷類型920可以針對每個數(shù)據(jù)副本層級管理數(shù)據(jù)結(jié)構(gòu)條目字段指定靈活卷的類型。例如,靈活卷類型920可以指定是否靈活卷是基本靈活卷或者是否靈活卷是靈活卷副本。基本靈活卷930可以識別每個數(shù)據(jù)副本層級遷移管理數(shù)據(jù)結(jié)構(gòu)條目是否基于基本靈活卷或從基本靈活卷導(dǎo)出。例如,如果靈活卷是基本靈活卷,并由此不基于另一個靈活卷(例如,基本靈活卷不是副本),那么基本靈活卷930可以指示不存在基本靈活卷。然而,如果靈活卷是靈活卷副本,那么基本靈活卷可以標(biāo)識靈活卷副本的基本靈活卷。
[0085]例如,基本靈活卷930可以指示特定靈活卷副本包括基本靈活卷。然而,在一些實施例中,第一靈活卷副本可以包括針對第二靈活卷副本的基本靈活卷。由此,基本靈活卷930可以指示靈活卷副本基于另一個靈活卷副本或者從另一個靈活卷副本導(dǎo)出。靈活卷副本940可以指示是否來自每個數(shù)據(jù)副本層級遷移管理數(shù)據(jù)結(jié)構(gòu)條目的靈活卷具有基于其的任何靈活卷副本。例如,基本靈活卷可以被用于多個靈活卷副本。由此,靈活卷副本940可以指示基于基本靈活卷的靈活卷副本中的每一個。
[0086]在一些實施例中,當(dāng)任何基本靈活卷或靈活卷副本被提供在源存儲站點上時,可以生成或接收靈活卷標(biāo)識符字段910、靈活卷類型字段920、基本靈活卷字段930和靈活卷副本字段940。例如,無論何時提供靈活卷時,都可以更新數(shù)據(jù)副本層級遷移管理數(shù)據(jù)結(jié)構(gòu)900。在一些實施例中,當(dāng)發(fā)起數(shù)據(jù)從源存儲站點到目的地存儲站點的數(shù)據(jù)遷移時,更新或生成數(shù)據(jù)副本層級遷移管理數(shù)據(jù)結(jié)構(gòu)900。
[0087]由此,數(shù)據(jù)副本層級遷移管理數(shù)據(jù)結(jié)構(gòu)900接收關(guān)于靈活卷的信息,存儲關(guān)于數(shù)據(jù)結(jié)構(gòu)中的靈活卷的信息,并包括靈活卷之間的分層關(guān)系。
[0088]圖10是用于將靈活卷副本層級從源存儲站點遷移到目的地存儲站點并且回滾和重試遷移的方法1000的流程圖。方法1000可以(在步驟1010處)將基本靈活卷和靈活卷副本數(shù)據(jù)從源存儲站點遷移到目的地存儲站點,如前所述。方法1000然后可以(在步驟1020處)執(zhí)行基本靈活卷和靈活卷副本的遷移切換,以使得目的地存儲站點上的這種靈活卷的數(shù)據(jù)服務(wù)現(xiàn)在被供應(yīng)到應(yīng)用請求。在步驟1030處,方法1000可以做出下述確定:是否目的地存儲站點性能低于標(biāo)準(zhǔn)。例如,應(yīng)用請求可能未被快速地服務(wù)。由此,目的地存儲站點包括存儲空間或性能問題。如果目的地存儲站點不包括存儲或空間問題,那么方法1000可以(在步驟1040處)執(zhí)行遷移清除。然而,如果目的地存儲站點確實包括存儲或空間問題,那么方法1000可以(在步驟1050處)執(zhí)行靈活的回滾。例如,可以從目的地存儲站點移除靈活卷副本層級,并且可以在源存儲站點處恢復(fù)靈活卷副本層級。由此,可以在回滾中保留基本靈活卷和基本靈活卷的靈活副本卷及其相關(guān)狀態(tài)。方法1000然后可以(在步驟1060處)重試靈活卷副本層級從源存儲站點到目的地存儲站點的遷移。
[0089]各種實施例
一些實施例可以使用根據(jù)本文的教導(dǎo)而編程的傳統(tǒng)通用或?qū)S脭?shù)字計算機(jī)或微處理器便利地實現(xiàn),如對計算機(jī)領(lǐng)域技術(shù)人員來說將顯而易見。一些實施例可以由被編程成執(zhí)行本文所述的方法或過程步驟的通用計算機(jī)來實現(xiàn)。這種編程可以根據(jù)來自程序軟件的指令來產(chǎn)生用于執(zhí)行(本文所述的)特定方法或過程步驟和功能的新機(jī)器或?qū)S糜嬎銠C(jī)。可以由編程者基于本文的教導(dǎo)來準(zhǔn)備適當(dāng)?shù)能浖幋a,如對軟件領(lǐng)域技術(shù)人員來說將顯而易見。一些實施例也可以通過專用集成電路的準(zhǔn)備或通過互連傳統(tǒng)組件電路的適當(dāng)網(wǎng)絡(luò)而實現(xiàn),如對本領(lǐng)域技術(shù)人員來說將顯而易見。本領(lǐng)域技術(shù)人員將理解的是,可以使用各種不同技術(shù)和技巧中的任一個來表示信息。
[0090]一些實施例包括計算機(jī)程序產(chǎn)品,該計算機(jī)程序產(chǎn)品包括(一個或多個)計算機(jī)可讀介質(zhì),所述計算機(jī)可讀介質(zhì)具有存儲在其上/其中的指令,并且所述指令在被執(zhí)行時(例如,被處理器執(zhí)行)執(zhí)行本文所述的方法、技術(shù)或?qū)嵤├?,所述計算機(jī)可讀介質(zhì)包括用于執(zhí)行本文所述的方法、技術(shù)或?qū)嵤├母鞣N步驟的指令集。計算機(jī)可讀介質(zhì)可以包括非瞬變計算機(jī)可讀介質(zhì)。計算機(jī)可讀介質(zhì)可以包括其上/其中存儲有可被用于控制計算機(jī)或使計算機(jī)執(zhí)行實施例的任何過程的指令的存儲介質(zhì)。存儲介質(zhì)可以包括但不限于任何類型的設(shè)備,包括軟盤、小型盤(MD)、光盤、DVD、CD-ROM、微驅(qū)動器和磁光盤、ROM、RAM、EPROM、EEPROM、DRAM、VRAM、閃存設(shè)備(包括閃卡)、磁卡或光卡、納米系統(tǒng)(包括分子存儲器1C)、RAID設(shè)備、遠(yuǎn)程數(shù)據(jù)存儲器/檔案/倉庫、或適于在其上/其中存儲指令和/或數(shù)據(jù)的任何其他類型的介質(zhì)或設(shè)備。
[0091]一些實施例包括存儲在(一個或多個)計算機(jī)可讀介質(zhì)中的任一個上的軟件指令,所述軟件指令用于控制通用或?qū)S糜嬎銠C(jī)或微處理器的硬件,以及用于使計算機(jī)或微處理器能夠使用實施例的結(jié)果來與人類用戶和/或其他機(jī)制進(jìn)行交互。這種軟件可以包括但不限于設(shè)備驅(qū)動器、操作系統(tǒng)和用戶應(yīng)用。最后,這種計算機(jī)可讀介質(zhì)進(jìn)一步包括用于執(zhí)行本文所述的實施例的軟件指令。在通用/專用計算機(jī)或微處理器的編程(軟件)中包括了用于實現(xiàn)一些實施例的軟件模塊。
[0092]技術(shù)人員將進(jìn)一步認(rèn)識到,本文所述的實施例的各種說明性邏輯塊、電路、模塊、算法、技術(shù)、過程或方法步驟可以被實現(xiàn)為計算機(jī)電子硬件、計算機(jī)軟件或這二者的組合。為了說明硬件和軟件的這種可互換性,各種說明性組件、塊、模塊、電路和步驟已經(jīng)在此關(guān)于其功能而一般地描述。這種功能是被實現(xiàn)為硬件還是軟件依賴于施加于總體系統(tǒng)的特定應(yīng)用和設(shè)計約束。技術(shù)人員可以針對每個特定應(yīng)用、以各種方式來實現(xiàn)所描述的功能,但這種實現(xiàn)決策不應(yīng)該被解釋為導(dǎo)致背離本文所述的實施例。
[0093]結(jié)合本文公開的實施例描述的各種說明性邏輯塊、模塊和電路可以用以下組件實現(xiàn)或執(zhí)行:被設(shè)計成執(zhí)行本文所述的功能的通用處理器、數(shù)字信號處理器(DSP)、專用集成電路(ASIC)、現(xiàn)場可編程門陣列(FPGA)或其他可編程邏輯器件、分立柵極或晶體管邏輯、分立硬件組件、或其任何組合。通用處理器可以是微處理器,但可替代地,所述處理器可以是任何傳統(tǒng)的處理器、控制器、微控制器或狀態(tài)機(jī)。處理器還可以被實現(xiàn)為計算設(shè)備的組合,例如DSP和微處理器的組合、多個微處理器、與DSP核心結(jié)合的一個或多個微處理器、或任何其他這種配置。
[0094]結(jié)合本文公開的實施例描述的算法、技術(shù)、過程或方法可以直接以硬件、以由處理器執(zhí)行的軟件或以二者的組合體現(xiàn)。在一些實施例中,本文所述的任何軟件應(yīng)用、程序、工具、模塊或?qū)涌梢园ㄒ?,該引擎包括被配置成?zhí)行本文所述的實施例的硬件和/或軟件。通常,本文所述的軟件應(yīng)用、程序、工具、模塊或?qū)拥墓δ芸梢灾苯右杂布w現(xiàn)、或被體現(xiàn)為由處理器執(zhí)行的軟件、或被體現(xiàn)為二者的組合。軟件應(yīng)用、層或模塊可以駐留于以下各項中:RAM存儲器、閃存、ROM存儲器、EPROM存儲器、EEPROM存儲器、寄存器、硬盤、可拆卸盤、CD-ROM、或本領(lǐng)域中已知的任何其他形式的存儲介質(zhì)。示例性存儲介質(zhì)耦合到處理器,以使得處理器能夠從該存儲介質(zhì)讀取數(shù)據(jù)以及向該存儲介質(zhì)寫入數(shù)據(jù)??商娲?,存儲介質(zhì)可以是處理器的組成部分。處理器和存儲介質(zhì)可以駐留于ASIC中。ASIC可以駐留于用戶設(shè)備中??商娲?,處理器和存儲介質(zhì)可以作為分立組件駐留于用戶設(shè)備中。
[0095]盡管本文所述的實施例已經(jīng)參考許多特定細(xì)節(jié)而描述,但是本領(lǐng)域技術(shù)人員將認(rèn)識到,在不背離所述實施例的精神的情況下,所述實施例可以以其他特定形式體現(xiàn)。因而,本領(lǐng)域技術(shù)人員將理解的是,本文所述的實施例不應(yīng)受前述說明性細(xì)節(jié)限制,而是應(yīng)由所附權(quán)利要求限定。
【權(quán)利要求】
1.一種用于將源存儲系統(tǒng)上的數(shù)據(jù)遷移到目的地存儲系統(tǒng)的系統(tǒng),所述源存儲系統(tǒng)將數(shù)據(jù)存儲提供給至少一個存儲對象,所述系統(tǒng)包括: 數(shù)據(jù)副本遷移管理器引擎,被配置用于: 接收描述第一源存儲對象和第一源存儲對象的第一副本之間的關(guān)系的分層存儲對象數(shù)據(jù),所述分層存儲對象數(shù)據(jù)指示第一副本是從第一源存儲對象導(dǎo)出的并包括指向第一源存儲對象的圖像的指針,第一源存儲對象和第一副本被存儲在源存儲系統(tǒng)中; 在目的地存儲系統(tǒng)上提供第一目的地存儲對象; 將源存儲系統(tǒng)上的第一源存儲對象的數(shù)據(jù)傳遞到目的地存儲系統(tǒng)上的第一目的地存儲對象,所述傳遞包括將源存儲系統(tǒng)上的第一源存儲對象的數(shù)據(jù)寫入到目的地存儲系統(tǒng)的至少一個存儲設(shè)備; 在目的地存儲系統(tǒng)上提供第二目的地存儲對象;以及 將第二目的地存儲對象配置成存儲指向目的地存儲系統(tǒng)上的第一目的地存儲對象的數(shù)據(jù)的指針。
2.根據(jù)權(quán)利要求1所述的系統(tǒng),其中: 第一源存儲對象的圖像在第一時間點處產(chǎn)生,并且第一副本在第一時間點之后的第二時間點處產(chǎn)生; 第一副本的變量數(shù)據(jù)包括在生成第一圖像時的第一時間點和產(chǎn)生第一副本時的第二時間點之間對第一源存儲對象的改變,所述變量數(shù)據(jù)被存儲在源存儲系統(tǒng)中;并且數(shù)據(jù)副本遷移管理器引擎進(jìn)一步被配置用于: 將第一副本的變量數(shù)據(jù)從源存儲系統(tǒng)傳遞到目的地存儲系統(tǒng)上的第二目的地存儲對象。
3.根據(jù)權(quán)利要求1所述的系統(tǒng),其中所述存儲對象中的每一個被包括在存儲集合體內(nèi),所述存儲集合體是在獨立盤冗余陣列(RAID)叢上抽象化的,每個RAID叢包括RAID組,所述RAID組包括多個存儲盤。
4.根據(jù)權(quán)利要求1所述的系統(tǒng),其中所述存儲對象包括靈活卷,所述靈活卷包括分布在多個存儲設(shè)備上的數(shù)據(jù)。
5.根據(jù)權(quán)利要求1所述的系統(tǒng),其中分層存儲對象數(shù)據(jù)包括存儲對象類型、父對象、以及第一源存儲對象和第一副本的導(dǎo)出的副本,所述存儲對象類型指定存儲對象是包括基本存儲對象還是副本存儲對象,所述父對象指定第一源存儲對象的副本由其導(dǎo)出的存儲對象,并且導(dǎo)出的副本指定從第一源存儲對象和第一副本導(dǎo)出的副本。
6.根據(jù)權(quán)利要求2所述的系統(tǒng),其中: 所述分層存儲對象數(shù)據(jù)進(jìn)一步描述第一副本和包括第一副本的副本的第二副本之間的關(guān)系,所述分層存儲對象數(shù)據(jù)指示第二副本是從第一副本導(dǎo)出的并包括指向第一副本的圖像的指針,第二副本被存儲在源存儲系統(tǒng)中;并且數(shù)據(jù)副本遷移管理器引擎進(jìn)一步被配置用于: 在目的地存儲系統(tǒng)上提供第三目的地存儲對象;以及 將第三目的地存儲對象配置成存儲指向目的地存儲系統(tǒng)上的第一副本的圖像的指針。
7.根據(jù)權(quán)利要求1所述的系統(tǒng),其中所述數(shù)據(jù)副本遷移管理器引擎進(jìn)一步被配置用于:執(zhí)行目的地存儲系統(tǒng)上的第一目的地存儲對象和目的地存儲系統(tǒng)上的第二目的地存儲對象的回滾,所述回滾包括移除目的地存儲系統(tǒng)上的第一目的地存儲對象和第二目的地存儲對象并且恢復(fù)源存儲系統(tǒng)上的第一源存儲對象和第一副本,第一源存儲對象和第一副本之間的關(guān)系被保留在源存儲系統(tǒng)上。
8.一種其上存儲有指令的非瞬變計算機(jī)可讀介質(zhì),所述指令在被處理器執(zhí)行時將源存儲系統(tǒng)上的數(shù)據(jù)遷移到目的地存儲系統(tǒng),所述源存儲系統(tǒng)將數(shù)據(jù)存儲提供給至少一個存儲對象,所述計算機(jī)可讀介質(zhì)包括用于執(zhí)行下述操作的指令集: 接收描述第一源存儲對象和第一源存儲對象的第一副本之間的關(guān)系的分層存儲對象數(shù)據(jù),所述分層存儲對象數(shù)據(jù)指示第一副本是從第一源存儲對象導(dǎo)出的并包括指向第一源存儲對象的圖像的指針,第一源存儲對象和第一副本被存儲在源存儲系統(tǒng)中; 在目的地存儲系統(tǒng)上提供第一目的地存儲對象; 將源存儲系統(tǒng)上的第一源存儲對象的數(shù)據(jù)傳遞到目的地存儲系統(tǒng)上的第一目的地存儲對象,所述傳遞包括將源存儲系統(tǒng)上的第一源存儲對象的數(shù)據(jù)寫入到目的地存儲系統(tǒng)的至少一個存儲設(shè)備; 在目的地存儲系統(tǒng)上提供第二目的地存儲對象;以及 將第二目的地存儲對象配置成存儲指向目的地存儲系統(tǒng)上的第一目的地存儲對象的數(shù)據(jù)的指針。
9.根據(jù)權(quán)利要求8所述的非瞬變計算機(jī)可讀介質(zhì),其中第一源存儲對象的圖像在第一時間點處產(chǎn)生,并且第一副本在第一時間點之后的第二時間點處產(chǎn)生,第一副本的變量數(shù)據(jù)包括在生成第一圖像時的第一時間點和產(chǎn)生第一副本時的第二時間點之間對第一源存儲對象的改變,所述變量數(shù)據(jù)被存儲在源存儲系統(tǒng)中,所述計算機(jī)可讀介質(zhì)進(jìn)一步包括用于執(zhí)行下述操作的指令集: 將第一副本的變量數(shù)據(jù)從源存儲系統(tǒng)傳遞到目的地存儲系統(tǒng)上的第二目的地存儲對象。
10.根據(jù)權(quán)利要求8所述的非瞬變計算機(jī)可讀介質(zhì),其中所述存儲對象中的每一個被包括在存儲集合體內(nèi),所述存儲集合體是在獨立盤冗余陣列(RAID)叢上抽象化的,每個RAID叢包括RAID組,所述RAID組包括多個存儲盤。
11.根據(jù)權(quán)利要求8所述的非瞬變計算機(jī)可讀介質(zhì),其中所述存儲對象包括靈活卷,所述靈活卷包括分布在多個存儲設(shè)備上的數(shù)據(jù)。
12.根據(jù)權(quán)利要求8所述的非瞬變計算機(jī)可讀介質(zhì),其中分層存儲對象數(shù)據(jù)包括存儲對象類型、父對象、以及第一源存儲對象和第一副本的導(dǎo)出的副本,所述存儲對象類型指定存儲對象是包括基本存儲對象還是副本存儲對象,所述父對象指定第一源存儲對象的副本由其導(dǎo)出的存儲對象,并且導(dǎo)出的副本指定從第一源存儲對象和第一副本導(dǎo)出的副本。
13.根據(jù)權(quán)利要求9所述的非瞬變計算機(jī)可讀介質(zhì),其中所述分層存儲對象數(shù)據(jù)進(jìn)一步描述第一副本和包括第一副本的副本的第二副本之間的關(guān)系,所述分層存儲對象數(shù)據(jù)指示第二副本是從第一副本導(dǎo)出的并包括指向第一副本的圖像的指針,第二副本被存儲在源存儲系統(tǒng)中,所述計算機(jī)可讀介質(zhì)進(jìn)一步包括用于執(zhí)行下述操作的指令集: 在目的地存儲系統(tǒng)上提供第三目的地存儲對象;以及 將第三目的地存儲對象配置成存儲指向目的地存儲系統(tǒng)上的第一副本的圖像的指針。
14.根據(jù)權(quán)利要求8所述的非瞬變計算機(jī)可讀介質(zhì),進(jìn)一步包括用于執(zhí)行下述操作的指令集: 執(zhí)行目的地存儲系統(tǒng)上的第一目的地存儲對象和目的地存儲系統(tǒng)上的第二目的地存儲對象的回滾,所述回滾包括移除目的地存儲系統(tǒng)上的第一目的地存儲對象和第二目的地存儲對象并且恢復(fù)源存儲系統(tǒng)上的第一源存儲對象和第一副本,第一源存儲對象和第一副本之間的關(guān)系被保留在源存儲系統(tǒng)上。
15.一種用于將源存儲系統(tǒng)上的數(shù)據(jù)遷移到目的地存儲系統(tǒng)的方法,所述源存儲系統(tǒng)提供用于多個應(yīng)用的數(shù)據(jù)服務(wù),所述數(shù)據(jù)服務(wù)包括至少一個下層存儲對象,所述方法包括: 將計算機(jī)硬件用于執(zhí)行下述操作: 接收描述第一源存儲對象和第一源存儲對象的第一副本之間的關(guān)系的分層存儲對象數(shù)據(jù),所述分層存儲對象數(shù)據(jù)指示第一副本是從第一源存儲對象導(dǎo)出的并包括指向第一源存儲對象的圖像的指針,第一源存儲對象和第一副本被存儲在源存儲系統(tǒng)中; 在目的地存儲系統(tǒng)上提供第一目的地存儲對象; 將源存儲系統(tǒng)上的第一源存儲對象的數(shù)據(jù)傳遞到目的地存儲系統(tǒng)上的第一目的地存儲對象,所述傳遞包括將源存儲系統(tǒng)上的第一源存儲對象的數(shù)據(jù)寫入到目的地存儲系統(tǒng)的至少一個存儲設(shè)備; 在目的地存儲系統(tǒng)上提供第二目的地存儲對象;以及 將第二目的地存儲對象配置成存儲指向目的地存儲系統(tǒng)上的第一目的地存儲對象的數(shù)據(jù)的指針。
16.根據(jù)權(quán)利要求15所述的方法,其中所述方法進(jìn)一步包括: 第一源存儲對象的圖像在第一時間點處產(chǎn)生,并且第一副本在第一時間點之后的第二時間點處產(chǎn)生; 第一副本的變量數(shù)據(jù)包括在生成第一圖像時的第一時間點和產(chǎn)生第一副本時的第二時間點之間對第一源存儲對象的改變,所述變量數(shù)據(jù)被存儲在源存儲系統(tǒng)中;以及 將第一副本的變量數(shù)據(jù)從源存儲系統(tǒng)傳遞到目的地存儲系統(tǒng)上的第二目的地存儲對象。
17.根據(jù)權(quán)利要求15所述的方法,其中所述存儲對象中的每一個被包括在存儲集合體內(nèi),所述存儲集合體是在獨立盤冗余陣列(RAID)叢上抽象化的,每個RAID叢包括RAID組,所述RAID組包括多個存儲盤。
18.根據(jù)權(quán)利要求15所述的方法,其中所述存儲對象包括靈活卷,所述靈活卷包括分布在多個存儲設(shè)備上的數(shù)據(jù)。
19.根據(jù)權(quán)利要求15所述的方法,其中分層存儲對象數(shù)據(jù)包括存儲對象類型、父對象、以及第一源存儲對象和第一副本的導(dǎo)出的副本,所述存儲對象類型指定存儲對象是包括基本存儲對象還是副本存儲對象,所述父對象指定第一源存儲對象的副本由其導(dǎo)出的存儲對象,并且導(dǎo)出的副本指定從第一源存儲對象和第一副本導(dǎo)出的副本。
20.根據(jù)權(quán)利要求16所述的方法,其中所述分層存儲對象數(shù)據(jù)進(jìn)一步描述第一副本和包括第一副本的副本的第二副本之間的關(guān)系,所述分層存儲對象數(shù)據(jù)指示第二副本是從第一副本導(dǎo)出的并包括指向第一副本的圖像的指針,第二副本被存儲在源存儲系統(tǒng)中,所述方法進(jìn)一步包括: 在目的地存儲系統(tǒng)上提供第三目的地存儲對象;以及 將第三目的地存儲對象配置成存儲指向目的地存儲系統(tǒng)上的第一副本的圖像的指針。
【文檔編號】G06F15/16GK103620580SQ201280031973
【公開日】2014年3月5日 申請日期:2012年4月26日 優(yōu)先權(quán)日:2011年4月28日
【發(fā)明者】D.穆希甘地, H.克雷曼, N.索馬瓦拉普, T.喬治 申請人:網(wǎng)絡(luò)存儲技術(shù)公司