專利名稱:把存儲單元和相關元數(shù)據(jù)復制到存儲器的方法和系統(tǒng)的制作方法
技術領域:
本發(fā)明涉及把文件集和相關元數(shù)據(jù)復制到存儲器的方法、系統(tǒng)和程序。
背景技術:
在分布式文件系統(tǒng)中,客戶機共享對分布式存儲裝置上的存儲位置尋址的全局名稱空間。中央服務器為客戶機管理分布式文件名稱空間。例如,由多個服務器設備構成的元數(shù)據(jù)服務器集群可為客戶機保持保存在不同的存儲池中的分布式文件系統(tǒng)的全局名稱空間。全局名稱空間被組織成文件集,所述文件集包括對于文件操作來說,客戶機可訪問的文件系統(tǒng)目錄和文件夾。在客戶機上,全局名稱空間表現(xiàn)為由在客戶機上運行的操作系統(tǒng)提供的分級文件目錄。當訪問用戶數(shù)據(jù)時,客戶機會訪問由元數(shù)據(jù)服務器保持的文件元數(shù)據(jù)。在國際商用機器公司(“IBM”)出版物“IBM Total StorageIntroducing the SAN FileSystem”(文件編號SG24-7057-02(2004年12月))中描述了使用元數(shù)據(jù)服務器的分布式文件系統(tǒng)的其它細節(jié)。
為了在存儲系統(tǒng)中備份和復制數(shù)據(jù),通過首先暫停對待復制數(shù)據(jù)的所有操作,以確保從及時點(point-in-time)起,數(shù)據(jù)是一致的,隨后在完成所有數(shù)據(jù)的復制之后,恢復對操作被暫停的數(shù)據(jù)的處理,包括待復制的用戶數(shù)據(jù)的文件集和文件集的元數(shù)據(jù)的存儲位置可被復制。文件集可作為卷級復制或者文件級及時點復制的一部分被復制,以致只有指定的文件或數(shù)據(jù)塊受到及時點復制操作。
這種技術的缺陷在于在復制操作期間,經歷復制處理的數(shù)據(jù)不可用,復制操作可能要相當長的時間來完成,對于要求用戶數(shù)據(jù)的連續(xù)可用性的企業(yè)系統(tǒng)來說,該缺陷尤其嚴重。
復制用戶數(shù)據(jù)的另一種復制選擇是進行FlashCopy操作。FlashCopy是IBM的注冊商標。FlashCopy操作涉及創(chuàng)建指示待復制的源數(shù)據(jù)和目標數(shù)據(jù)之間的關系的數(shù)據(jù)結構,隨后在通過創(chuàng)建所述數(shù)據(jù)結構確定了所述關系之后,在實際復制數(shù)據(jù)之前,允許對基礎數(shù)據(jù)的訪問。FlashCopy操作可指定對卷進行及時點復制操作。
發(fā)明內容
提供一種把存儲單元和相關元數(shù)據(jù)復制到存儲器(storage)的方法、系統(tǒng)和程序。用戶數(shù)據(jù)存儲位置包括用戶數(shù)據(jù),元數(shù)據(jù)存儲位置包括用戶數(shù)據(jù)的元數(shù)據(jù)。執(zhí)行第一種復制操作,以便把具有用戶數(shù)據(jù)的至少一個指定存儲單元復制成所述至少一個指定存儲單元的至少一個副本。執(zhí)行第二種復制操作,以便把被復制的至少一個指定存儲單元的元數(shù)據(jù)復制成復制的至少一個文件集的元數(shù)據(jù)的副本。
在另一實施例中,通過產生指示至少一個存儲單元中的數(shù)據(jù)塊以提供所述至少一個存儲單元的及時點副本的復制數(shù)據(jù)結構,并把數(shù)據(jù)塊復制到在第一復制數(shù)據(jù)結構中指示的至少一個存儲單元的副本,執(zhí)行第一種復制操作,以便把用戶數(shù)據(jù)存儲位置中的至少一個存儲單元復制成所述至少一個存儲單元的副本。執(zhí)行第二種復制操作,以便把被復制的至少一個存儲單元的元數(shù)據(jù)復制成所述復制的至少一個存儲單元的元數(shù)據(jù)的副本,從而提供元數(shù)據(jù)的及時點副本,并把包含該元數(shù)據(jù)的數(shù)據(jù)塊復制成在第二復制數(shù)據(jù)結構中指示的元數(shù)據(jù)的副本。
圖1圖解說明其中實現(xiàn)實施例的網絡計算環(huán)境。
圖2圖解說明存儲系統(tǒng)的一個實施例。
圖3圖解說明用戶存儲系統(tǒng)的一個實施例。
圖4圖解說明系統(tǒng)存儲系統(tǒng)的一個實施例。
圖5圖解說明網絡計算環(huán)境中復制文件集和元數(shù)據(jù)的操作的一個實施例。
圖6圖解說明系統(tǒng)存儲子系統(tǒng)的另一實施例。
圖7圖解說明網絡計算環(huán)境中復制文件集和元數(shù)據(jù)的操作的另一
具體實施例方式
在下面的說明中,參考了附圖,附圖構成所述說明的一部分,并且圖解說明本發(fā)明的幾個實施例。顯然也可利用其它實施例,并且在不脫離本發(fā)明的范圍的情況下可做出結構和操作上的變化。
圖1圖解說明根據(jù)實施例的分布式文件系統(tǒng)計算環(huán)境。元數(shù)據(jù)集群2包括多個元數(shù)據(jù)引擎4a、4b...4n,元數(shù)據(jù)引擎4a、4b...4n包括管理參考保存在用戶數(shù)據(jù)存儲系統(tǒng)8b...8n中的文件的全局名稱空間的元數(shù)據(jù)服務器程序6a、6b...6n。元數(shù)據(jù)集群2管理客戶機10a、10b...10n對在全局名稱空間中定義的文件集的訪問。每個客戶機10a、10b...10n包括客戶機虛擬文件系統(tǒng)12a、12b...12n,客戶機虛擬文件系統(tǒng)12a、12b...12n使客戶機10a、10b...10n與全局名稱空間中客戶機可訪問的那些文件集進行接口(interface)。元數(shù)據(jù)集群2,客戶機10a、10b...10n,和存儲系統(tǒng)8a、8b...8n通過網絡14通信。變量“n”表示任意數(shù)目的部件,并且當和不同的部件一起使用時,可具有不同的值。
元數(shù)據(jù)引擎4a、4b...4n可包含服務器級系統(tǒng)。可分配每個元數(shù)據(jù)引擎4a、4b...4n處理全局名稱空間中的特定文件集,以致全局名稱空間的工作負載分布在元數(shù)據(jù)引擎4a、4b...4n上。對于客戶機10a、10b...10n,文件集表現(xiàn)為分級文件系統(tǒng)中的標準目錄和文件夾。元數(shù)據(jù)服務器6a、6b...6n執(zhí)行全局名稱空間管理操作,并把包含客戶機10a、10b...10n訪問的文件集的有關信息的文件元數(shù)據(jù)和文件集的系統(tǒng)元數(shù)據(jù)保存在系統(tǒng)存儲系統(tǒng)8a中。在備選實施例中,元數(shù)據(jù)服務器和客戶機系統(tǒng)可位于相同的計算機設備上。
客戶機虛擬文件系統(tǒng)12a、12b...12n安裝客戶機10a、10b...10n可訪問的文件集。
圖2把存儲系統(tǒng)8a、8b...8n圖解表示成包括一個或多個存儲子系統(tǒng)30,存儲子系統(tǒng)30管理對在存儲裝置32中配置的卷的訪問。在一個實施例中,每個存儲系統(tǒng)8a、8b...8n包括一個獨立的存儲子系統(tǒng)30和存儲裝置32。在另一實施例中,可在一個存儲子系統(tǒng)30和存儲裝置32中實現(xiàn)多個存儲系統(tǒng)8a、8b...8n,或者可用具有附加的存儲裝置的一個或多個存儲子系統(tǒng)實現(xiàn)一個存儲系統(tǒng)8a、8b...8n。存儲子系統(tǒng)30可包括存儲服務器或企業(yè)存儲服務器,例如IBMEnterprise Storage Server(IBM和企業(yè)存儲服務器是IBM的注冊商標)。分配給存儲系統(tǒng)8a、8b...8n的存儲設備32可包含本領域中已知的存儲系統(tǒng),例如直接存取存儲裝置(DASD),簡單磁盤捆綁(JBOD),獨立磁盤冗余陣列(RAID),虛擬化裝置,磁帶存儲器,光盤存儲器,或者本領域中已知的任何其它存儲系統(tǒng)。
在一些實施例中,用戶存儲系統(tǒng)8b...8n把用戶數(shù)據(jù)保存在由元數(shù)據(jù)集群2管理的文件集中。客戶機10a、10...10n包括本領域中已知的計算設備,例如工作站、桌上型計算機、服務器、大型機、手持式計算機、電話機等。網絡14包括本領域中已知的網絡,例如局域網(LAN)、存儲區(qū)域網(SAN)、廣域網(WAN)、InfiniBand、無線網絡等。元數(shù)據(jù)服務器6a、6b...6n實現(xiàn)全局名稱空間16,全局名稱空間16實現(xiàn)由映射到用戶存儲系統(tǒng)8b...8n中的存儲位置的多個文件集構成的分布式文件系統(tǒng)。如前所述,用戶存儲系統(tǒng)8b、8n包含與網絡14連接的存儲系統(tǒng)和裝置,以便把文件集保存在全局名稱空間16中。
圖3圖解說明具有存儲子系統(tǒng)30b和用戶存儲裝置32b的用戶存儲系統(tǒng)8b的一個實施例,用戶存儲裝置32b包括具有用戶數(shù)據(jù)文件集52a的源卷54a,數(shù)據(jù)文件集52a被復制到包括用戶數(shù)據(jù)文件集的副本52b的目標卷54b,作為復制操作的一部分。其它用戶存儲系統(tǒng)8n也可具有經歷復制操作的數(shù)據(jù)文件集。在一個實施例中,在用戶存儲系統(tǒng)8b...8n內復制用戶數(shù)據(jù)文件集52b,而不通過客戶機10a、10b...10n或者元數(shù)據(jù)集群2在網絡14內傳送數(shù)據(jù)。在一個備選實施例中,文件集的副本52b可以在和被復制的文件集52a不同的用戶數(shù)據(jù)存儲系統(tǒng)8b...8n中。管理其中保持源卷54a的存儲裝置32b的存儲子系統(tǒng)30b還可保持指示源卷54a和目標卷54b中經歷及時點復制操作的數(shù)據(jù)塊的復制數(shù)據(jù)結構56。在創(chuàng)建復制數(shù)據(jù)結構56之后,存儲子系統(tǒng)30隨后可開始在存儲系統(tǒng)8b內把源卷54a中的數(shù)據(jù)塊復制到目標卷54b,而不通過客戶機10a、10b...10n或者元數(shù)據(jù)集群2在網絡14內復制數(shù)據(jù)。通過首先把請求所針對的數(shù)據(jù)塊從源卷54a復制到目標卷54b,處理對源卷54a或目標卷54b中的在復制數(shù)據(jù)結構56中指示為未被復制的數(shù)據(jù)塊的任何后續(xù)更新。在數(shù)據(jù)已被復制到目標卷b之后,復制的源卷54a和目標卷54b數(shù)據(jù)可被就地(in place)更新和重寫,和“正常的”寫操作的情況一樣。此外,為了訪問在復制數(shù)據(jù)結構56中指出的在目標卷54b的數(shù)據(jù),在可訪問該數(shù)據(jù)之前,數(shù)據(jù)塊必須已從源卷54a復制到目標卷54b。從而,對還未用來自源卷54a的數(shù)據(jù)更新的目標卷54b數(shù)據(jù)塊的讀請求可觸發(fā)復制操作,以便在復制之后允許訪問。一旦數(shù)據(jù)已從源位置復制到目標位置,那么由復制數(shù)據(jù)結構56建立的復制數(shù)據(jù)的及時點關系就結束,以致在源卷的文件集和在目標卷的文件集的副本可被就地更新和重寫。在復制數(shù)據(jù)之前創(chuàng)建復制數(shù)據(jù)結構的這種即時復制操作的一個例子是IBMFlashCopy操作。在FlashCopy中,創(chuàng)建源卷和目標卷的位圖數(shù)據(jù)結構,以指示源卷和目標卷中服從該復制關系的還未被復制的數(shù)據(jù)塊。為復制操作指定的存儲單元可包括整個邏輯卷,指定的文件,例如非連續(xù)文件,存儲器中的存儲塊或者本領域中已知的存儲器的其它適當單位。
在上述實施例中,在用于卷級復制的卷級指定復制操作。在備選實施例中,可相對于不同的源和目標存儲單元進行復制操作。經歷上述復制操作并在復制數(shù)據(jù)結構中指出的存儲單元除了是卷之外,還可包含一組指定文件,存儲器中的一系列存儲塊,分區(qū)等。
圖4圖解說明(文件集52a的)元數(shù)據(jù)60a如何被復制到元數(shù)據(jù)的副本60b,以致元數(shù)據(jù)的副本60b提供文件系統(tǒng)元數(shù)據(jù),從而使客戶機10a、10b...10n能夠訪問文件集的副本52b。在一個實施例中,元數(shù)據(jù)60a被復制成系統(tǒng)存儲系統(tǒng)8a中的元數(shù)據(jù)副本60b,而不通過客戶機10a、10b...10n或元數(shù)據(jù)集群2在網絡14內傳送元數(shù)據(jù)。在一個實施例中,復制的元數(shù)據(jù)60a可以只是系統(tǒng)池8a中的卷中的數(shù)據(jù)的子集,該卷中的其它數(shù)據(jù)可提供未經歷圖3的復制操作的卷中的文件集的元數(shù)據(jù)。此外,在一個實施例中,元數(shù)據(jù)60a可被復制成系統(tǒng)存儲系統(tǒng)8a中的元數(shù)據(jù)副本60b,而不通過客戶機10a、10b...10n在網絡14內傳送該元數(shù)據(jù)。
圖5圖解說明由圖1中的組件執(zhí)行的把源卷54a中的文件集52a復制到目標卷54b(圖3)的操作。如上所述,雖然關于卷級復制說明復制操作,不過可對其它存儲單元級,例如存儲器中的一系列的存儲塊進行復制操作??刂崎_始于方框100,一個客戶機10a、10b...10n發(fā)起復制用戶數(shù)據(jù)文件集52a和對應的元數(shù)據(jù)60a的操作。執(zhí)行客戶機10a、10b...10n請求的系統(tǒng)(它可包括接收客戶機請求的元數(shù)據(jù)服務器6a、6b...6n或者虛擬文件系統(tǒng)12a、12b...12n)確定(在方框102)用戶存儲裝置32b中包括所請求的文件集52a的存儲位置和系統(tǒng)存儲裝置32a中具有待復制的文件集52a的元數(shù)據(jù)60a的元數(shù)據(jù)存儲位置。一個或多個元數(shù)據(jù)服務器6a、6b...6n停止(在方框104)對待復制的文件集52a(或者其它存儲單元)的輸入/輸出(I/O)請求。在一個實施例中,通過聯(lián)系圖1中訪問正被復制的文件集52a的每個系統(tǒng)(例如客戶機或元數(shù)據(jù)引擎),元數(shù)據(jù)服務器6a、6b...6n可停止(quiesce)I/O。此外,具有待復制的文件集52a的更新的任意系統(tǒng)(例如,客戶機10a、10b...10n或元數(shù)據(jù)引擎4a、4b...4n)將把它們的更新轉出(destage)到存儲子系統(tǒng)30b,以便從發(fā)起客戶機復制請求的及時點起,使待復制的文件集52a一致。管理對具有待復制的元數(shù)據(jù)60a的系統(tǒng)存儲裝置30a的訪問的元數(shù)據(jù)服務器6a...6n可停止(在方框106)對正被復制的文件集52a的元數(shù)據(jù)60a的I/O請求。
處理客戶機請求的元數(shù)據(jù)服務器6a、6b...6n或者客戶機虛擬文件系統(tǒng)12a、12b...12n向用戶數(shù)據(jù)存儲子系統(tǒng)30b提交(在方框108)第一命令,執(zhí)行復制在確定的用戶數(shù)據(jù)存儲位置的所請求文件集52a的第一種復制操作,和向元數(shù)據(jù)存儲子系統(tǒng)30a提交第二命令,執(zhí)行復制所請求文件集52a的元數(shù)據(jù)60a的第二種復制操作。如上所述,文件集可在任意用戶存儲系統(tǒng)8b...8n中。在一個實施例中,作為第一復制操作的一部分,復制用戶數(shù)據(jù)的第一命令可包括對卷或指定文件集的復制操作。復制元數(shù)據(jù)的第二命令可包括復制包含元數(shù)據(jù)60a的一系列存儲塊的操作。
存儲子系統(tǒng)30b執(zhí)行(在方框110)進行第一種復制操作的第一命令,從而通過進行方框112和114的操作,把文件集52a復制成文件集副本52b。在方框112,存儲子系統(tǒng)30b產生指示待復制的文件集52a(它們在復制命令中指出)中的數(shù)據(jù)塊的復制數(shù)據(jù)結構,從而提供文件集52a的及時點副本。在第一命令是卷級FlashCopy命令的一個實施例中,復制數(shù)據(jù)結構56可包含在FlashCopy操作中使用的源卷位圖和目標卷位圖。另一方面,復制數(shù)據(jù)結構56可識別數(shù)據(jù)塊。存儲子系統(tǒng)30b隨后發(fā)起(在方框114)把在復制數(shù)據(jù)結構56中指出的數(shù)據(jù)塊復制到文件集副本52b的操作。
管理對具有元數(shù)據(jù)60a的系統(tǒng)存儲裝置32a的訪問的存儲子系統(tǒng)30a可執(zhí)行第二命令,從而進行(在方框116)第二種復制操作,以便把用戶數(shù)據(jù)的復制文件集52a的元數(shù)據(jù)60a復制成在元數(shù)據(jù)存儲位置的至少一個元數(shù)據(jù)副本60b。
在復制操作完成,產生及時點復制之后,在數(shù)據(jù)塊已被復制到文件集副本52b之前,元數(shù)據(jù)服務器6a...6n啟動(在方框120)對文件集52a、52b的I/O訪問。從而,在實際復制完數(shù)據(jù)之前,系統(tǒng)可認識到復制操作已結束,數(shù)據(jù)可在稍后或在后臺操作中被復制完。在物理地把元數(shù)據(jù)60a復制成元數(shù)據(jù)副本60b之后,存儲子系統(tǒng)30a啟動(在方框122)對元數(shù)據(jù)的I/O訪問。元數(shù)據(jù)副本60b被用于向客戶機10a、10b...10n提供在用戶數(shù)據(jù)存儲系統(tǒng)8b...8n中實現(xiàn)的文件系統(tǒng)的綜覽。虛擬文件系統(tǒng)12a、12b...12n利用復制的元數(shù)據(jù)向客戶機10a、10b...10n提供對在全局名稱空間16中實現(xiàn)的文件系統(tǒng)的訪問。
在圖5的實施例中,利用不同類型的復制操作復制文件集50a和元數(shù)據(jù)60a。利用在實際復制數(shù)據(jù)之前,最初創(chuàng)建識別經歷復制操作的文件集52a中的數(shù)據(jù)塊的數(shù)據(jù)結構56的虛擬復制技術復制文件集50a,以致在創(chuàng)建復制數(shù)據(jù)結構56之后,并在復制數(shù)據(jù)之前,可允許對文件集52a的訪問。這使文件集52a不可用的時間降至最小。此外,利用一種不同的復制操作,例如由元數(shù)據(jù)服務器組織的逐塊復制,復制元數(shù)據(jù)60a,因為在一些實施例中,待復制的元數(shù)據(jù)60a的數(shù)量明顯小于對應的文件集50a,從而在復制元數(shù)據(jù)的時候,不工作時間可能不大,不會拖延對元數(shù)據(jù)的訪問。
此外,在涉及卷級復制的一個實施例中,包括文件集52a的整個源卷54a被復制。在這樣的一個實施例中,源卷54a不包括不經歷復制操作的任何文件集52a。在一個實施例中,復制的元數(shù)據(jù)60a可包括卷的子集,因為包含元數(shù)據(jù)60a的卷包括不經歷復制操作的文件集的元數(shù)據(jù)。在這樣的實施例中,第二種復制操作只從包括被復制的文件集52a的元數(shù)據(jù)的卷中復制包含元數(shù)據(jù)60a,而不包含同一卷中未經歷復制操作的文件集的元數(shù)據(jù)的一系列存儲塊。
圖6圖解說明其中元數(shù)據(jù)的元數(shù)據(jù)服務器6a、6b...6n可產生復制數(shù)據(jù)結構58,從而進行及時點復制,而不復制實際的元數(shù)據(jù),以致在創(chuàng)建復制數(shù)據(jù)結構58之后,并在復制元數(shù)據(jù)60a之前,對元數(shù)據(jù)60a的訪問可返回的實施例。在一個實施例中,復制數(shù)據(jù)結構58指示只有正被復制的元數(shù)據(jù)60a才服從該關系,除了正被復制的那些元數(shù)據(jù)外,與元數(shù)據(jù)60a在同一卷中的文件集的元數(shù)據(jù)未在復制數(shù)據(jù)結構58中指出,不和元數(shù)據(jù)60a一起經歷復制處理。
圖7圖解說明了由圖1中的組件執(zhí)行的復制文件集52a和相關元數(shù)據(jù)60a的操作的一個備選實施例??刂剖加诜娇?00,一個客戶機10a、10b...10n發(fā)起復制用戶數(shù)據(jù)文件集52a和對應元數(shù)據(jù)60a的操作。執(zhí)行客戶機10a、10b...10n請求的系統(tǒng)(它可包括接收客戶機請求的元數(shù)據(jù)服務器6a、6b...6n或者虛擬文件系統(tǒng)12a、12b...12n)確定(在方框202)用戶存儲裝置32b中包括所請求的文件集52a的存儲位置和系統(tǒng)存儲裝置32a中具有待復制的文件集52a的元數(shù)據(jù)60a的元數(shù)據(jù)存儲位置。元數(shù)據(jù)服務器6a、6b...6n停止(在方框204)對待復制的文件集52a的輸入/輸出(I/O)請求。在一個實施例中,通過聯(lián)系訪問待停止的文件集52a的每個客戶機10a、10b...10n,元數(shù)據(jù)服務器6a、6b...6n可停止I/O。此外,具有待復制的文件集52a的更新的任意系統(tǒng)(例如,客戶機10a、10b...10n或元數(shù)據(jù)引擎4a、4b...4n)將把它們的更新轉出到存儲子系統(tǒng)30b,以便從發(fā)起客戶機復制請求的及時點起,使待復制的文件集52a一致。元數(shù)據(jù)服務器6a、6b...6n還停止(在方框206)對待復制的元數(shù)據(jù)的輸入/輸出(I/O)請求。在一個實施例中,通過聯(lián)系圖1中能夠訪問待停止的元數(shù)據(jù)60a的每個系統(tǒng),元數(shù)據(jù)服務器6a、6b...6n可停止I/O。此外,具有待復制的元數(shù)據(jù)60a的更新的任何系統(tǒng)(例如客戶機10a、10b...10n或元數(shù)據(jù)引擎4a、4b...4n)將把它們的更新轉出到存儲子系統(tǒng)30b,以便從發(fā)起客戶機復制請求的及時點起,使待復制的文件集60a一致。
處理客戶機請求的元數(shù)據(jù)服務器6a、6b...6n或者客戶機虛擬文件系統(tǒng)12a、12b...12n向存儲子系統(tǒng)30b發(fā)送(在方框208)第一命令,執(zhí)行復制在確定的用戶數(shù)據(jù)存儲位置的所請求文件集52a(或者其它存儲單元)的第一種復制操作,和向元數(shù)據(jù)存儲子系統(tǒng)30a發(fā)送第二命令,執(zhí)行復制所請求文件集52a的元數(shù)據(jù)60a(元數(shù)據(jù)塊的列表)的第二種復制操作。存儲子系統(tǒng)30b執(zhí)行第一命令,從而實現(xiàn)(在方框210)把文件集52a復制成文件集副本52b的第一復制操作。在一個實施例中,第一復制操作可產生(在方框212)指示待復制的文件集52a中的數(shù)據(jù)塊的文件復制數(shù)據(jù)結構56(圖3),以提供文件集52a的及時點副本。在第一命令是卷級FlashCopy命令的一個實施例中,復制數(shù)據(jù)結構56可包含在FlashCopy操作中使用的源卷位圖和目標卷位圖。存儲子系統(tǒng)30b隨后發(fā)起(在方框214)把在復制數(shù)據(jù)結構56中指示的數(shù)據(jù)塊復制到文件集副本52b的操作。
存儲子系統(tǒng)30a執(zhí)行第二命令,從而實現(xiàn)(在方框216)把元數(shù)據(jù)60a復制成元數(shù)據(jù)副本60b的第二復制操作。存儲子系統(tǒng)20a產生(在方框218)指示待復制的元數(shù)據(jù)60a的數(shù)據(jù)塊的復制數(shù)據(jù)結構58(圖6),從而提供元數(shù)據(jù)60a的及時點副本,它可包含比包括待復制的元數(shù)據(jù)60a的卷中的所有數(shù)據(jù)塊少的數(shù)據(jù)塊。在一個實施例中,復制數(shù)據(jù)結構58可包含在FlashCopy操作中使用的源卷位圖和目標卷位圖。存儲子系統(tǒng)30a隨后發(fā)起(在方框220)把在復制數(shù)據(jù)結構58中指示的數(shù)據(jù)塊復制到元數(shù)據(jù)副本60b的操作。在數(shù)據(jù)塊被復制到文件集副本52b之前,存儲子系統(tǒng)30b啟動(在方框222)對文件集52a、52b的I/O訪問,在數(shù)據(jù)塊被復制到元數(shù)據(jù)副本60b之前,存儲子系統(tǒng)30b啟動(在方框224)對元數(shù)據(jù)60a和元數(shù)據(jù)副本60b的I/O訪問。
在圖7的實施例中,相同的虛擬復制操作,例如FlashCopy被用于復制待復制的文件集54a和元數(shù)據(jù)60a,以致在建立復制數(shù)據(jù)結構56、58之后,并在實際復制數(shù)據(jù)之前,圖1中的系統(tǒng)可以訪問文件集54a和元數(shù)據(jù)60a。
另外的實施例細節(jié)通過利用標準的編程和/或工程技術來產生軟件、固件、硬件或者它們的任意組合,所描述的操作可被實現(xiàn)成一種方法、設備或制造產品。這里使用的術語“制造產品”指的是在有形介質中實現(xiàn)的代碼或邏輯,這種有形介質可包括硬件邏輯(例如集成電路芯片,可編程門陣列(PGA),專用集成電路(ASIC)等)或者計算機可讀介質,比如磁性存儲介質(例如硬盤驅動器、軟盤、磁帶等),光學存儲器(CD-ROM、光盤等),易失性和非易失性記憶裝置(例如EEPROM、ROM、PROM、RAM、DRAM、SRAM、固件、可編程邏輯等)。計算機可讀介質中的代碼由處理器訪問和執(zhí)行。其中代碼或邏輯被編碼的計算機可讀介質還可包含通過空間或傳輸介質,比如光纖、銅導線等傳播的傳輸信號。其中代碼或邏輯被編碼的傳輸信號還可包含無線信號、衛(wèi)星傳輸、無線電波、紅外信號、藍牙等。其中代碼或邏輯被編碼的傳輸信號能夠由發(fā)射站發(fā)射并由接收站接收,在傳輸信號中編碼的代碼或邏輯可被解碼并保存在接收和發(fā)射站或設備的硬件或計算機可讀介質中。另外,“制造產品”可包括其中包含、處理和執(zhí)行所述代碼的硬件和軟件組件的組合。當然,本領域的技術人員會認識到可對這種構造進行許多修改,而不脫離本發(fā)明的范圍,并且制造產品可包含本領域中已知的任何信息承載介質。
在所描述的實施例中,通過創(chuàng)建復制數(shù)據(jù)結構,創(chuàng)建用戶數(shù)據(jù)的及時點副本。在備選的及時點復制實施例中,可產生和上述復制管理信息不同類型的數(shù)據(jù)結構或信息來管理復制操作。
術語“實施例”、“一個或多個實施例”、“一些實施例”和“一個實施例”意味著“本發(fā)明的一個或多個(但不是全部)實施例”,除非另有說明。
術語“包括”、“包含”、“具有”和它們的變型意味著“包括但不限于”,除非另有說明。
術語“一個”和“這個”意味著“一個或多個”,除非另有說明。
相互通信的設備不必一直相互通信,除非另有說明。另外,相互通信的設備可直接通信或者通過一個或多個中間物間接通信。
具有相互通信的幾個組件的一個實施例的描述并不意味著所有這些組件都需要。相反,描述了各種可選組件,以舉例說明本發(fā)明的各種可能實施例。
此外,雖然順序描述了過程步驟,方法步驟,算法等,不過這樣的過程,方法,算法等可被配置成按照其它順序工作。換句話說,可描述的步驟的任何順序或次序并不一定表示要求按照該順序執(zhí)行所述步驟。實際上可按照任何順序執(zhí)行這里描述的過程的步驟。一些步驟可同時執(zhí)行。
當這里描述單一設備或產品時,顯然代替單一設備/產品,可以使用一個以上的設備/產品(無論它們是否協(xié)作)。類似地,在這里描述一個以上的設備或產品(無論它們是否協(xié)作)的情況下,顯然代替所述一個以上設備或產品,可以使用單一設備/產品。
另一方面,設備的功能和/或特征可由一個或多個未被明確描述成具有這種功能/特征的其它設備具體體現(xiàn)。從而,本發(fā)明的其它實施例不必包括設備本身。
變量“n”表示部件的整數(shù)數(shù)目的實例,當和不同的部件一起使用時可以取不同的值,例如56n和86n可分別表示相同或不同數(shù)目的現(xiàn)場(field)信息和現(xiàn)場授權的實例。
在一些實施例中,文件集和元數(shù)據(jù)保存在獨立的存儲系統(tǒng)中,系統(tǒng)通過網絡傳送復制文件集和元數(shù)據(jù)的命令。在一個備選實施例中,文件集和元數(shù)據(jù)可保存在相同的存儲系統(tǒng)中,復制命令可由還直接管理包括待復制的文件集和元數(shù)據(jù)的存儲裝置的系統(tǒng)中的程序發(fā)起。
圖5和7的例證操作表示了按照一定順序發(fā)生的一些事件。在備選實施例中,一些操作可按照不同的順序執(zhí)行,被修改或除去??上蛏鲜鲞壿嬙黾硬襟E,并且仍然符合描述的實施例。此外,這里描述的操作可順序發(fā)生,或者一些操作可并行處理。此外,操作可由單個處理單元或者由分布式處理單元執(zhí)行。
出于舉例說明的目的,給出了本發(fā)明的各個實施例的上述說明。上述說明并不是詳盡的,也不打算把本發(fā)明局限于公開的具體形式。鑒于上述教導,許多修改和變化是可能的。本發(fā)明的范圍不受該詳細說明限制,而是由附加的權利要求限定。上述說明,例子和數(shù)據(jù)提供了本發(fā)明的組成物的制造和使用的完整描述。由于在不脫離本發(fā)明的精神和范圍的情況下,可做出本發(fā)明的許多實施例,因此本發(fā)明由附加的權利要求限定。
權利要求
1.一種方法,包括把用戶數(shù)據(jù)保持在用戶數(shù)據(jù)存儲位置;把用戶數(shù)據(jù)的元數(shù)據(jù)保持在元數(shù)據(jù)存儲位置;執(zhí)行第一種復制操作,以便把具有用戶數(shù)據(jù)的至少一個指定存儲單元復制成所述至少一個指定存儲單元的至少一個副本;和執(zhí)行第二種復制操作,以便把被復制的至少一個指定存儲單元的元數(shù)據(jù)復制成復制的至少一個文件集的元數(shù)據(jù)的副本。
2.按照權利要求1所述的方法,其中在用戶數(shù)據(jù)存儲系統(tǒng)中實現(xiàn)用戶數(shù)據(jù)存儲位置,在元數(shù)據(jù)存儲系統(tǒng)中實現(xiàn)元數(shù)據(jù)存儲位置,其中元數(shù)據(jù)存儲系統(tǒng)和用戶數(shù)據(jù)存儲系統(tǒng)與網絡連接,其中客戶機系統(tǒng)與網絡連接,還包括由一個客戶機系統(tǒng)發(fā)出復制所述至少一個指定存儲單元的請求;和響應于客戶機系統(tǒng)請求,把第一命令發(fā)出到用戶數(shù)據(jù)存儲系統(tǒng),以便執(zhí)行第一種復制操作;和響應于客戶機系統(tǒng)請求,把第二命令發(fā)出到元數(shù)據(jù)存儲系統(tǒng),以便執(zhí)行第二種復制操作。
3.按照權利要求2的方法,還包括由客戶機系統(tǒng)訪問位于元數(shù)據(jù)服務器的元數(shù)據(jù),以確定所述至少一個指定存儲單元在存儲系統(tǒng)中的用戶數(shù)據(jù)存儲位置;由客戶機系統(tǒng)使用訪問的元數(shù)據(jù)通過網絡從存儲系統(tǒng)訪問所述至少一個指定的存儲單元;由客戶機系統(tǒng)通過網絡訪問在元數(shù)據(jù)服務器的所述復制的至少一個存儲單元的元數(shù)據(jù)的副本,以確定復制的至少一個存儲單元在存儲系統(tǒng)的存儲位置;和由客戶機系統(tǒng)使用訪問的復制的至少一個文件存儲單元的元數(shù)據(jù)的副本,通過網絡從存儲系統(tǒng)訪問所述至少一個存儲單元的副本。
4.按照權利要求1所述的方法,其中第一種復制操作包括產生指示所述至少一個指定存儲單元中的數(shù)據(jù)塊,從而提供所述至少一個指定存儲單元的及時點副本的復制數(shù)據(jù)結構;和把在復制數(shù)據(jù)結構中指示的數(shù)據(jù)塊復制到所述至少一個指定存儲單元的副本。
5.按照權利要求4所述的方法,還包括停止對所述至少一個指定存儲單元的輸入/輸出(I/O)請求;和在數(shù)據(jù)塊被復制到所述至少一個指定存儲單元的副本之前,響應于產生指針,啟動對所述至少一個指定存儲單元的I/O訪問。
6.按照權利要求1所述的方法,其中第二種復制操作包括停止對被復制的所述至少一個指定存儲單元的元數(shù)據(jù)的輸入/輸出(I/O)請求;把元數(shù)據(jù)復制成元數(shù)據(jù)的副本;和響應于把元數(shù)據(jù)復制成元數(shù)據(jù)的副本,啟動對元數(shù)據(jù)的I/O訪問。
7.一種方法,包括把用戶數(shù)據(jù)保持在用戶數(shù)據(jù)存儲位置;把用戶數(shù)據(jù)的元數(shù)據(jù)保持在元數(shù)據(jù)存儲位置;通過產生指示至少一個存儲單元中的數(shù)據(jù)塊以提供所述至少一個存儲單元的及時點副本的復制數(shù)據(jù)結構,并把數(shù)據(jù)塊復制到在第一復制數(shù)據(jù)結構中指示的至少一個存儲單元的副本,執(zhí)行第一種復制操作,以便把用戶數(shù)據(jù)存儲位置中的至少一個存儲單元復制成所述至少一個存儲單元的副本;執(zhí)行第二種復制操作,以便把被復制的至少一個存儲單元的元數(shù)據(jù)復制成所述復制的至少一個存儲單元的元數(shù)據(jù)的副本,從而提供元數(shù)據(jù)的及時點副本,并把包含該元數(shù)據(jù)的數(shù)據(jù)塊復制成在第二復制數(shù)據(jù)結構中指示的元數(shù)據(jù)的副本。
8.按照權利要求7所述的方法,其中第一種復制操作中涉及的所述至少一個存儲單元包含源卷,所述至少一個存儲單元的副本包含目標用戶數(shù)據(jù)卷,其中在所述源卷中,不存在未包括在正被復制的至少一個文件集中的文件集,其中第二種復制操作從一個元數(shù)據(jù)卷中的元數(shù)據(jù)的第一子集中復制元數(shù)據(jù),并且其中元數(shù)據(jù)卷中的元數(shù)據(jù)的第二子集包括用戶數(shù)據(jù)存儲位置中未經歷第一種復制操作的至少一個文件集的元數(shù)據(jù)。
9.一種與包括用戶數(shù)據(jù)的用戶數(shù)據(jù)存儲位置和包括用戶數(shù)據(jù)的元數(shù)據(jù)的元數(shù)據(jù)存儲位置通信的系統(tǒng),包括處理器;由處理器執(zhí)行以便完成操作的代碼,所述操作包括發(fā)起第一種復制操作,以便把具有用戶數(shù)據(jù)的至少一個指定存儲單元復制成所述至少一個指定存儲單元的至少一個副本;和發(fā)起第二種復制操作,以便把被復制的至少一個指定存儲單元的元數(shù)據(jù)復制成復制的至少一個文件集的元數(shù)據(jù)的副本。
10.按照權利要求9所述的系統(tǒng),其中在用戶數(shù)據(jù)存儲系統(tǒng)中實現(xiàn)用戶數(shù)據(jù)存儲位置,在元數(shù)據(jù)存儲系統(tǒng)中實現(xiàn)元數(shù)據(jù)存儲位置,其中元數(shù)據(jù)存儲系統(tǒng)和用戶數(shù)據(jù)存儲系統(tǒng)與網絡連接,其中客戶機系統(tǒng)與網絡連接,還包括從客戶機系統(tǒng)接收復制所述至少一個指定存儲單元的請求;和響應于客戶機系統(tǒng)請求,把第一命令發(fā)出到用戶數(shù)據(jù)存儲系統(tǒng),以便執(zhí)行第一種復制操作;和響應于客戶機系統(tǒng)請求,把第二命令發(fā)出到元數(shù)據(jù)存儲系統(tǒng),以便執(zhí)行第二種復制操作。
11.按照權利要求所述9的系統(tǒng),其中所述系統(tǒng)包括使用元數(shù)據(jù)和元數(shù)據(jù)副本訪問用戶數(shù)據(jù)和用戶數(shù)據(jù)副本的客戶機系統(tǒng),或者與客戶機通信的元數(shù)據(jù)服務器,其中所述請求接收自客戶機。
12.按照權利要求9所述的系統(tǒng),其中第一種復制操作包括產生指示所述至少一個指定存儲單元中的數(shù)據(jù)塊,從而提供所述至少一個指定存儲單元的及時點副本的復制數(shù)據(jù)結構;和把在復制數(shù)據(jù)結構中指示的數(shù)據(jù)塊復制成所述至少一個指定存儲單元的副本。
13.按照權利要求9所述的系統(tǒng),其中第二種復制操作包括停止對被復制的所述至少一個指定存儲單元的元數(shù)據(jù)的輸入/輸出(I/O)請求;把元數(shù)據(jù)復制成元數(shù)據(jù)的副本;和響應于把元數(shù)據(jù)復制成元數(shù)據(jù)的副本,啟動對元數(shù)據(jù)的I/O訪問。
14.一種包括與具有用戶數(shù)據(jù)的用戶數(shù)據(jù)存儲位置和具有用戶數(shù)據(jù)的元數(shù)據(jù)的元數(shù)據(jù)存儲位置通信的代碼的制造產品,其中所述代碼導致操作被執(zhí)行,所述操作包括執(zhí)行第一種復制操作,以便把具有用戶數(shù)據(jù)的至少一個指定存儲單元復制成所述至少一個指定存儲單元的至少一個副本;和執(zhí)行第二種復制操作,以便把被復制的至少一個指定存儲單元的元數(shù)據(jù)復制成復制的至少一個文件集的元數(shù)據(jù)的副本。
15.按照權利要求14所述的制造產品,其中在用戶數(shù)據(jù)存儲系統(tǒng)中實現(xiàn)用戶數(shù)據(jù)存儲位置,在元數(shù)據(jù)存儲系統(tǒng)中實現(xiàn)元數(shù)據(jù)存儲位置,其中元數(shù)據(jù)存儲系統(tǒng)和用戶數(shù)據(jù)存儲系統(tǒng)與網絡連接,其中客戶機系統(tǒng)與網絡連接,其中所述操作還包括從客戶機系統(tǒng)接收復制所述至少一個指定存儲單元的請求;和響應于客戶機系統(tǒng)請求,把第一命令發(fā)出到用戶數(shù)據(jù)存儲系統(tǒng),以便執(zhí)行第一種復制操作;和響應于客戶機系統(tǒng)請求,把第二命令發(fā)出到元數(shù)據(jù)存儲系統(tǒng),以便執(zhí)行第二種復制操作。
16.按照權利要求14所述的制造產品,其中第一種復制操作包括產生指示所述至少一個指定存儲單元中的數(shù)據(jù)塊,從而提供所述至少一個指定存儲單元的及時點副本的復制數(shù)據(jù)結構;和把在復制數(shù)據(jù)結構中指示的數(shù)據(jù)塊復制成所述至少一個指定存儲單元的副本。
17.按照權利要求16所述的制造產品,其中所述操作還包括停止對所述至少一個指定存儲單元的輸入/輸出(I/O)請求;和在數(shù)據(jù)塊被復制到所述至少一個指定存儲單元的副本之前,響應于產生指針,啟動對所述至少一個指定存儲單元的I/O訪問。
18.按照權利要求14所述的制造產品,其中第二種復制操作包括停止對被復制的所述至少一個指定存儲單元的元數(shù)據(jù)的輸入/輸出(I/O)請求;把元數(shù)據(jù)復制成元數(shù)據(jù)的副本;和響應于把元數(shù)據(jù)復制成元數(shù)據(jù)的副本,啟動對元數(shù)據(jù)的I/O訪問。
19.一種包括與具有用戶數(shù)據(jù)的用戶數(shù)據(jù)存儲位置和具有用戶數(shù)據(jù)的元數(shù)據(jù)的元數(shù)據(jù)存儲位置通信的代碼的制造產品,其中所述代碼導致操作被執(zhí)行,所述操作包括通過產生指示至少一個存儲單元中的數(shù)據(jù)塊以提供所述至少一個存儲單元的及時點副本的復制數(shù)據(jù)結構,并把數(shù)據(jù)塊復制到在第一復制數(shù)據(jù)結構中指示的至少一個存儲單元的副本,執(zhí)行第一種復制操作,以便把用戶數(shù)據(jù)存儲位置中的至少一個存儲單元復制成所述至少一個存儲單元的副本;執(zhí)行第二種復制操作,以便把被復制的至少一個存儲單元的元數(shù)據(jù)復制成所述復制的至少一個存儲單元的元數(shù)據(jù)的副本,從而提供元數(shù)據(jù)的及時點副本,并把包含該元數(shù)據(jù)的數(shù)據(jù)塊復制成在第二復制數(shù)據(jù)結構中指示的元數(shù)據(jù)的副本。
20.按照權利要求19所述的制造產品,其中第一種復制操作中涉及的所述至少一個存儲單元包含源卷,所述至少一個存儲單元的副本包含目標用戶數(shù)據(jù)卷,其中在所述源卷中,不存在未包括在正被復制的至少一個文件集中的文件集,其中第二種復制操作從一個元數(shù)據(jù)卷中的元數(shù)據(jù)的第一子集中復制元數(shù)據(jù),并且其中元數(shù)據(jù)卷中的元數(shù)據(jù)的第二子集包括用戶數(shù)據(jù)存儲位置中未經歷第一種復制操作的至少一個文件集的元數(shù)據(jù)。
全文摘要
提供一種把存儲單元和相關元數(shù)據(jù)復制到存儲器的方法、系統(tǒng)和程序。用戶數(shù)據(jù)存儲位置包括用戶數(shù)據(jù),元數(shù)據(jù)存儲位置包括用戶數(shù)據(jù)的元數(shù)據(jù)。執(zhí)行第一種復制操作,以便把具有用戶數(shù)據(jù)的至少一個指定存儲單元復制成所述至少一個指定存儲單元的至少一個副本。執(zhí)行第二種復制操作,以便把被復制的至少一個指定存儲單元的元數(shù)據(jù)復制成復制的至少一個文件集的元數(shù)據(jù)的副本。
文檔編號G06F11/14GK1916862SQ200610102000
公開日2007年2月21日 申請日期2006年7月18日 優(yōu)先權日2005年8月15日
發(fā)明者斯蒂芬·F·考瑞爾 申請人:國際商業(yè)機器公司