專利名稱:在信息生命周期管理環境中將文件恢復到其適當的存儲級的制作方法
技術領域:
本發明涉及數據存儲。更特別地,本發明涉及分級的數據存儲 環境,在該環境中數據存儲設備設置為分級的層級,并且根據策略 感知的數據放置算法來將數據存儲于其中。更特別地,本發明涉及 使用改進的文件備份和恢復技術的分級存儲數據的保護。
背景技術:
從背景技術上看,數據存儲的成本可能依據底層數據存儲設備 的性質和能力而發生相當大的變化。示例性的存儲成本決定條件包
括所采用的基本存儲技術(例如,盤或帶)以及設備操作特性, 諸如訪問速度、傳送率、數據冗余、容錯等。在分級存儲系統中, 基于相對設備成本(和關聯能力)來將存儲設備的集合劃分為層級 限定的存儲級。該設置通過將較低價值的數據放置在較低成本的較 低級存儲設備上、而將高成本的較高級存儲設備預留給較高價值的 數據,而允許數據擁有者來調節其總的數據存儲投入。
信息生命周期管理ULM)包括數據"價值,,的評估以及將這樣 的數據相應地分配到分級存儲設備。通過使用根據定義的參數將數 據進行分類的基于策略的數據放置算法(該算法考慮到了不同的因 素,如訪問速度需求、預期的訪問頻率、預期的并發級等),可以 將數據集(例如,文件、文件集、目錄、邏輯值等)分配到存儲級, 其反映了對數據存儲資源的最好利用。ILM還預先考慮到,對于在 一個存儲級中創建的數據集,在其生命周期期間可能需要根據它們 感知的價值改變而移到其他存儲級。
為了提供相對于分級存儲系統及其底層ILM事務的應用透明
度,通常存在單個的文件系統,其為存儲在各個級中的所有數據提 供全局命名空間。因此,應用可以以常規的方式(例如,經由文件 和路徑名查找)訪問它們的數據,而不必知道在文件系統內數據如 何分配到特定的存儲設備。同理,級與級之間的數據移動不影響應 用對其數據的訪問能力。
在單文件系統上下文中,基于策略的數據放置和IL M的現有缺 點在于難以實現傳統的數據備份/恢復保護。例如,考慮一種數據備 份/恢復序列,其中由分級存儲文件系統維護的數據定期地被復制到 備份存儲資源上的備份文件系統,然后接著恢復至原始文件系統。 常規的備份/恢復產品將會把數據文件的內容及其標準文件元數據
(例如,所有權和授權標識符、時間戳等)備份到備份存儲設備。 然而,常規的備份/恢復產品不知道或者幾乎不知道可以被分級存儲 文件系統4吏用以^使維護ILM環境中的文件的擴展ILM元數據的類別
(例如,存儲級標識符、服務類標識符等)。也不容易通過常規的 文件系統接口來獲取這樣的信息。結果,后來的恢復操作不能保證 文件的內容將被放入由策略決定的存儲級。 一般情況下,在恢復操 作期間,文件將不會被放入正確的存儲級。該結果將導致次優存儲 設備利用和應用性能。存儲級也可能過早填滿,這可能導致應用停 歇。對于企業來說,應用停歇時間通常是非常昂貴的。
盡管可能基于標準文件元數據來實現分配數據的策略放置規 則,但是在常規恢復操作期間使用備份的文件的元數據并不實際。 這是因為文件標準屬性的完整集在文件內容已經恢復之前通常沒有 傳送到目標文件系統。在文件數據已經恢復之前恢復元數據將使該 文件可訪問但是不完整,而應用訪問該文件的任何企圖將導致嚴重 的應用錯誤。
對先前備份到帶的文件進行的典型恢復過程(假設文件系統是 適于POSIX的)將包括以下使用分級存儲文件系統中的常規文件系 統調用的步驟
1)恢復應用使用O CREATE標志發出對分級存儲文件系
統的open()調用,以創建將要恢復的文件(恢復文件);
2) 恢復應用從備份文件緩存向恢復文件緩存復制數據塊;
3) 恢復應用從備份元數據來設置恢復文件的許可、所有 者、組、時間戳;以及
4) 恢復應用發出對分級存儲文件系統的close()調用以關 閉恢復文件。
在該例子中,恢復的文件可能容易被評價為錯誤的存儲級。發 生上述問題的原因是需要在寫入第一文件塊之前而不是在寫入數據 之后做出分配決定。這里,在恢復操作結束之前,目標文件系統不 知道分配信息(即,備份文件元數據)。
本發明的目的在于改進在分級數據存儲環境中的文件的備份和 恢復。特別地,需要一種技術,用于在備份和恢復操作期間處理擴 展的文件元數據,以及用于無論何時將文件從備份存儲文件系統恢 復到分級存儲文件系統都能正確地標識文件的適當分級位置。
發明內容
從一個方面來看,本發明提供一種用于在分級存儲系統中實現 策略感知的備份和恢復能力的技術。當將數據集的內容從分級存儲 系統備份到備份存儲系統時,也對該數據集的元數據進行備份。在 將數據集從備份存儲系統恢復到分級存儲系統之前,將備份的元數 據進行恢復和處理以確定該數據集將恢復到的分級存儲系統中的 級。
在本發明的示例性實施例中,元數據包括信息生命周期管理 (ILM)元數據、標準文件元數據或兩者的結合。元數據備份操作包 括將元數據從分級存儲系統上的文件系統提供到備份應用,并且在 該分級存儲系統以外的持久存儲設備中保存該元數據。分級存儲文 件系統提供的文件系統調用允許備份應用發起元數據備份操作。該 分級存儲文件系統通過將元數據提供給備份應用以存儲在持久存儲 設備中來對該調用進行響應。備份應用可以將該元數據作為不透明
二進制對象來存儲或者以任何合適的格式來存儲。
在本發明的另 一個示意性實施例中,元數據處理操作包括在文 件系統打開與分級存儲系統相關聯的數據文件之前,將該元數據從 分級存儲系統以外的持久存儲設備恢復到分級存儲文件系統。分級 存儲文件系統提供的文件系統調用允許恢復應用發起元數據傳送操 作。元數據處理操作還可以包括將策略放置規則應用于該元數據以 確定該數據集的合適的存儲級。
現在參照附圖僅示例性地描述本發明,其中 圖1是示出根據本發明的示例數據存儲環境的功能框圖; 圖2是在圖1的數據存儲環境中維護的示例元數據的圖示; 圖3A是在圖1的數據存儲環境中維護的第一示例備份元數據的 圖示;
圖3B是在圖1的數據存儲環境中維護的第二示例備份元數據的 圖示;
圖3C是在圖1的數據存儲環境中維護的第三示例備份元數據的 圖示;
圖4是示出與元數據備份操作相關聯的示例處理的流程圖; 圖5是示出與元數據恢復操作相關聯的示例處理的流程圖; 圖6是示出與支持文件恢復操作的元數據處理相關聯的示例處 理的流程圖7是其中可以實現本發明的示例數據存儲網絡;以及
圖8是示出可以用來提供用于根據本發明在分級存儲系統中實
現策略感知的備份和恢復能力的計算機程序產品的物理介質的圖示說明。
具體實施例方式
現在參見附圖,其中在所有附圖中相同的參考標號指示相同的
部件,圖1圖示了示例數據存儲環境2,其中分級數據存儲系統4 包括1至n個存儲級6r6n,其中"n"是任意的并且是根據數據存儲
要求選擇的。如上文在背景技術中所述,存儲級6i-6n可以代表不同
類的存儲設備,根據ILM策略放置算法將數據集分配到該存儲設備。 可以使用任何數量的不同類型的物理存儲設備來實現存儲級6廣6n。 僅舉例為包括盤子系統、RAID陣列、JBOD存儲設備、帶庫、光盤 庫(optical library)等。可以理解,可以用單個存儲設備實現每個存 儲級6r6n,或者將每個存儲級6r6n實現為包含任何所需數目的存儲 設備的池。僅通過例子便可知,存儲級6i可能包含快速企業類RAID 存儲設備,需要將其數據復制到故障恢復數據中心;存儲級62可以 是可靠性較低的SATA存儲設備的池,用于具有不同備份要求的數 據;以及存儲級6n可以是非常快的固態存儲設備池,用于根本沒有 備份的臨時文件。
每個存儲級6廣6n可能具有根據其底層存儲類型(例如盤或帶) 和操作能力的關聯存儲成本。ILM策略規則可能設計為將較低價 值的數據放置于較低成本的、較低級存儲設備,而將高成本的較高 級存儲設備預留給較高價值的數據。ILM策略規則還可以定期地將 數據集在存儲級6廣6n之間移動以適應情況的變化。注意,在數據存 儲環境2中實現的ILM策略的細節與本發明無關。
存儲系統4由分級存儲文件系統8管理,該文件系統8為在存 儲級6r6n上維護的數據集(例如,文件)提供全局命名空間。在文 件系統8中,每個文件都將具有一個全局標識符(例如,文件和路 徑名),該全局標識符相對于存儲系統4中的其他文件是唯一的。 這允許應用如同存儲系統4是運行本地文件系統的本地存儲設備那 樣利用該存儲系統4。該應用不需關心文件實際上存儲在存儲系統4 內的何處。
文件系統8執行對文件位置進行跟蹤的工作,文件系統8在持 久存儲設備中維護存儲系統4中的所有文件的ILM元數據信息。在 大多數情況下,在存儲系統4本身內提供該持久存儲設備,但是也可能使用分離的存儲設備。由于將標準文件元數據與文件系統所維
系統8所使用的ILM元數據信息持久化的邏輯位置將伴隨每個數據 集的標準文件元數據。在圖1中,文件系統8維護的文件元數據由 參考標號IO來表示。文件元數據10示出為與全部存儲級6廣6n相關 聯,由此表明在各級上維護的數據集具有關聯的元數據。然而,每
個存儲級6!-6n不必一定存儲其自身的元數據。在一些架構中,可以
在專用存儲設備中維護元數據10。其他的設置也是可能的,例如在 全部或一些存儲級中維護該元數據IO的冗余副本。
現在參見圖2,文件元數據10示出為包括標準文件元數據10A 以及ILM元數據IOB。標準文件元數據IOA代表文件系統常規維護 的信息類型,諸如存儲在盤上的Unixinode的域。該信息包括文件 系統內的唯一文件系統標識符(例如,inode號)、文件分配和命名 空間定位符(例如,文件大小、塊號等)、所有權及授權標識符(例 如,所有者/組的名稱和許可)和時間戳(例如,創建時間、修改時 間、訪問時間等)。ILM元數據IOB可以代表標識文件的存儲級分 配的任何信息,或者代表可以由策略規則處理以確定存儲級分配的 任何信息。前者的例子是直接指定了文件所分配的存儲級的存儲池 標識符、以及在安裝或初始化維護該文件的文件系統期間生成的文 件系統實例標識符(文件系統ID)。后者的例子是服務類標識符, 其可以用于分配存儲級。可以存儲在ILM元數據10B中的其他信息 可以是所分配的存儲級的屬性信息。該信息可以用于文件的原始存 儲級在恢復時不可用的情況下(見下文)將文件放置于對等的可選 存儲級。
現在返回到圖1,示出的文件系統8用來實現文件系統接口 12 和數據管理方法14。文件系統接口 12可以提供應用程序接口 (API) 調用集,例如分別用于打開和關閉文件的常規open()和close()調用。 正如以下將要詳細描述的,本發明的一種方式可以實現為提供至 少兩個新的文件系統調用,該新的文件系統調用補充文件系統8常
規提供的調用的正常查詢(compliment)。數據管理方法表示文件系 統8實現、響應于文件系統接口 12的調取來與在存儲系統4中維護 的文件進行交互的例程。除了以下關于在此公開的新文件系統的更 詳細地描述以外,數據管理方法14實際上是常規的方法。
圖l還示出備份/恢復應用16,其主要功能為(1)備份存儲系 統4的文件(由備份應用16A執行);以及(2)其后在需要時恢復 所備份的文件(由恢復應用16B執行)。備份/恢復應用16是文件 系統8的客戶端,其使用文件系統接口 12對存儲池文件進行讀和寫, 并且定期地掃描文件元數據10。可以理解,備份/恢復應用16可以 本地運行于與文件系統8相同的數據處理硬件上,或者當經由網絡 或者其他通信介質與該文件系統通信時,備份/恢復應用16可以遠程 地在分離的數據處理硬件上執行。
數據存儲環境2中的策略感知的備份和恢復功能由用于在文件 系統8和備份/恢復應用16之間交換元數據的機制來支持。更特別地, 當備份應用16A將文件內容從分級存儲系統4中進行備份的時候, 也備份該文件的元數據。如果在初始元數據備份之后,已備份的文 件的元數據發生改變(例如,由于在存儲系統4中移動了該文件), 則在增量備份期間可以更新元數據而不必進行完全的文件備份。增 量備份可以由文件系統發起(例如,當文件的元數據由于被移動到 不同的級而發生改變時報告給備份/恢復應用16)。可選地,增量備 份可能由備份/恢復應用16根據定期檢查的結果來發起,該定期檢查 是為了查看其存儲的元數據是不是當前的。
如果變為需要恢復文件,則該文件的備份的元數據首先由恢復 應用16B恢復到文件系統8,然后由文件系統8進行處理以確定該 文件所屬的適當存儲級。更特別地,恢復的元數據幫助文件系統8 確定指定文件的備份塊應當分配到哪里。文件系統分配算法(數據 管理方法14之一)將從恢復的元數據中發現當備份文件時該文件的 所存儲到的存儲級,并且也可以知道有助于與關于將該文件放置在 何處的告知決定的其他信息。然后,該文件可以以通常方式恢復,
但是保證將所恢復的數據將放置在存儲系統4中的正確的級。
可以用來支持元數據在文件系統8和備份/恢復應用16之間的交 換的一個示例性數據格式是不透明BLOB (二進制大對象)20。如 本領域技術人員所理解的那樣,不透明BLOB是二進制數據的非格 式化的集合。因為不需要數據結構(相對于備份/恢復應用16)并且 管理該數據需要較少的內存開銷,所以該格式是方便的。對于備份/ 恢復應用16來說,BLOB 20可以是不透明的(非結構化且不具有含 義),因為其中的信息是簡單存儲的但是不由備份/恢復應用使用。 另一方面,對于文件系統8來說,BLOB20是結構化的和可理解的, 因為文件系統了解其中的信息并且用其將文件恢復到它們的適當存 儲級。圖1圖示了在文件系統8和備份/恢復應用16之間交換的備份 BLOB 20。圖l還示出由備份/恢復應用16在持久存儲設備18中維 護備份BLOB20的集22。注意,持久存儲設備18可以是用于維護 備份的文件的相同存儲設備,也可以是分離的存儲設備。持久存儲 設備18也可能位于存儲系統4內,但是通常與其分開以提供容錯。
如圖3A、 3B和3C所示,文件的備份BLOB20可以包含在存儲 系統4中維護的全部或一些文件元數據18。在圖3A中,備份BLOB 20僅包含ILM元數據10B。在圖3B中,備份BLOB 20包含ILM元 數據10B和標準文件元數據10A。在圖3C中,備份BLOB 20僅包 含標準文件元數據10A。也可以使用其他類型的元數據。
現在參見圖4,示例性的元數據備份操作可以根據示出的處理步 驟由文件系統8和備份應用16A來執行。該處理利用了新的文件系 統調用,其可由備份應用16A來調取以從文件系統8獲取備份BLOB 20。盡管新的文件系統調用提供了定義明確的API機制的便利,但 是可以理解,該備份技術僅是示例性的。其他的技術也可以用于從 文件系統8備份元數據。
在步驟S1中,備份應用16A執行常規的備份操作以備份數據文 件、或者確定需要不帶并發文件備份的元數據備份。如果執行了常 規的文件備份操作,則通常將執行文件的元數據備份。如果沒有執
行常規的文件備份,則為了反映在存儲級之間的數據文件移動、存 儲級屬性中的變化或者其他原因,可能仍然需要元數據備份。這可 以作為增量備份操作來執行。增量備份操作可以由分級存儲文件系
統8在任何合適的時候發起,例如由于文件從一個存儲級移動到另 一個存儲級而發生文件的元數據改變時發起。文件系統8發起增量 備份的一種方式可以是通過合適的接口向備份/恢復應用16提供改 變的文件的列表。文件系統8也可以使用其他技術來發起增量備份。 增量備份操作也可以由備份/恢復應用16來發起。特別地,備份應用 16A可以定期地請求文件系統8以提供先前已經備份的數據文件的 BLOB 20,然后將新提供的BLOB與在持久存儲設備18中維護的備 份BLOB集22中的相應的BLOB進行比較。對于在BLOB集22中 所有已改變的BLOB20,可以:坡它們的較新對應部分所替換。由備 份應用16A發出的定期BLOB請求可以是使用以下描述的
metadata—backup()文件系統調用發出的。這樣,使用增量備份,任何 在文件系統8中改變的元數據將是由備份應用16A向持久存儲設備 18進行的增量備份的候選。
在步驟S2中,備份應用16A創建存儲器緩存,該存儲器緩存具 有相關聯的指向文件系統8可訪問的存儲器位置的指針。存儲器緩 存應該足夠大使得文件系統8可以將備份BLOB 20傳遞到包含有將 要備份的元數據的備份應用16A。在步驟S3中,備份應用16A發出 文件系統調用,該文件系統調用可以稱為metadata—backup()。該調 用的參數可以包括將要備份其元數據的文件的文件名(帶有相關聯 的命名空間路徑)或者打開文件描述符、指向存儲器緩存的指針以 及緩存大小指示符。
示例性的C語言代碼版本的使用文件名參數的metadata_backup()
調用可以采:f又以下形式<formula>formula see original document page 15</formula>
示例性的c語言代碼版本的使用文件描述符參數的
metadataj)ackup()調用可以釆取以下形式
int m@tadata !b.ac:kup (int fd,
void * nie t a da t a P,
在以上的兩個例子中,"int"返回值可以是標準錯誤值(例如, POSIX的"errno (錯誤編號)"值),該值指示函數調用是成功還 是失敗。
在步驟S4中,文件系統8將識別的文件名或文件描述符的元數 據作為備份BLOB 20從元數據10復制到在函數調用中標識的緩存。 在步驟S5中,備份應用16A從該緩存中讀取元數據并且將其復制到 持久存儲設備18。這樣就完成了元數據備份操作。
現在參見圖5,當需要從備份存儲設備向文件系統8恢復數據文 件時,示例性的元數據恢復操作可以根據示出的所述處理步驟由文 件系統8和恢復應用16B來執行。該處理利用了可由恢復應用16B 調取的新的文件系統調用,用以將文件的備份BLOB 20從持久存儲 設備18恢復到文件系統8,接著文件系統使用包含在BLOB中的信 息打開在正確存儲級中恢復的文件。盡管新的文件系統調用提供了 定義明確的API機制的便利,但是可以理解,該備份技術僅是示例 性的。其他的技術也可以用來將文件及其元數據恢復到文件系統8。
在步驟S6中,恢復應用16B創建存儲器緩存,該存儲器緩存具 有相關聯的指向文件系統8可訪問的存儲器位置的指針。存儲器緩 存應該足夠大,以使得恢復應用16B可以將備份BLOB20傳遞到文 件系統8,該文件傳遞系統8包含有用于將被恢復的數據文件的元數 據。在創建內存緩存后,恢復應用16B將期望的備份BLOB20放置 于其中。在步驟S7中,恢復應用16B發出文件系統調用,該調用可 以稱為metadata_restore_open()。該調用的參數可以包括將要恢復的 正在恢復的文件的文件名、指向存儲器緩存的指針以及緩存大小指 示符。如果遵循POSIXopen()調用格式,貝'J metadata—restore—open() 調用也可以包括標準模式和標志參數。
示例性的C語言代J馬版本的metadata_restore—open()調用可以采:取以下的形式
<formula>formula see original document page 17</formula>
在以上的例子中,"int"返回值可以是標準錯誤值(例如,POSIX "ermo (錯誤編號)"值),該值指示函數調用是成功還是失敗。
在步驟S8中,文件系統8讀取緩存以獲取包含所標識的文件名 的元數據的備份BLOB 20。這樣將元數據恢復到文件系統8并且使 文件系統檢查元數據以做出級分配決定國。文件系統8處理恢復的元 數據以確定將要恢復的文件的正確的存儲級。在步驟S9中,文件系 統8打開并且可能在標識的目標存儲級上創建新恢復文件,并且將 文件描述符返回到恢復應用16B。在步驟S10中,恢復應用將數據 塊從備份的文件寫入到恢復文件然后關閉該文件。這樣就完成了恢 復操作。
現在參見圖6,其示出了可以由文件系統8實現以處理根據步驟 S8恢復的元數據的示例性邏輯。盡管可以把將要描述的元數據處理 行為作為數據管理方法14的一部分編程放入文件系統,但是增強將 允許由管理文件系統指示或恢復應用指示來修改該行為,由此給予 管理者或操作者一些關于如何做出這些決定的控制權。從步驟Sll 開始,文件系統8初始地基于恢復的元數據來標識候選存儲級。多 數情況下,該存儲級是當備份文件時文件所存儲的存儲級(預備份 存儲級)。在步驟S12中,文件系統8搜索預備份存儲級以確定該 恢復文件版本是否存在。如果存在,則在步驟S13中文件系統8打 開所述級中的恢復文件。如果在步驟S12中確定所述恢復文件版本 不存在于預備份存儲級中,則實現步驟S14,并且文件系統8搜索其 他級以確定是否存在該文件版本。如果存在,則在步驟S15中文件 系統8打開該級中的恢復文件。
如果在步驟S14中確定在另一存儲級中不存在恢復文件版本, 則意味著不能找到該文件,實現步驟S16以檢查可用ILM資源以確
定預備份存儲級是否存在。如果存在,則在步驟S17中文件系統8 在所述級創建恢復文件。唯一的例外是,如果原始存儲級的文件系 統ID已經改變并且與備份文件時存在的原始本地文件系統ID(其可 以存入文件備份BLOB 20)不匹配時的情況。這意味著文件被移動 到不同的或新的文件系統,并且其先前的存儲級可能不再適用。在 這種情況下,處理將進行到如下所述的步驟S18。
如果在步驟S16中確定不存在預備份級(或者存在但具有不同 的文件系統ID),則實現步驟S18。在該步驟中,文件系統8基于 恢復元數據的策略規則評價來在可用的最適合的存儲級中創建恢復文件. 同樣, 根據合適的分級存儲策略可以實現任何適合的策略規則集。
轉向圖7,示出了根據本發明的示例性的分級數據存儲網絡30, 其可用來實現上述策略感知的備份和恢復技術。存儲網絡30包括多
個存儲網絡主機32^ 322......32n,其通過網絡結構34進行互連成為
分級存儲池集,該分級存儲池集(僅舉例說明)包括四個存儲子系
統36、 38、 40和42。網絡主機32p 322......32 可以是數據使用
(consuming)客戶機,其是所存儲數據的終端用戶,或者該網絡主 機可以是處理來自沒有連接到數據存儲網絡的遠程數據使用客戶端 的數據存儲請求的存儲管理器。示例性的存儲管理器例如包括數據 庫服務器、文件服務器、應用服務器等。在本發明的上下文中,備
份和恢復應用可以直接在網絡主機32p 322......32n上執行,或者在
連接到網絡主機的遠程客戶機上執行。每個存儲子系統36、 38、 40 和42可以代表存儲網絡30中的明確的存儲級。文件元數據可以與
36、 38、 40和42中。可選地,文件元數據可以存儲在子系統36、 38、 40和42的子集上,由此提供專用元數據存儲。
除了它們的存儲網絡結構連接,網絡主機32!、 322......32n也通
過文件系統控制網絡4 4來互連以在存儲網絡3 0中實現分布式文件 系統。如在數據存儲領域中所知,在存儲網絡環境中的分布式文件
系統的目標是提供以下優勢文件的全局命名空間(而無論這些文 件存儲在何處)、從任何網絡主機到任何存儲設備的共享訪問以及 集中的基于策略的管理。提供存儲網絡分布式文件系統的示例性商 業產品為IBM TotalStorage SAN文件系統。IBM GPFS (通用并 行文件系統)文件系統是另一示例性產品。
可以將存儲網絡30配置為使網絡主機32!、 322......32。各自實現
分布式文件系統的一個實例。在本發明的上下文中,這意味著每個
網絡主機32!、 322......32n實現metadata—backup()以及
metadata_restore_open()系統調用,以及元凝:據處理和翁:據;改置邏 輯。
可選地,也可以使用帶外(out-of-band)存儲虛擬化方案,其中 由一個或多個網絡主機32" 322......32n (作為元數據服務器)來處
理元數據管理,而剩余的網絡主機作為元數據客戶端。在存儲網絡 30的數據訪問操作期間,元數據服務器將處理來自元數據客戶端的 元數據請求。由此,當元數據客戶端之一需要向或者從存儲子系統 26、 30或32之一傳送數據文件時,元數據客戶端查詢元數據服務器 之一以確定文件位置以及其他控制信息。 一旦該信息返回到元數據 客戶端,并且其獲得對文件的訪問,則該客戶端就可以進行所需的 數據傳送操作而不需要元數據服務器的進一 步干涉。在本發明的上 下文中,metadata—backup()和metadata—restore—open() 系統調用將 由元數據客戶端和服務器聯合處理。元數據處理和數據放置邏輯將 由元數據服務器處理。
由此,已經公開了用于在分級存儲系統中實現策略感知的備份 和恢復能力的技術。可以理解,前述概念可以不同地實現為任何數 據處理系統、機器實現的方法以及計算機程序產品,其中由一個或 多個機器可讀介質提供的編程方法用于控制數據處理系統來執行所 需的功能。用于提供這種編程方法的示例性機器可讀介質由圖8中 參考標號100來表示。介質100示出為常規上可以用于商業軟件銷 售的便攜光存儲盤類型,諸如壓縮盤只讀存儲器(CD-ROM)盤、
壓縮盤讀/寫(CD-R/W)盤、數字通用盤(DVD)。這些介質可以 單獨存儲本發明的編程方法或者將本發明的編程方法與包含所需功 能的另 一軟件產品一起進行存儲。該編程方法也可以由以下來提供 便攜磁介質(如軟盤、閃存條等)、或者磁介質與驅動系統的結合 (例如,盤驅動)、或者在數據處理平臺中結合的介質,諸如隨機 訪問存儲器(RAM)、只讀存儲器(ROM)或者其他半導體或固態 存儲器。更廣泛地,該介質可以包括任何電的、磁的、光的、電磁 的、紅外的、半導體系統或裝置或設備、傳輸或傳播信號或信號承 載介質(如網絡)、或其他可以包含、存儲、通信、傳播或傳送該 編程方法以由數據處理系統、計算機或其他指令執行系統裝置或方 法使用或與其結合使用的實體。
盡管已經描述了本發明的不同實施例,但是可以理,解根據本 發明可以實現許多改變和可選實施例。可以理解,因此不應以除所 附權利要求書及其對等物的精神之外的任何方式限制本發明。
權利要求
1.一種用于在分級存儲系統中實現策略感知的備份和恢復能力的方法,包括對數據集的元數據進行備份,所述數據集的數據集內容從所述分級存儲系統備份到備份存儲系統;以及在將所述數據集從所述備份存儲系統恢復到所述分級存儲系統之前,將所述備份的元數據恢復到所述分級存儲系統,并且處理所述元數據以確定所述數據集將恢復到的所述分級存儲系統中的級。
2. 根據權利要求1所述的方法,其中所述元數據包括信息生命 周期管理(ILM)元數據。
3. 根據權利要求1所述的方法,其中所述元數據包括標準文件 元數據。
4. 根據權利要求1所述的方法,其中所述元數據備份包括在所 述分級存儲系統以外的持久存儲設備中存儲所述元數據。
5. 根據權利要求1所述的方法,其中所述元數據備份包括將所 述元數據存儲為二進制大對象(BLOB)。
6. 根據權利要求1所述的方法,其中所述元數據備份包括將所 述元數據從所述分級存儲系統上的文件系統提供到備份應用。
7. 根據權利要求6所述的方法,其中響應于由所述備份應用發 出的文件系統調用將所述元數據恢復到所述文件系統。
8. 根據權利要求1所述的方法,其中所述元數據恢復包括將所 述元數據從所述分級存儲系統以外的持久存儲設備提供到在所述分 級存儲系統上的文件系統,以及打開與在所述分級存儲系統中的所 述元數據相關聯的數據文件。
9. 根據權利要求8所述的方法,其中通過由恢復應用發出的文 件系統調用將所述元數據恢復到所述分級存儲文件系統。
10. 根據權利要求1所述的方法,其中所述元數據處理包括將 策略放置規則應用到所述元數據,以確定針對所述數據集的所述級。
11. 一種計算機程序產品,包括 一個或多個機器可讀介質;由所述機器可讀介質提供的裝置,用于在數據存儲網絡中對數 據處理平臺進行編程,以通過以下來實現支持策略感知的備份和恢 復操作的分級存儲文件系統在所述分級存儲系統中維護數據集的元數據; 將所述元數據提供到所述數據集之一的備份應用,該數據 集的數據從所述分級存儲系統備份到備份存儲系統;以及在將所述數據集從所述備份存儲系統恢復到所述分級存儲 系統之前,從恢復應用接收所述元數據,并且處理所述元數據 以確定所述數據集將恢復到的所述分級存儲系統中的級。
12. 根據權利要求11所述的程序產品,其中所述元數據包括信 息生命周期管理(ILM)元數據。
13. 根據權利要求11所述的程序產品,其中所述元數據包括標 準文件元數據。
14. 根據權利要求11所述的程序產品,其中代表所述備份應用提供增量元數據備份支持以備份沒有并發文件備份的元數據。
15. 根據權利要求11所述的程序產品,其中將所述元數據作為 二進制大對象(BLOB)提供給所述備份應用。
16. 根據權利要求11所述的程序產品,其中響應于所述備份應 用發出的文件系統調用將所述元數據提供到所述分級存儲文件系 統。
17. 根據權利要求16所述的程序產品,其中所述文件系統調用 包括指針參數,而所述系統調用的處理包括將所述元數據復制到 與所述指針相關聯的存儲器位置以由所述備份應用使用。
18. 根據權利要求11所述的程序產品,其中通過所述恢復應用 發出的文件系統調用將所述元數據接收到所述分級存儲文件系統。
19. 根據權利要求18所述的程序產品,其中所述文件系統調用 包括指針參數,并且所述系統調用的處理包括將所述元數據從與所述指針相關聯的存儲器位置進行復制以由所述分級存儲文件系統使 用。
20. 根據權利要求11所述的程序產品,其中所述元數據處理包 括將策略放置規則應用到所述元數據,以確定針對所述數據集的 所述級。
21. —種計算機程序產品,包括 一個或多個機器可讀介質;由所述機器可讀介質提供的裝置,用于在數據存儲網絡中對數 據處理平臺進行編程,以通過以下來實現支持策略感知的備份和恢 復操作的備份/恢復應用備份所述分級存儲系統中的數據集的元數據,該數據集的數據被備份到備份存儲系統;在持久存儲設備中維護所述備份數據;以及在將所述數據集從所述備份存儲系統恢復到所述分級存儲系統之前,將所述備份元數據恢復到所述分級存儲系統上的分級存儲文件系統,以便處理所述備份元數據,以確定所述數據集將恢復到的所述分級存儲系統中的級。
22. 根據權利要求21所述的程序產品,其中所述備份元數據包 括信息生命周期管理(ILM)元數據。
23. 根據權利要求21所述的程序產品,其中所述備份元數據包 括標準文件元數據。
24. 根據權利要求21所述的程序產品,還包括定期地將所述備 份元數據與在所述分級存儲系統中維護的對應部分元數據進行比 較,并且如果所述對應部分元數據更為當前,則用所述對應部分元 數據來更新所述備份元數據,執行所述更新而不備份與所述備份元 數據相關聯的數據集。
25. 根據權利要求21所述的程序產品,其中將所述元數據作為 二進制大對象(BLOB )備份。
26. 根據權利要求21所述的程序產品,其中所述元數據備份包括向所述分級存儲文件系統發出文件系統調用。
27. 根據權利要求26所述的程序產品,其中所述系統調用包括 指向存儲器位置的指針參數,所述元數據將被復制到該存儲器位置 處以由所述備份應用使用。
28. 根據權利要求21所述的程序產品,其中通過發出的文件系 統調用將所述元數據恢復到所述分級存儲文件系統。
29. 根據權利要求28所述的程序產品,其中所述系統調用包括 指向存儲器位置的指針參數,所述元數據將被復制到該存儲器位置 以由所述分級存儲文件系統使用。
30. 根據權利要求21所述的程序產品,其中所述元數據處理包 括所述分級存儲文件系統將策略放置規則應用到所述元數據,以 確定針對所述數據集的所述級。
31. —種用于在分級存儲系統中支持策略感知的備份和恢復操 作的元數據存儲器,包括在所述分級存儲系統中的存儲介質;存儲在所述存儲介質上的信息生命周期管理(ILM)元數據; 所述ILM元數據包括一個或多個存儲級標識符、服務類標識符和分級存儲屬性;以及所述ILM元數據暴露于支持元數據備份和恢復操作的備份/恢復應用。
32. —種用于實現將數據集從備份存儲設備恢復到分級存儲系 統的策略感知的恢復操作的方法,包括在恢復所述數據集之前對由恢復應用提供的備份元數據進行處 理,以確定所述數據集的存儲級目標;如果所述數據集版本存在于所述數據集的預備份存儲級上,則 執行第一存儲級分配;所述第一存儲級分配包括將所述備份數據集分配到所述預備份 存儲級;如果所述數據集版本所存在的存儲級與所述數據集的預備份存 儲級不同,則執行第二存儲級分配;所述第二存儲級分配包括將所述數據集分配到所述不同的存儲級;如果所述分級存儲系統中不存在所述數據集但是存在所述數據 集的預備份存儲級,則執行第三存儲級分配;所述第三存儲級分配包括將所述數據集分配到所述數據集的預 備份存儲級,除非所述預備份存儲級具有已改變的文件系統標識符, 在此情況下,所述第三存儲級分配包括應用策略放置規則以確定新 的存儲級目標,并且將所述數據集分配到所述新的存儲級目標;以 及如果在所述分級存儲系統中不存所述數據集和所述數據集的預 備份存儲級,則執行第四存儲級分配;以及所述第四存儲級分配包括應用策略放置規則以確定新的存儲 級目標,并且將所述備份數據集分配到所述新的存儲級目標。
全文摘要
一種用于在分級存儲系統中實現策略感知的備份和恢復能力的技術。當將數據集的內容從分級存儲系統備份到備份存儲系統時,也對該數據集的元數據進行備份。在將數據集從備份存儲系統恢復到分級存儲系統之前,將備份的元數據進行恢復和處理以確定該數據集將恢復到的分級存儲系統中的級。
文檔編號G06F11/14GK101361048SQ200780001763
公開日2009年2月4日 申請日期2007年1月4日 優先權日2006年2月3日
發明者D·M·坎農, J·J·小西格, M·W·楊, S·科雷爾, T·K·克拉克, T·L·馬雷克 申請人:國際商業機器公司