專利名稱:在單寫多讀存儲系統(tǒng)中用于記錄保留日期的系統(tǒng)和方法
技術(shù)領域:
本發(fā)明涉及具有增強的數(shù)據(jù)完整性的單寫多讀功能的數(shù)據(jù)存儲 系統(tǒng)。
背景技術(shù):
文件服務器是提供與信息在存儲設備(如磁盤)上的組織相關的文 件服務的計算機。文件服務器或文件管理器包括存儲操作系統(tǒng),該 操作系統(tǒng)實施文件系統(tǒng)以在邏輯上按磁盤上的目錄和文件的層次結(jié) 構(gòu)來組織信息。每個"磁盤上"文件可以實施為用于存儲信息的數(shù) 據(jù)結(jié)構(gòu)集合、例如磁盤塊。另一方面,目錄可以實施為專門格式化 的文件,其中存儲有關其他文件和目錄的信息。
文件管理器還可以配置為根據(jù)信息交付到的客戶機/服務器模型 來操作,由此允許許多客戶機訪問存儲在服務器、例如文件管理器 上的文件。在此沖莫型中,客戶^/L可以包括如數(shù)據(jù)庫應用程序的一種 應用程序,它在計算機上執(zhí)行且通過直接連接或如點到點鏈路、共
享的局域網(wǎng)(LAN)、廣域網(wǎng)(WAN)或在如因特網(wǎng)的公眾網(wǎng)絡上實施的 虛擬專用網(wǎng)絡(VPN)等的計算機網(wǎng)絡"連接,,到文件管理器。每個客 戶機可以通過網(wǎng)絡向文件管理器發(fā)送文件系統(tǒng)協(xié)議消息(以分組的形 式)來請求文件管理器上的文件系統(tǒng)的服務。一種通用類型的文件系統(tǒng)是"寫到位"文件系統(tǒng),其示例是常
規(guī)的Berkeley快速文件系統(tǒng)。通過"文件系統(tǒng)",通常表示在如磁盤 的存儲設備上構(gòu)建數(shù)椐和元數(shù)椐,從而允許在那些磁盤上讀/寫數(shù)據(jù)。 在寫到位文件系統(tǒng)中,如信息節(jié)點和數(shù)據(jù)塊的數(shù)據(jù)結(jié)構(gòu)在磁盤上的 位置通常是固定的。信息節(jié)點是用于存儲關于文件的如元數(shù)據(jù)的信 息的一種數(shù)據(jù)結(jié)構(gòu),而數(shù)據(jù)塊是用于存儲文件的實際數(shù)據(jù)的結(jié)構(gòu)。 信息節(jié)點中所含的信息可以包括例如文件的擁有者、對文件的訪問 許可、文件的大小、文件類型和對文件的數(shù)據(jù)塊在磁盤上的位置的 引用。對文件數(shù)據(jù)位置的引用由信息節(jié)點中的指針提供,它還可以 引用間接塊,由此引用數(shù)據(jù)塊,具體視文件中的數(shù)據(jù)量而定。根據(jù) 寫到位文件系統(tǒng)使對信息節(jié)點和數(shù)據(jù)塊的更改"到位"。如果對文件 的更新擴充文件的數(shù)據(jù)量,則分配附加的數(shù)據(jù)塊并且更新適合的信 息節(jié)點來引用該數(shù)據(jù)塊。
另 一種類型的文件系統(tǒng)是隨處寫文件系統(tǒng),它不蓋寫磁盤上的 數(shù)據(jù)。如果從磁盤上將磁盤上的數(shù)據(jù)塊檢索(讀取)到存儲器中并且與
新數(shù)據(jù)"混雜",則將該數(shù)據(jù)塊存儲(寫)到磁盤上的新位置,由此優(yōu) 化寫性能。隨處寫文件系統(tǒng)最初可以假定最優(yōu)布局,以使數(shù)據(jù)基本 連續(xù)地安排在磁盤上。該最優(yōu)》茲盤布局促成有效率的訪問操作,特 別是對于針對磁盤的順序讀操作。配置為對文件管理器進行操作的 隨處寫文件系統(tǒng)的 一 個特定示例是由加州桑尼維爾的Network Appliance有限公司推出的Write Anywhere File Layout(WAF!/M)文件 系統(tǒng)。WAFL文件系統(tǒng)在微內(nèi)核內(nèi)作為文件管理器和相關磁盤存儲 器的總體協(xié)議棧部分來實施。該微內(nèi)核作為Network Appliance公司 的Data ONTAPTM軟件部分提供,它駐留在文件管理器上且處理來自 聯(lián)網(wǎng)客戶機的文件服務請求。
如本文所用的,術(shù)語"存儲操作系統(tǒng)" 一般是指可在計算機上 操作的計算機可執(zhí)行代碼,它管理數(shù)據(jù)訪問并且可以在文件管理器 的情況中實施文件系統(tǒng)語義,如作為微內(nèi)核實施的且由加州桑尼維爾的Network Appliance有限公司推出的Data ONTApTM存儲操作系 統(tǒng),它實施Write Anywhere File Layout(WAFLTM)文件系統(tǒng)。該存儲 操作系統(tǒng)還可以作為在如UNIX⑧或Windows NT⑧的通用操作系統(tǒng)上 運行的應用程序來實施,或作為具有為本文描述的存儲應用而配置 的可配置功能的通用操作系統(tǒng)來實施。
磁盤存儲通常作為一個或多個存儲"巻"來實施,存儲"巻" 包括定義存儲空間的總體邏輯安排的物理存儲磁盤。目前可用的文 件管理器實施可以服務大量的離散巻(例如150或更多)。每個巻與其 自己的文件系統(tǒng)相關聯(lián),以及就本文目的而言,巻和文件系統(tǒng)一般 將作為同義詞使用。巻內(nèi)的磁盤通常;f皮組織為一個或多個獨立(或便 宜的)磁盤的冗余陣列(RAID)集合。RAID實施通過跨RAID集合中 給定數(shù)量的物理磁盤冗余寫數(shù)據(jù)"條"來增強數(shù)據(jù)存儲的可靠性/完 整性,并且適合地緩存有關條化數(shù)據(jù)的奇偶校驗信息。在WAFL文 件系統(tǒng)的示例中,有利地采用RAID 4實施。該實施特別要求跨磁盤 集合對數(shù)據(jù)進行條化,并且在RAID集合的所選f茲盤內(nèi)緩存單獨的奇 偶校驗。如本文所述,巻通常包括根據(jù)RAID 4或等效高可靠性實施 設置的至少一個數(shù)據(jù)磁盤以及一個相關聯(lián)的奇偶校驗磁盤(或可能單 個磁盤中的數(shù)據(jù)/奇偶校驗分區(qū))。
在許多涉及金融交易和其他敏感任務的行業(yè)、如銀行、政府設 施/承辦商、國防、保健機構(gòu)、制藥公司和證券經(jīng)紀業(yè)中,數(shù)據(jù)存儲 是日益重要且中心的部分。在許多此類環(huán)境中,以不可變且不可更 改的方式存儲選定數(shù)據(jù)是必不可少的。這種需求隨著目前金融欺詐 和管理不善等問題而不斷增長,其中作為壞人擦除或更改罪證數(shù)據(jù) 的誘惑始終是存在的。要求不可變處理的數(shù)據(jù)形式往往包括電子郵 件、財務文檔和交易記錄以及任何可以作為重要操作或決策的證明 的其他記錄。即時在不太關鍵/不受監(jiān)管的環(huán)境中,也非常期望能夠 存儲安全不可更改的數(shù)據(jù)緩存。例如,工程、醫(yī)療、法律和其他專 業(yè)公司可能希望建立關鍵數(shù)據(jù)(例如發(fā)明報告或設計文件、客戶通信錄、醫(yī)療圖像等)的緩存,將它們保留不更改以及在線狀態(tài)較長時間。 這些緩存可以為客戶和其他感興趣的各方提供可靠的引用和證明。
作為高度監(jiān)管的環(huán)境的例子,美國保密與交換委員會(SEC) -監(jiān) 管所有保密交易和與公開招股公司有關的報告的機構(gòu)-發(fā)布了 SEC 規(guī)則17a-4以管理經(jīng)紀人和投資機構(gòu)的文檔保留。該規(guī)則要求這些實 體存儲電子郵件和與這些實體的客戶所做的多種交易和買賣相關的 其他文檔,在數(shù)年內(nèi)不更改和不可更改,并能夠及時向SEC和其他 監(jiān)管部門提供這些記錄。無法遵照這些規(guī)則可能導致嚴重的制裁。
數(shù)年來已經(jīng)有多種現(xiàn)有技術(shù)方法(包括磁帶驅(qū)動器、可記錄媒體 等)被釆用以實施WORM存儲系統(tǒng)。這些系統(tǒng)的每一種都在存儲大 小、速度保持要求或這些(和其他)因素的組合方面有某些缺點。
在上述通過引用結(jié)合的美國專利申請序列號10/391245、標題為 "單寫多讀存儲系統(tǒng)和用于實施該系統(tǒng)的方法"中,提出一種對于
WORM存儲的特別有利的方法,其中采用常規(guī)容錯(例如基于RAID) 磁盤存儲(或類似可重寫力某體)作為WORM存儲系統(tǒng)的平臺。所描述 的這種系統(tǒng)在此類磁盤存儲容量巨大、相對便宜且易于添加到現(xiàn)有 存儲實施中的情況中是有利的。但是根據(jù)通常利用專門啟用自由重 寫和擦除附接磁盤的語義設計的現(xiàn)有操作系統(tǒng)和協(xié)議,這些磁盤還 固有地是可重寫和/或可擦除的。因此,所描述的WORM存儲方法 專門配置為絕對防止改變?nèi)魏蜽ORM指示的數(shù)據(jù)。而且,為了保持 該解決方案的有效時限并使之為盡可能多的客戶使用,所描述的 WORM實施利用開放協(xié)議、如CIFS和NFS,并要求對這些協(xié)議或 采用它們的應用程序改變最小以及在客戶應用上的覆蓋區(qū)(footprint) 最小。因此,該系統(tǒng)圍繞包含文件的WORM存儲巻來組織,其中當 文件提交到WORM存儲裝置時,無法被刪除或修改。用于標識WORM
在所描述的WORM系統(tǒng)中,管理員創(chuàng)建WORM巻(或其他 WORM指示的數(shù)據(jù)組織結(jié)構(gòu)),它能夠存儲指定的WORM文件(或其他"數(shù)據(jù)集")。然后客戶使用適合的協(xié)議語義創(chuàng)建適合的WORM 文件。通過將該文件屬性從非只讀狀態(tài)轉(zhuǎn)換到只讀狀態(tài),該文件被 寫入到巻中并提交到WORM狀態(tài)。文件系統(tǒng)永久存儲WORM狀態(tài) 的文件連同該文件的屬性和元數(shù)據(jù),并使用該永久WORM狀態(tài)來識 別WORM巻上的WORM文件。至此,客戶、管理員或其他實體修 改文件屬性、對文件進行寫操作或刪除該文件的任何嘗試會被拒絕, 并向嘗試方返回請求被拒絕消息。因為該文件無法:帔刪除,所以常 規(guī)文件系統(tǒng)語義防止刪除目錄路徑。同樣地,在一個說明性實施例 中,文件系統(tǒng)不允許重命名目錄,由此確保WORM文件在目錄結(jié)構(gòu) 內(nèi)的可靠和不可變標識。
將WORM文件提交到WORM存儲巻可以由客戶通過命令行界 面以交互方式來執(zhí)行?;蛘?,可以將熟悉WORM語義的應用設為使 用適合的應用程序界面或其他編程命令結(jié)構(gòu)來提交該文件。類似地, 可以將客戶用來與文件服務器/文件系統(tǒng)通信的開放協(xié)議、如NFS或
CIFS修改為允許在關鍵時件、如關閉文件時自動提交創(chuàng)建的文件。 可以將這些協(xié)議和文件系統(tǒng)設為啟用巻內(nèi)專門的WORM目錄。可以 提供適合的WORM文件擴展名,以使巻內(nèi)的worm文件可以容易被 客戶識別。而且,可以允許選定的鏡像和備份功能,同時可以禁用 能夠?qū)啅驮蛐抻喌捷^早時間點的其他備份功能。
管理WORM數(shù)據(jù)存儲裝置的許多監(jiān)管方案(例如SEC 240.17a-4) 規(guī)定了其后可以廢棄WORM數(shù)據(jù)的保留期的規(guī)則。如果沒有規(guī)定的 保留期適用于創(chuàng)建時的記錄,則規(guī)定一般指定永久保留。在如磁帶 或磁光存儲的可移動媒體的情況中,在這些媒體的保留期期間,仔 細地對它們建索引并存儲(常常存儲在安全地點)。當適用的保留日期 到期時,從存儲器中檢索出到期的媒體并以物理方式將其破壞。因 為當不再需要特定記錄時,磁盤存儲器固有地能夠被重寫和再使用, 所以設想到多種磁盤上記錄的WORM保護可以攜帶保留日期,以及 當保留日期過去時,可以擦除到期的WORM記錄和相關的數(shù)據(jù),由此保留儲資源并確保有序且可預測地移除到期的WORM數(shù)據(jù)-不會 有物理i某體破壞所引起的材料浪費。
EMC公司(Hopkinton, MA)在商品名稱Centera下推出市場的一 種WORM存儲系統(tǒng)允許基本形式的保留日期用于記錄存儲裝置。該 系統(tǒng)利用聯(lián)網(wǎng)且運行Linux操作系統(tǒng)的定制變體的通用計算機系統(tǒng)集 群。與開放協(xié)議和開放標準化API方法相對,這些計算機實施專有 的應用程序編程接口(API)和用于與該存儲系統(tǒng)接口的專有協(xié)議。同 樣地,應用可以僅通過專有機制或通過介于用戶和該存儲系統(tǒng)之間 的"入口"來訪問該存儲裝置并操作記錄,其中專有機制或介于用 戶和該存儲系統(tǒng)之間的"入口"將開放協(xié)議轉(zhuǎn)換成存儲系統(tǒng)支持的 專有協(xié)議。
此形式的WORM存儲系統(tǒng)利用所說的"內(nèi)容可尋址存儲"(CAS) 用于管理所存儲的記錄。CAS依賴于計算數(shù)字簽名對任何WORM存 儲的記錄的內(nèi)容使用諸如MD5散列的算法來為每個記錄創(chuàng)建("內(nèi)容 地址,,的)唯一密鑰。記錄的數(shù)字簽名的表示用作"密鑰"或"內(nèi)容 地址",任何將來對所存儲的對象的引用都必須利用它。這常常被描 述為類似于"行李牌"系統(tǒng),由此該存儲系統(tǒng)為每個存儲的對象生 成唯一的密鑰,它返回到應用。應用負責管理并保存這些內(nèi)容地址, 這必須在存儲系統(tǒng)外部執(zhí)行。
為了將保留信息與所存儲的記錄相關聯(lián),專有API允許以專有 格式將元數(shù)據(jù)與存儲的對象相關聯(lián)。該元數(shù)據(jù)信息可以包括記錄的 保留信息。API支持將保留日期進一步延長到將來的功能,以及在某 些配置中對不附帶保留信息提交的那些記錄賦予無限保留日期。因 為CAS體系結(jié)構(gòu)的原因,寫入該系統(tǒng)的每個對象,只要它具有唯一 內(nèi)容,則作為具有唯一內(nèi)容地址的唯一對象來存儲。為了啟用WORM 功能,API阻止在對象相關的保留期到期之前刪除它們。對現(xiàn)存對象 的修改是不可能的,因為對象內(nèi)容中的任何更改將導致新的內(nèi)容地 址,而由此在存儲系統(tǒng)中創(chuàng)建新對象。為了跟蹤保留時間和其他時間相關功能,確信該系統(tǒng)僅從集群
的節(jié)點(計算機)內(nèi)的系統(tǒng)硬件時鐘提取時間值來獲取時間參考并依賴 于系統(tǒng)的物理安全性防止篡改。
發(fā)明概迷
據(jù)集內(nèi)提供指定的保留日期而克服了現(xiàn)有技術(shù)的這些缺點。該保留
日期方案未利用任何專有應用編程接口 (API)或協(xié)i義,而是采用通常 使用的操作系統(tǒng)中可獲取的常規(guī)文件(或其他數(shù)據(jù)容器、數(shù)據(jù)集或基 于塊的邏輯單元編號)屬性內(nèi)的本地功能。在一個說明性實施例中, 通過查詢提交之前文件的上次修改時間并將保留期加該值,由此得 出其后可以從WORM釋放該文件的保留日期來計算保留日期/時間。 在提交之前,計算的保留日期存儲在文件的"上次訪問時間"特性/ 屬性字段中,或永久與該文件保持關聯(lián)且正用于保留日期的另一個 元數(shù)據(jù)字段(通常基于開放協(xié)議)不與WORM狀態(tài)中的文件管理干 擾。因為該字段是不重要的且很少在WORM場景中被利用,所以可 以將其設為存儲該日期。 一旦存儲,該字段中的保留日期被鎖定以 防止修改。在期望延長(從不會縮短)保留期的情況中,可更新上次訪 問時間字段,其中將保留期延長加上現(xiàn)存上次訪問時間值來為文件 得出新的較晚保留日期。當保留日期到期時,系統(tǒng)允許刪除到期的 WORM文件/數(shù)據(jù)集。
程序檢查管理員、用戶或接口提供的保留日期是否被管理巻的 特定WORM規(guī)則集合所允許。就此而言,可以有多于一個WORM 規(guī)則集適合用于存儲系統(tǒng)。對于要求嚴格(例如政府機構(gòu))一致的存 儲,可以采用嚴格或監(jiān)管的WORM巻。在該巻中存儲受限于嚴格的 最小缺省保留期,或者在沒有指定期限的情況下采用無限期限。直 到適用的保留日期到期,才允許文件的修改或刪除。相反,在信任 的管理員模型下定義的"企業(yè)"巻可以允許靈活地設置保留日期和/或作為缺省無任何日期。同樣地,企業(yè)巻可以允許從文件/巻的較早 映像中復原或在適合的情況下-皮壞巻。
在一個說明性實施例中,使用安全規(guī)范(compliance)時鐘來調(diào)整 有關保留期的時間。在一個實施例中,該時鐘使用信任的時基,例 如重復的文件服務器進程來推導它的時間值。該時鐘是防篡改的, 并且保證其時間值不超過實際時間,但是可能稍微更長,以便進一 步確保遵從完整保留期。在其他實施例中,該時鐘可以基于信任的 第三方時鐘(如基于政府的時鐘)或其他基于安全硬件的時鐘。
存儲的保留日期/時間可以通過提供相對接近今天的基準時間日 期(歷元)來克服較舊的開放協(xié)議在比特范圍上的某些局限。 一般可以 通過重新定義時間值所相對的歷元(基準時間)來擴充這種比特范圍局 限下的可用日期范圍。對該歷元內(nèi)的日期使用完全相同的格式,同 時對日期進行巻繞編碼(例如使用歷元之前的日期作為擴充范圍),以 使值出現(xiàn)在擴充的日期范圍內(nèi)。
附圖簡介
通過結(jié)合附圖參考下文描述可以更好地理解本發(fā)明的上述和其 他優(yōu)點,附圖中相似的參考號指代完全相同或功能相似的單元
圖1是定義其中可以實施本發(fā)明原理的示范網(wǎng)絡和文件服務器 環(huán)境的示意框圖,其中包括文件服務器和相關的客戶機;
圖2是根據(jù)本發(fā)明說明性實施例的示范存儲操作系統(tǒng)的示意框
圖3是根據(jù)本發(fā)明說明性實施例的WORM巻創(chuàng)建過程的流程
圖4是示出示范WORM文件路徑的目錄樹的示意文件創(chuàng)建和提交過程的流程圖6是根據(jù)本發(fā)明說明性實施例用于Unix⑧客戶機的WORM文件創(chuàng)建和提交過程的流程圖7是根據(jù)本發(fā)明說明性實施例的同步鏡像過程的示意圖; 圖8是根據(jù)本發(fā)明說明性實施例的異步鏡像過程的示意圖; 圖9是圖8的異步鏡像過程中使用的數(shù)據(jù)格式的通用頭的示意
表示;
圖10是根據(jù)圖9的異步鏡像過程傳送的數(shù)據(jù)文件的WORM標 志的示意表示;
圖11是根據(jù)本發(fā)明說明性實施例的WORM文件的保留日期/時 間設置過程的流程圖12是根據(jù)本發(fā)明說明性實施例用于延長已提交的WORM文 件中的保留日期/時間的過程的流程圖13是i^明根據(jù)本發(fā)明一個實施例用于擴充具有日期的限制比 特范圍的某個開放協(xié)議的可用保留日期范圍的示范原理的時間線;
圖14是根據(jù)本發(fā)明一個實施例的在跟蹤保留日期/時間時所用的 示范安全規(guī)范時鐘的示意圖表示;以及
圖15是根據(jù)本發(fā)明說明性實施例用于確定主題文件的保留日期/ 時間的到期以及解除主題文件的WORM某些局限的過程的流程圖。
說明性實施例的詳細說明
A.網(wǎng)絡和文件服務器環(huán)境
通過進一步的背景知識,圖1是存儲系統(tǒng)環(huán)境100的示意框圖, 該系統(tǒng)包括可以有利地與本發(fā)明一起使用的文件服務器112。為了本 描述的目的,源系統(tǒng)是管理一個或多個存儲磁盤160(圖1中無法找 到162)的存儲的聯(lián)網(wǎng)的計算機。
文件服務器或"文件管理器"112管理一個或多個包括磁盤160 的陣列的巻115和116。文件管理器112鏈接到網(wǎng)絡118,網(wǎng)絡118 可以包括局域網(wǎng)或廣域網(wǎng)、如眾所周知的因特網(wǎng)。適合的網(wǎng)絡適配 器130便于網(wǎng)絡118上的通信。文件管理器112—般包括通過系統(tǒng)總線145互連的處理器120、存^fi者器125、網(wǎng)絡適配器130和存儲適配 器140。文件管理器112還包括存儲操作系統(tǒng)200(圖2),該操作系統(tǒng) 實施文件系統(tǒng)以在邏輯上按磁盤上的目錄和文件的層次結(jié)構(gòu)來組織 信息。
本領域技術(shù)人員將理解,本文所描述的發(fā)明原理可應用于實施 為存儲系統(tǒng)的任何類型的專用計算機(例如文件服務裝置)或通用計算 機、包括單機計算機。所以,文件管理器112可以廣義地或作為備選 方式稱為存儲系統(tǒng)。而且,本發(fā)明的原理可以適用于多種存儲系統(tǒng) 體系結(jié)構(gòu),包括但不限于網(wǎng)絡連接的存儲環(huán)境、直接連接到客戶機/ 主計算機的存儲區(qū)域網(wǎng)絡和磁盤組。因此術(shù)語"存儲系統(tǒng)"應該廣 義地;亂為包括此類安排。
在說明性實施例中,存儲器125包括處理器可以尋址的存儲單 元和用于存儲軟件程序代碼的適配器。存儲器包括一般通過電源重 啟或其他重新啟動操作而被清除的隨機存取存儲器(RAM)(即它是"易 失性"存儲器)形式。處理器和適配器又可以包括配置為執(zhí)行軟件代 碼并操作數(shù)據(jù)結(jié)構(gòu)的處理單元和/或邏輯電路。存儲操作系統(tǒng)200,
其部分通常駐留在存儲器中并由處理單元執(zhí)行,它通過調(diào)用存儲操 作支持文件管理器實施的文件服務以在功能上組織文件管理器。對 于本領域技術(shù)人員來說,顯然可以使用包括多種計算機可讀J 某體的 其他處理和存儲器部件來存儲并執(zhí)行有關本文所描述的本發(fā)明原理 的程序指令。
網(wǎng)絡適配器130包括將文件管理器112連接到網(wǎng)絡118所需的 機械、電子和信令電路,其中可以包括點到點連接或共享々某體、如 局域網(wǎng)??蛻魴C(170、 172)可以根據(jù)信息交付的客戶機/服務器模型與 目的地文件管理器112交互。即,客戶機可以請求文件管理器的服務, 文件管理器可以通過在網(wǎng)絡118上交換封裝例如TCP/IP協(xié)議或另一 個網(wǎng)絡協(xié)議(分別為CIFS 174和NFS 176)格式的分組115來返回客戶 機170和172所請求的服務的結(jié)果。存儲適配器140與文件管理器112上執(zhí)行的操作系統(tǒng)200(圖2) 合作來訪問客戶機請求的信息。該信息可能存儲在經(jīng)存儲適配器140 連接到文件管理器112或本文定義的其他存儲系統(tǒng)節(jié)點的磁盤160 上。存儲適配器140包括輸入/輸出(1/0)#口電路,該接口電路經(jīng)I/0 互連配置、如常規(guī)的高性能光纖信道串行鏈路拓樸連接到磁盤。該 信息在通過系統(tǒng)總線145轉(zhuǎn)發(fā)到網(wǎng)絡適配器130之前,作為抽點轉(zhuǎn) 儲過程的一部分由存儲適配器檢索并由處理器120處理,下文對此 予以描述,其中該信息被格式轉(zhuǎn)化成分組并被傳送到目的地服務器, 下文同樣對此予以詳細描述。
文件管理器還可以經(jīng)網(wǎng)絡適配器130與一個或多個客戶機170 互連。這些客戶機在LAN或其他網(wǎng)絡(118)上分別將對文件服務的請 求傳送到文件管理器112,并接收對這些請求的響應。使用定義為通 用因特網(wǎng)文件系統(tǒng)(CIFS)協(xié)議(l74)或另 一種適合的協(xié)議、如IMPS(l76) 的封裝的各自數(shù)據(jù)分組,在客戶機170、 172和文件管理器112之間 傳送數(shù)據(jù)。
在一個示范文件管理器實施中,文件管理器112可以包括非易 失性隨機存取存儲器(NVRAM)135,它提供數(shù)據(jù)的容錯備份,確保文 件管理器事務的完整性以免因電源故障或其他故障導致的服務中 斷。NVRAM的大小部分取決于它在文件服務器中的具體實施和功 能。通常它的大小足夠記錄某些基于時間的事務量(例如數(shù)秒價值)。 在完成每個客戶機請求之后但在請求的結(jié)果返回到請求客戶機之 前,與緩沖器緩存同時填充NVRAM。
在用于控制多種文件服務器功能和操作的一個說明性實施例 中,還設有管理員的控制臺190??刂婆_190可以是經(jīng)專用端口連接 到文件服務器的客戶機或終端,或它可以經(jīng)網(wǎng)絡鏈路118聯(lián)網(wǎng),并駐 留在遠程位置上-可能與文件服務器相距很遠。在說明性實施例中 通過控制臺輸入某些命令,下文對此予以說明。
在說明性實施例中,將磁盤160設置成多個巻,作為示例稱為巻0(115)和巻1(116),其中每個巻具有與之相關聯(lián)的文件系統(tǒng)。巻 115、 116各包括一個或多個磁盤160。在一個實施例中,物理f茲盤160 配置成RAID集合。在一個實施例中,根據(jù)優(yōu)選的RAID 4配置,該 結(jié)構(gòu)設置為使一些磁盤存儲條化數(shù)據(jù)并且一些磁盤存儲數(shù)據(jù)的單獨 奇偶校驗。但是,還可設想其他配置(例如具有跨多個條(stripe)的分 布式奇偶校驗的RAID 5)。在該實施例中,采用最少一個奇偶校驗磁 盤和一個數(shù)據(jù)磁盤。然而,典型的實施可以包括每個RAID集合具有 三個數(shù)據(jù)磁盤和一個奇偶校驗磁盤以及每個巻具有多個RAID集合。 如下文將描述的,巻0(115)是具有完全讀和寫訪問權(quán)的常規(guī)存儲巻, 而巻1(116)是單寫多讀(WORM)巻,其中一旦將選定的文件提交到存 儲裝置,則無法修改、擦除或以其他方式刪除選定的文件。 B.存儲操作系統(tǒng)
為了便于對磁盤160進行一般性訪問,存儲操作系統(tǒng)200(圖2) 實施在邏輯上按磁盤上的目錄和文件的層次結(jié)構(gòu)來組織信息的隨處 寫文件系統(tǒng)??梢詫⒚總€"磁盤上"文件實施為用于存儲如數(shù)據(jù)的 信息的一組磁盤塊,而可以將目錄實施為專門格式化的文件,其中 存儲對其他文件和目錄的引用。如上文所述和定義的,在本文描述 的說明性實施例中,存儲操作系統(tǒng)是加州桑尼維爾的Network Appliance有限公司推出的NetApp Data ONTApTM操作系統(tǒng),它實 施隨處寫文件布局(WAFLTM)文件系統(tǒng)。明確地設想到可以使用任何 適合的文件系統(tǒng),同樣,在采用術(shù)語"WAFL"的情況中,應該廣義 地視為是指以其他方式可適合于本發(fā)明原理的任何文件系統(tǒng)。
現(xiàn)在簡要描述每個示范文件管理器的優(yōu)選存儲操作系統(tǒng)的組 織。然而,明確地設想到本發(fā)明的原理可以使用多種備選存儲操作 系統(tǒng)體系結(jié)構(gòu)來實施。如圖2所示,示范存儲操作系統(tǒng)200包括一 系列的軟件層,包括網(wǎng)絡驅(qū)動程序(例如以太網(wǎng)驅(qū)動程序)的々某體訪問 層205。操作系統(tǒng)還包括如因特網(wǎng)協(xié)議(IP)層210及其支持傳輸機制 的網(wǎng)絡協(xié)議層、傳輸控制協(xié)議(TCP)層215和用戶數(shù)據(jù)報協(xié)議(UDP)層220。文件系統(tǒng)協(xié)議層提供多協(xié)議數(shù)據(jù)訪問,所以包括對CIFS協(xié) 議225、 iSCSI協(xié)議224、 NFS協(xié)議230、超文本傳輸協(xié)議(HTTP)協(xié) 議235以及格式上可以是開放的或?qū)S械钠渌麉f(xié)議(未示出)、如NFS 版本4等的支持。此外,存儲操作系統(tǒng)200包括實施磁盤存儲協(xié)議、 如RAID協(xié)議的磁盤存儲層240以及實施磁盤控制協(xié)議、如小計算機 系統(tǒng)接口 (SCSI)的磁盤驅(qū)動程序?qū)?45。
將磁盤軟件層與網(wǎng)絡和文件系統(tǒng)協(xié)議層橋接是該存儲操作系統(tǒng) 200的文件系統(tǒng)層250。 一般來說,文件系統(tǒng)層250實施具有磁盤上 格式表示的文件系統(tǒng),該磁盤上格式表示是基于塊的、使用例如4-千字節(jié)(KB)數(shù)據(jù)塊并使用信息節(jié)點或另 一個數(shù)據(jù)結(jié)構(gòu)來描述這些文 件。注意雖然在一個說明性實施例中實施文件,但是術(shù)語"文件" 應該廣義地理解為包括任何類型的數(shù)據(jù)組織或"數(shù)據(jù)容器",包括如 SCCI的塊級協(xié)議所使用的那些。因此在本文中術(shù)語"數(shù)據(jù)容器"可 互換使用。
響應事務請求,如果所請求的數(shù)據(jù)未駐留"在核心中"、即在文 件管理器的存儲器225中,則文件系統(tǒng)生成從巻加載(檢索)所請求的 數(shù)據(jù)的操作。如果該信息不在存儲器中,則文件系統(tǒng)層250使用信 息節(jié)點編號對信息節(jié)點文件建索引以訪問適合的項并檢索巻塊編 號。文件系統(tǒng)層250然后將巻塊編號傳遞到磁盤存儲(RAID)層240, 磁盤存儲層240將巻塊編號映射到磁盤塊編號,并將磁盤塊編號發(fā) 送到磁盤驅(qū)動程序?qū)?45的適合驅(qū)動程序(例如在光纖信道磁盤互連 上實施的SCSI的封裝)。磁盤驅(qū)動程序從巻訪問^f茲盤塊編號,并將所 請求的數(shù)據(jù)加栽到存儲器125中,以供文件管理器112處理(參見圖 1)。當完成請求時,文件管理器(和存儲操作系統(tǒng))通過各自的網(wǎng)絡連 接172將應答、例如CIFS規(guī)范定義的常規(guī)確認分組返回到客戶機 170。
應該注意,作為備選方式可采用硬件或硬件與軟件的組合方式 來實施軟件"路徑,,270,軟件"路徑"270通過上述為文件管理器接收到的客戶機請求執(zhí)行數(shù)據(jù)存儲器訪問所需的存儲操作系統(tǒng)層。
即,在本發(fā)明的備選實施例中,存儲器訪問請求數(shù)據(jù)路徑270可以 實施為在現(xiàn)場可編程門陣列(FPGA)或?qū)S眉呻娐?ASIC)內(nèi)包含的 邏輯電路。這種類型的硬件實施提升了響應客戶機170發(fā)出的文件 系統(tǒng)請求分組而由文件管理器112提供文件服務的性能。
在繼續(xù)對附圖進行詳細描述之前,簡要論述一 下備份是恰當?shù)摹?為了提升可靠性并利于文件管理器、其相關聯(lián)的磁盤或存儲設施的 某個部分在發(fā)生故障時的災難恢復,通用做法是"鏡像"或復制一 些或所有底層數(shù)據(jù)和/或組織該數(shù)據(jù)的文件系統(tǒng)。在一個示例中,建 立鏡像并將其存儲在遠程地點,從而使在物理損壞主存儲單元或其 設施的真實災難(例如水災、停電、戰(zhàn)爭等)的事件中可能恢復的概率 更大。鏡像按通常在管理員設置的規(guī)則時間間隔被更新,以努力捕 獲文件系統(tǒng)的最近變化。
更新的一種常用形式包括使用"抽點轉(zhuǎn)儲"過程,其中捕捉存 儲地點的由信息節(jié)點和塊組成的活動文件系統(tǒng),作為整體在網(wǎng)絡(如 眾所周知的因特網(wǎng))將"抽點轉(zhuǎn)儲"傳送到遠程存儲地點。 一般來說, 抽點轉(zhuǎn)儲是在時間點上文件系統(tǒng)的映像(通常是只讀的),它存儲在同 是活動文件系統(tǒng)的主存儲設備上并可被活動文件系統(tǒng)的用戶訪問。
"活動文件系統(tǒng)"意味著當前輸入/輸出操作所針對的文件系統(tǒng)。例 如一組磁盤的主存儲設備存儲活動文件系統(tǒng),同時可以利用輔助存 儲器、例如磁帶驅(qū)動器來存儲活動文件系統(tǒng)的備份。 一旦取得抽點 轉(zhuǎn)儲(即捕捉的映像),則重新建立活動文件系統(tǒng),將抽點轉(zhuǎn)儲版放到 適當?shù)奈恢糜糜诳赡艿臑碾y恢復。每次取得抽點轉(zhuǎn)儲時,舊的活動 文件系統(tǒng)成為新的抽點轉(zhuǎn)儲,而新的活動文件系統(tǒng)繼續(xù)記錄任何新 的變化??梢愿鶕?jù)多種基于時間標準和其他標準,保留一組數(shù)量的 抽點轉(zhuǎn)儲。
"抽點轉(zhuǎn)儲"是Network Appliance有限公司的商標。在本專利 中用于指代永久一致性點(CP)映像。永久一致性點映像(PCPI)是存儲系統(tǒng)的時間點表示,更具體來iJi是存儲在存儲設備(例如磁盤上)或其 他永久存儲器上且具有將其與其他時間點上取得的其他PCPI區(qū)分的 一個名稱或其他唯一標識符的活動文件系統(tǒng)的時間點表示。PCPI還 可以包括取得映像的特定時間點上有關活動文件系統(tǒng)的其他信息(元 數(shù)據(jù))。在本專利中,術(shù)語"PCPI"和"抽點轉(zhuǎn)儲,,應是可互換使用 的,而不會破壞Network Appliance公司的商標權(quán)。
PCPI/抽點轉(zhuǎn)儲過程在Blake Lewis等人的美國專利申請序列號 09/932578、標題為"即時抽點轉(zhuǎn)儲(INSTANT SNAPSHOT)"中有更 詳細的描述,通過引用將其結(jié)合于本文,如同本文中全面介紹。此 外,WAFL文件系統(tǒng)的本地Snapshot 功能在由Network Appliance 有限公司發(fā)布的、David Hitz等人所著的"NFS文件服務器裝置的 TR3002文件系統(tǒng)設計"中以及在David Hitz等人共同擁有的美國專 利編號5819292、標題為"用于維持文件系統(tǒng)的一致性狀態(tài)和用于創(chuàng) 建文件系統(tǒng)的用戶可訪問只讀副本的方法"中也有進一步描述,通 過引用將它們結(jié)合于本文。
參考圖2,在文件系統(tǒng)層250上的是管理員的用戶接口 285。這 可以通過上面描述的多種協(xié)議(CIF、 NFS等)來訪問。
而且,在文件系統(tǒng)層250之上還有專門的異步巻和子巻(或
"qtree")抽點轉(zhuǎn)儲鏡像(或復制)應用程序290。該應用程序負責基于
源處的抽點轉(zhuǎn)儲的變化在遠程目的地存儲巻處生成鏡像。抽點轉(zhuǎn)儲
鏡像應用程序290在存儲器訪問請求路徑270外運行,如圖中到
TCP/BP層215、 210和文件系統(tǒng)抽點轉(zhuǎn)儲機制(280)的直接鏈路292和
294所示。該應用程序允許"異步"鏡像各自子巻中的變化。所鏡像 的各自子巻中的變化是以遞增方式寫入(就源子巻上發(fā)生的變化來說
不是實時的)可以是遠程且通過網(wǎng)絡連接來鏈接的目的地存儲裝置。 巻級和子巻級(或q-tree)的異步鏡像的論述可參閱Michael L. Federwisch等人的美國專利申請序列號10/100967、標題為"用于確 定兩個抽點轉(zhuǎn)儲中的變化并將變化傳送到目的地抽點轉(zhuǎn)儲的系統(tǒng)和方法",通過引用將它結(jié)合于本文。
同樣提供作用于RAID層的同步巻抽點轉(zhuǎn)儲鏡像應用程序298。 該應用程序響應管理員發(fā)出的4竟像命令將同步(實時)鏡像提供^4竟像 存儲。在執(zhí)行該鏡像命令時通過復制源該鏡像創(chuàng)建源的時間點映像。 抽點轉(zhuǎn)儲的基于巻的遠程鏡像的方法在Steven Kleiman等人的共同擁 有的美國專利申請序列號09/127497、標題為"文件系統(tǒng)映像傳送" 中和Steven Kleiman等人的美國專利申請序列號09/426409、標題為 "在相異文件系統(tǒng)之間文件系統(tǒng)映像的傳送"中有詳細描述,通過 引用將它們明確結(jié)合于本文。
注意,存儲操作系統(tǒng)包括一般駐留在文件系統(tǒng)層250中的WORM 實用程序299。如下文將詳細描述的,該WORM實用程序負責在文 件系統(tǒng)中建立與常規(guī)文件系統(tǒng)巻276不同的專門的worm巻275。這 些巻分別作為對應的相區(qū)別的WORM和非WORM RAID巻277和 278裝進RAID層。而且,該實用程序還負責在不可重寫和不可擦除 /不可刪除的WORM巻內(nèi)建立WORM文件或類似"WORM數(shù)據(jù)容 器"(例如時鐘等)。通過實用程序299的操作,只要有WORM文件 駐留在路徑/樹中,同樣鎖定任何WORM文件/數(shù)據(jù)容器的各自目錄 路徑(或其他標識邏輯組織),以防止刪除。
沖艮據(jù)一個說明性實施例,存儲操作系統(tǒng)200還包括在一個說明 性實施例中是基于軟件的時鐘的安全規(guī)范時鐘279,該時鐘結(jié)合有關 WORM文件的保留期的設置、跟蹤和執(zhí)行來使用,如下文的詳細描 述?;蛘撸撘?guī)范時鐘還可以實施為基于硬件的時鐘或來自信任的 第三方(例如基于政府的)時鐘的饋送信息。如下文詳細描述的,規(guī)范 時鐘的所有實施例可以包括阻止篡改和確保輸出時間值的可靠性的 機制。
在繼續(xù)詳細描述本說明性實施例之前,給出如下定義。上面提 到的術(shù)語"數(shù)據(jù)集"或"數(shù)據(jù)容器" 一般是指文件、LUN(邏輯單元 編號)或任何其他可單獨或個別地尋址的數(shù)據(jù)結(jié)構(gòu)。術(shù)語"巻"是指數(shù)據(jù)容器的邏輯集。術(shù)語"目錄"是指便于通過遍歷樹或另一個邏 輯索引結(jié)構(gòu)訪問給定數(shù)據(jù)容器的組織結(jié)構(gòu)。同樣,術(shù)語"路徑"是 指存儲操作系統(tǒng)通過目錄結(jié)構(gòu)尋址數(shù)據(jù)容器時所用的路由。此外, 明確地設想本發(fā)明原理可以應用于多種存儲環(huán)境和數(shù)據(jù)類型,包括 但不限于文件數(shù)據(jù)、數(shù)據(jù)庫數(shù)據(jù)、塊級數(shù)據(jù)等。
C. WORM巻創(chuàng)建
參考圖3中的流程圖,描述創(chuàng)建WORM巻的普遍性過程300及 其創(chuàng)建操作的結(jié)果。該過程通常由管理員使用管理控制臺和界面輸 入適合的巻創(chuàng)建命令來實施。修改文件系統(tǒng)以識別相對于指定WORM 巻的常規(guī)(WORM之前的)巻創(chuàng)建命令的新語義。在步驟302,管理員 最初創(chuàng)建具有一些諸如有關磁盤數(shù)量大小的一般參數(shù)的WORM巻。 在一個實施例中,這通過輸入如下示范命令來實現(xiàn),其中該命令包 含巻名稱"volname"和"-L"、磁盤的數(shù)量
vol create <volname> -L <磁盤的數(shù)量>。
接下來,在步驟304,為該巻指定文件服務器上的所請求的名稱 (volname)。同樣,將它標識為/vol/volname。與該巻相關聯(lián)的》茲盤利 用在永久存儲裝置中它們的RAID標簽上的WORM屬性來標記,以 使它們被標識為WORM巻。這可能要求修改常規(guī)RAID層結(jié)構(gòu)來說 明該附加的標簽。雖然主要在文件系統(tǒng)層施加WORM,但是該標記 同時用于將所指定的磁盤標識為WORM存儲裝置。這里,WORM 標志存儲在WORM磁盤的永久標簽中的非易失存儲器中。該標簽包 含有關允許存儲操作系統(tǒng)將磁盤映射到特定巻的磁盤的標識信息, 并且它被存儲在磁盤中標準位置中(例如開始位置)。以此方式,WORM 標志保存在本身包含該WORM文件的磁盤上。此外,WORM標志 還可以存儲在NVRAM或其他永久/電*份存儲器結(jié)構(gòu)中并防止無 意或有意毀壞巻,下文對此予以進一步論述。注意到,步驟304不 要求用戶交互,因為作為WORM巻的創(chuàng)建過程的一部分來指定巻名 稱。這可以由系統(tǒng)內(nèi)部處理。在步驟306,然后將巻導出(對于NFS客戶機)或共享(對于CIFS 客戶機)或以其他方式使之可供外部客戶機使用。導出/共享步驟是對 客戶機賦予適合的使用許可的常規(guī)過程。在NFS客戶機的示例中, 適合的命令的簡化語法是
exporfs [-o options] /vol/volname
同樣在CIFS客戶機的示例中,語法是
cifs shares -add <sharename> /vol/volume
導出和共享可以包括授予客戶機適合的訪問控制和特權(quán)以使某 些用戶可以訪問該巻。還輸入許可。這些一般控制可以對巻功能和 向巻功能(WORM除夕卜)做什么。例如,可能創(chuàng)建只讀巻,而這將限 制將來對該巻的寫操作。例如,與用戶可以取消或釋放只讀狀態(tài)的 Microsoft Office環(huán)境截然不同,WORM狀態(tài)在任何情況下都不可被 用戶、管理員或其他人撤銷,由此保持了 WORM數(shù)據(jù)的完整性。
最后在步驟308, WORM巻現(xiàn)在是在線且可被客戶機訪問的。 WORM功能處于運行中和生效狀態(tài),并且它施加的限制已存在。在 一個實施例中,這些限制可以包括
1. WORM禁止巻破壞命令-在一個說明性實施例中,允許 WORM巻破壞,由此WORM巻是不可變的。但是,存在如下所述 的保留期的情況下可設想,在駐留在該巻上的所有保留期到期之后, 巻可以受到破壞。
2. WORM禁止從抽點轉(zhuǎn)儲進行WORM巻或其一部分的常規(guī)復 原-防止從更早的時間點映像進行不當重構(gòu),該不當重構(gòu)除去該時 間點之后后來對已提交的文件和WORM文件的修改。
應該注意,本文所描述的WORM原理可以應用于至少兩種不同 的場合, 一種是其中管理員是不被信任的限制更嚴的場合(政府監(jiān)管 的場合),并且一種是基于信任的管理員或"企業(yè)"才莫型建立的場合。 在企業(yè)才莫型的情況中,可以提供特定企業(yè)WORM巻,其中存在可以 執(zhí)行在限制更嚴的模型(限制更嚴的監(jiān)管巻中)下禁止的某些操作的靈活性。例如,文件企業(yè)巻可以允許從PCPI復原、破壞巻和設置最小
保留期的靈活性。
3. 許可(NFS中的設置屬性命令"SETATTR" )(CIFS中的設置 文件信息"TRANS2—SET一FILE—INFORMATION"命令)要求如果將 文件從初始非只讀狀態(tài)設為"只讀",則巻內(nèi)的任何文件(或數(shù)據(jù)容器) 應該是WORM文件-文件系統(tǒng)層從它們各自的協(xié)議中提取所有許 可,以使WORM狀態(tài)被分配給經(jīng)歷該非只讀到只讀轉(zhuǎn)變的文件。
4. 修改文件狀態(tài)的巻內(nèi)的4壬何WORM文件修改(例如寫、重命 名、刪除(受限于如下的保留日期)、文件屬性更改等),包括日期時 間戳的嘗試修改、只讀狀態(tài)等都是被限制的。如果請求文件訪問/修 改,則在允許修改之前,文件系統(tǒng)首先檢查該巻的WORM狀態(tài),然 后檢查目標文件的單獨WORM狀態(tài)(如下文所述)。如果該文件是 WORM,則限制修改,并且文件服務器返回拒絕該修改請求的適合 文件錯誤消息,如"只讀"或"訪問被拒絕"。如下文所述,就保留 曰期的WORM文件的創(chuàng)建和處理來說,保留日期的設置采用在提交 之前設置的上次訪問時間屬性字段。該設置值用于跟蹤特定文件的 保留期。當?shù)狡跁r,可以解鎖其他屬性、如刪除特定到期文件,從 而為此目的允許有限的訪問。
更確切地來說,在示范CIFS環(huán)境中,常規(guī)文件屬性可以包括 隱藏文件標記、只讀標記、歸檔標記(在執(zhí)行備份之前但在寫到文件 之后設置)、創(chuàng)建時間戳、修改時間戳、訪問時間戳、訪問控制列表(ACL) 和NT流。這些屬性通常被鎖定,以防止修改,其中此類修改可能會 允許對文件的不當更改。
在NFS示例中,鎖定的常規(guī)文件屬性可以包括訪問控制和與文 件擁有者、組等有關的其他許可。NFSv4具有許多與上述CIFS中那 些屬性相似的要鎖定的屬性。
5. 在一個實施例中,在WORM巻中不允許目錄重命名。這防 止目錄被改變而可能錯放WORM文件。在一個備選實施例中,可設想,只要重命名不錯放任何WORM文件,則允許目錄重命名,但是 在許多實例中,防止WORM巻中目錄重命名的基本規(guī)則在輸入目錄 重命名命令時因消除檢查任何WORM文件在目錄樹中的位置的需要 而降低開銷和增加了性能。
6.在存在WORM文件的情況下,不允許目錄刪除。如圖4所 示,將WORM文件402提交到WORM巻的目錄樹400,使之成為 不可變且不會被刪除或修改。因此,根據(jù)常規(guī)文件系統(tǒng)語義,無法 刪除它的目錄404和根(以及沿其路徑410的任何子目錄)。換言之, 根據(jù)實際所有文件系統(tǒng)中的接受的文件系統(tǒng)規(guī)則,如果至少 一個未 刪除的文件存在,則無法刪除底層目錄。在此類文件系統(tǒng)未明確地 啟用該規(guī)則的情況下,應公開地修改文件系統(tǒng)以限制WORM文件路 徑的刪除。才艮據(jù)該實施例,通常可以刪除非WORM目錄412和414 以及它們各自的文件416和418。注意,給定樹中的所有文件的保留 期到期,則允許刪除這些文件,如下文所迷。當刪除了樹中的所有 WORM文件時,則由此允許整個地刪除該目錄?;蛘?,可使操作系 統(tǒng)識別特定目錄中的所有WORM文件的到期,由此解鎖該目錄的整 個刪除。
D. WORM文件創(chuàng)建
一旦如上所述由管理員創(chuàng)建WORM巻,它就可供所允許的客戶 機使用。WORM巻允許在遵從上述一般限制的情況下對非WORM 文件和目錄進行的所有常規(guī)巻操作(例如創(chuàng)建目錄和文件、對文件寫 入以及刪除目錄和文件)。此外,巻允許一次寫入WORM文件以及 讀取或復制WORM文件。WORM文件是整個WORM巻內(nèi)的專門文 件(或數(shù)據(jù)集/數(shù)據(jù)容器)。換言之,巻內(nèi)不是所有文件都一定是WORM 文件。WORM文件由客戶機和文件服務器應用程序在需要存儲或存 檔必須保持不可變的信息的情況下創(chuàng)建。 一個此類應用程序可以是 電子郵件歸檔程序,它基于持續(xù)或周期性收集期望的電子郵件記錄 并將這些記錄存儲在歸檔文件中。在運行眾所周知的Windows⑧操作系統(tǒng)(從華盛頓雷蒙德的 Microsoft公司處可購得)的客戶機示例中,創(chuàng)建文件并將其提交到 WORM的過程500在圖5中示出。首先在步驟502,客戶機添加要 將WORM文件存儲于其中的WORM巻的網(wǎng)絡共享。在一個示例中, 該巻可以命名為"drive W"。該驅(qū)動器則在向客戶機顯示的共享驅(qū)動 器列表中出現(xiàn)。接下來在步驟504中,使用標準的Windows命令將 該文件保存到WORM驅(qū)動器W。 一旦將WORM文件保存或復制到 適合的WORM巻,則允許用戶輸入相關的保留期(步驟505)。下文 詳細描述輸入和處理此類保留期的過程。 一般來說,將保留日期輸 入到該文件的適合屬性,由處理文件存儲的客戶機應用程序以編程 方式使用標準Windows應用程序接口(API)來執(zhí)行,或使用能夠設置 該文件屬性的可用非Windows命令行實用程序來執(zhí)行。最后,在步 驟506,客戶機調(diào)用"文件屬性"對話框,并為驅(qū)動器W上的WORM 文件設置只讀屬性。文件服務器的文件系統(tǒng)識別文件從非只讀至只 讀狀態(tài)的轉(zhuǎn)換,并由此將該文件指定為WORM,以及施加所有上述 限制、修改、屬性更改。顯然,客戶機修改只讀狀態(tài)的該文件的任 何后續(xù)嘗試都會被拒絕,并從文件服務器向該客戶機返回許可被拒 絕消息。以此方式,最后一個步驟506稱為將該文件"提交"到WORM 狀態(tài)。對于任何協(xié)議,都需要^R交步驟來對文件賦予WORM特征。
注意在該說明性實施例中,提交過程不僅與只讀文件在WORM 巻中的存儲相關,而且與該文件在WORM巻內(nèi)從非只讀狀態(tài)到只讀 狀態(tài)的轉(zhuǎn)換相關。不將文件從非只讀狀態(tài)轉(zhuǎn)換到只讀的復制實用程 序和其他文件創(chuàng)建應用程序可能不會使文件成為WORM。
雖然根據(jù)一個說明性實施例的提交過程包括文件屬性從非只讀
到只讀狀態(tài)的轉(zhuǎn)換,但是可設想可以使用其他常規(guī)屬性的其他轉(zhuǎn)換(如 將文件重命名為WORM文件類型)或其他專門屬性或元數(shù)據(jù)的設置 來觸發(fā)提交?;蛘?,將數(shù)據(jù)或文件存儲到存儲器中WORM指定的部 分或結(jié)構(gòu)(如WORM目錄)(或移到其中)可以作為提交的觸發(fā)操作。在運行眾所周知的Unix⑧操作系統(tǒng)經(jīng)NFS連接到文件服務器的 客戶機示例中,圖6中的過程600概述了相關聯(lián)的WORM文件創(chuàng)建 和提交步驟。首先在步驟602,使用常規(guī)巻安裝過程安裝WORM巻。 可以-使用示范命令"mount filer:/vol/volname /worm"。 4艮定示范非只 讀文件file.txt要以WORM方式存儲,則復制該文件(步驟604),并 且典型的命令行shell命令是
cp file.txt /worm
這將文件作為指定的WORM文件復制到巻。 一旦將WORM文 件保存或復制到適合的WORM巻,則允許用戶進入相關的保留期(步 驟605)。下文詳細描述輸入和處理此類保留期的過程。在復制WORM 文件并設置任何保留期之后,則必須根據(jù)步驟606將其提交到 WORM。注意在Unix系統(tǒng)環(huán)境中可以通過"touch"命令附帶適合的 選項來設置文件屬性,從而以交互方式設置保留期??梢允褂眠\行 在Windows或其他平臺中的多種可用的"touch"實用程序來設置該 屬性。在設置上次訪問時間屬性的示例中,示范命令是
touch -a畫t <日期> <文件>。
然后通過從所有擁有者、組和用戶移除所有寫許可來實現(xiàn)提交, 由此將該文件從非只讀轉(zhuǎn)換到只讀狀態(tài),由此提交到WORM。許可 移除的Shell示范命令是
chmod -w /worm/file .txt。
在常規(guī)DOS shell中,提交僅為表達式
ATTRIB + R〈文件名〉。
上述每個命令行表達式專門在客戶機上的交互式會話中使用。 換言之,客戶機用戶以物理方式輸入命令,并等待從文件服務器適 合的響應。這些創(chuàng)建和提交過程也可以在程序應用的內(nèi)部執(zhí)行。每 個眾所周知的操作系統(tǒng)(Windows、 Unix等)支持基于應用的提交和屬 性更改功能。將如下功能調(diào)用集成在應用中以便實施WORM。注意 還可能需要對應用進行其他修改以識別WORM的存在(如對該應用程序的圖形用戶界面的更改),以便全面實施WORM功能。還可設 想僅通過識別并可以采用WORM巻的特定屬性和修改的語義的應用 來使用WORM巻。作為示例,如下的是用于提交到WORM(例如設 置"只讀")的基于Windows的0++(百11132)應用程序接口功能調(diào)用 SetFileAttributes(〈文件〉,F(xiàn)ILE—ATTRIBUTE—READONLY) 同樣地,對于基于Unix的系統(tǒng),應用程序功能調(diào)用是 fchmod(〈文件、0444)
如從上面描述應該清楚的,根據(jù)本實施例的WORM巻的創(chuàng)建以 及WORM文件(數(shù)據(jù)容器)的存儲需要對開放協(xié)議(CIFS、 NFS等)的 修改最小,以及相似地對使用WORM功能的特定應用的更改也是最 小。這是因為新功能的主要部分包含在文件系統(tǒng)層內(nèi),并且調(diào)整文 件系統(tǒng)層以識別對巻創(chuàng)建命令的簡單修改,以及先前存在的文件屬 性轉(zhuǎn)換(即非只讀到只讀),以便在文件系統(tǒng)層內(nèi)實施WORM。此外, 因為文件系統(tǒng)層與各種開放協(xié)議在很大程度上不相關,且將信息傳 遞到具有統(tǒng)一 WORM特征的存儲層,所以必須在存儲操作系統(tǒng)內(nèi)的 存儲層或其他層上進行最小修改。
可設想根據(jù)一個備選實施例,可以將自動提交功能結(jié)合到開放 協(xié)議中。具體來說,因為CIFS的狀態(tài)性本質(zhì)特征,可以實施一個過 程來使在關閉創(chuàng)建的WORM文件時提交到WORM。即,協(xié)議識別 WORM創(chuàng)建對話框,并在關閉文件時開始提交(例如非只讀到只讀屬 性更改)。這在無狀態(tài)性協(xié)議、如NFS中較復雜。但是,NFSv4支持 多個狀態(tài)性操作,并可以提供類似于CIFS的自動提交的就緒平臺。 還可以為其他協(xié)議提供文件關閉時自動提交功能。
在另一個備選實施例中,可設想可以對開放協(xié)議執(zhí)行其他修改 以適應WORM目錄。在一個實施中,僅WORM文件可以具有對 WORM目錄的訪問權(quán)。就此而言,設有"worm"文件擴展名,以便 允許用戶查看具有WORM提交的所有文件。自動提交整個目錄的優(yōu) 點在于,在一個事務中,它限制了因提交部分文件可能在提交余下文件之前由于崩潰或其他中斷而導致的問題。在最終提交后面的文 件時部分提交可能產(chǎn)生不一致性。在又一個備選實施例中,文件的
任何部分僅可被寫一次。因此,可以采用自動提交機制,其中允許 數(shù)據(jù)追加到現(xiàn)有文件中或填充文件中的任何"空缺",但是不允許試
圖修改文件中現(xiàn)有寫入的數(shù)據(jù)。這種所說的"遞增WORM提交"給 予自身類似WORM日志記錄文件的應用,其中文件中的現(xiàn)有記錄是 WORM,但是新記錄可以追加到文件結(jié)尾的"未寫"空間。
還可設想可以檢測WORM巻活動、如巻創(chuàng)建和巻破壞(如果允 許的話)、WORM文件寫操作等,并通過簡單網(wǎng)絡管理協(xié)議(SNMP) 將其記錄給管理員。文件管理器可以包括日志或維護文件,并且SNMP 可以使用陷阱來檢測此活動。以此方式,可以維護所有WORM活動 的日志,由此進一步便于實現(xiàn)數(shù)據(jù)完整性以及例如用于法律實施或 內(nèi)部安全性目的數(shù)據(jù)訪問的維護和審查。
E.鏡像和復制考慮
如上文概述,可能需要禁用某些抽點轉(zhuǎn)儲復原功能。作為背景 知識,圖7詳細描述異步鏡像過程700,其中實時地將WORM巻數(shù) 據(jù)702傳送到目的地巻706,如同它是在源WORM巻704上創(chuàng)建并 存儲的一樣。該傳送操作一般使用能夠支持從源到目的地的高速且 實時的數(shù)據(jù)傳輸?shù)膫鬏攨f(xié)議(光纖信道、iSCSI等),并且在高速度鏈 路710上進行。本質(zhì)上,鏡像是另一個磁盤陣列,與源同時被填充。 因此,無論如何只要輸入源巻,也就輸入了鏡像目的地巻。因為大 部分鏡像功能是在存儲(RAID)層處理,所以很少需要來自源上更高 層文件系統(tǒng)的干預。
在使用目的地巻之前,首先在目的地存儲系統(tǒng)上創(chuàng)建它。在一 個實施例中,在與源相同的文件管理器或文件服務器中通過RAID級 自動創(chuàng)建鏡像巻或其他結(jié)構(gòu)。在該實例中,它從源將所有WORM功 能傳送到目的地。創(chuàng)建目的地巻通常是由管理員操作使用適合的巻 創(chuàng)建命令來實現(xiàn)。通常,目的地巻作為WORM巻來創(chuàng)建,這要求目的地巻駐留的備份存儲系統(tǒng)具有包括WORM功能的文件系統(tǒng)。使用 WORM鏡像巻進一步保護了存儲數(shù)據(jù)的完整性以及符合安全備份存 儲的普遍性要求。可能以及有時會期望建立非WORM目的地巻,但 是這種巻可能破壞安全備份存儲的規(guī)則。
因為目的地巻是WORM巻,所以鏡像過程中的任何中斷都可能 是無法挽回的。在中斷的情況下,可能需要系統(tǒng)重新初始化鏡像, 包括將所有存儲的記錄(即零級傳輸)傳送到新創(chuàng)建的目的地巻。
與本文將描述的其他鏡像過程一樣,源的WORM本質(zhì)特征會對 突難情況下從目的地向源重構(gòu)(例如復原過程)施加限制。因為根據(jù)定 義,源WORM巻中的WORM文件是不可再寫的,修補源巻的優(yōu)選 過程是以鏡像的目的地巻替換它。使用目的地對源進行部分重構(gòu)會 被禁止。但是一般來說,這是同步鏡像方法中的一個小缺點,因為 假設目的地始終包含源的最新數(shù)據(jù)版本且如果必要的話,可以容易 地對源整體交換。
圖8示出異步鏡像過程800的一個簡化示意圖。該方法在Michael L. Federwisch等人的美國專利申請序列號10/100967、標題為"用于 確定兩個抽點轉(zhuǎn)儲中的變化和將變化傳送到目的地抽點轉(zhuǎn)儲的系統(tǒng) 和方法"中有詳細描述,通過引用結(jié)合于本文。
源巻802的文件系統(tǒng)用于生成源巻數(shù)據(jù)結(jié)構(gòu)或某些子巻(例如q-tree)的數(shù)據(jù)結(jié)構(gòu)的時間分離的時間點映像或"抽點轉(zhuǎn)儲"(圖2中的 280)。注意一種此類子巻可以是如上所述的WORM(例如為".worm" 擴展名)目錄結(jié)構(gòu)。根據(jù)上述結(jié)合的引用文獻,通過異步抽點轉(zhuǎn)儲鏡 像應用來掃描抽點轉(zhuǎn)儲,以基于不同時間取得的抽點轉(zhuǎn)儲之間的顯 著變化來檢測文件中的變化。在目的地804上建立適合的WORM巻 之后,在格式化的數(shù)據(jù)流806中通過常規(guī)(通常是較低速度的)網(wǎng)絡連 接810(可以包括眾所周知的因特網(wǎng))來傳送這些變化。因為較低速度 連接的原因,這些變化一般不是實時發(fā)生的變化,而是"異步地" 或按周期性時間間隔以松散寫方式寫入目的地。為了便于以異步傳輸方式將數(shù)據(jù)從源WORM巻802傳送到目的 地WORM巻,將數(shù)據(jù)格式轉(zhuǎn)化為元數(shù)據(jù)序列(在一個實施例中采取 信息節(jié)點的形式)以及相關聯(lián)的文件數(shù)據(jù)。為了使該數(shù)據(jù)對于目的地 文件系統(tǒng)有含義,使用可識別頭來格式化數(shù)據(jù),其中所述可識別頭 將數(shù)據(jù)傳輸?shù)亩鄠€不同部分(例如元數(shù)據(jù)對文件數(shù)據(jù))分離并且告知發(fā) 生的是哪種類型的數(shù)據(jù)傳輸。還提供某些單獨的且包括如已刪除文 件列表的信息的頭。圖9詳細描述了上文引用的Federwisch等人的 應用中詳細描述的頭的簡化版本。這種頭包含1 KB的通用部分、2KB 的非通用部分以及1 KB的擴充段906。添加到通用部分902的是告 知目的地文件系統(tǒng)隨后正在數(shù)據(jù)流中傳送WORM巻信息的WORM 巻傳輸標記908。該標記位于頭的"公共"部分,以便被開放協(xié)議識 別。
相似地,如圖10所示,流中的每個數(shù)據(jù)文件1000包含WORM 標記位1002。該位結(jié)合頭信息用于重構(gòu)目的地WORM巻中的信息 節(jié)點(元數(shù)據(jù)),連同有關該信息節(jié)點/元數(shù)據(jù)所指向的文件(或其他數(shù) 據(jù)集/數(shù)據(jù)容器)的適合WORM狀態(tài)信息。目的地文件系統(tǒng)的鏡像應 用用于適合地轉(zhuǎn)換編碼的標記。在上文引用的申請中提供有關在目 的地巻中構(gòu)建信息節(jié)點所采用過程的更具體詳ST
在再一個實施例中,可設想可以采用常規(guī)加密和/或認證技術(shù)或
其他增強安全性措施來增強源和目的地文件服務器之間的安全性, 以便在源和目的地之間建立信任關系。在這種實施中,可設想可以 在安全的前提下采用有時視為非期望的某些復原功能。 F.設置和采用保留日期
如參考圖5和6中WORM文件創(chuàng)建所描述的,可以結(jié)合WORM 文件(或其他數(shù)據(jù)集/數(shù)據(jù)容器)來設置保留期。將文件提交到WORM 之前,該保留期基本設置文件屬性,以在適合的保留期期間使系統(tǒng) 觀察WORM文件的上述的所有WORM特性(禁止刪除、修改等), 但是在該期限到期之后允許用戶對現(xiàn)在到期的WORM文件執(zhí)行有限的一組非WORM操作。即可以從WORM巻中刪除到期的WORM 文件,由此釋放空間以供新存儲之用。
圖11示出結(jié)合WORM文件用于設置保留期(期限過去之后的有 效日期/時間稱為"保留日期")的概括性過程1100。打算存儲為WORM 的文件最初創(chuàng)建或復制到WORM巻(步驟1102),通常如步驟504(對 應于Windows 系統(tǒng))和/或步驟604(對應于示范Unix⑧系統(tǒng))中所描述 的。管理員或用戶以交互方式使用上述基于客戶機的界面或其他實 用程序設置保留日期,或基于預定規(guī)則用適合的應用程序來設置該 曰期(步驟1104)。實用程序判斷保留期是否落在可接受的范圍內(nèi)。如 上所述,可以基于給定屬性中可用的比特量來限制該期限。此外, 還可以指定最小保留日期。假定該期限落在可接受的范圍內(nèi),則接 受該期限(判斷步驟1105)。否則,可以拒絕該期限并且系統(tǒng)返回無效 值錯誤碼。如果用戶或管理員選擇無期限或該期限是無效的,則實 用程序?qū)⒋私忉尀槿笔≈当A羝?步驟1110)。該缺省值的本質(zhì)特征可 以取決于多種因素。例如,在WORM巻基于具有相對信任的管理員 的"企業(yè),,模型的情況中,缺省值可以根據(jù)需要設為隨意定義的值 或無限值或零(無保留期)。相似地,在缺省值基于嚴格監(jiān)管的體制的
的最小或無限保留期。注意在定義無限值的情況中,將特定比特碼 寫入特性或?qū)傩灾?,以表示無限保留期、如零。
注意在某些WORM監(jiān)管體制中,可以指定最小保留日期。由此, 不是設置無限日期,如果用戶沒有提供日期的話,則可以指定有限 最小缺省保留日期。這還可以取決于存儲文件的WORM巻的本質(zhì)特 質(zhì)。在無有效保留日期且系統(tǒng)缺省為最小保留期的情況下, 一些巻 可以設為監(jiān)管的或"政府法規(guī)的"缺省設置。與之相對, 一些巻可 以被設置為其中管理員是被信任的"企業(yè)"缺省環(huán)境,并且在指定 保留日期上規(guī)則提供更大的寬松靈活度。在此實例中,保留日期的 缺失可以視為基于管理該特定企業(yè)WORM巻的規(guī)則來指定不確定的曰期或特定有限日期。
接收到有效保留期值(或無期限)之后,過程1100查詢元數(shù)據(jù)文
件屬性或特性以確定有關該文件的上次修改時間(步驟1106)。在一個 實施例中,使用上次修改日期作為計算保留日期的基本數(shù)據(jù)。 一旦 將文件提交到WORM,則固定上次修改的日期-只要給定將只讀的 WORM巻識別為WORM,在4是交之后該文件就無法修改。在步驟 1106,提交之前查詢的上次修改時間是文件的創(chuàng)建或復制時間。上次 修政的數(shù)據(jù)僅僅是計算保留日期的一個可能基礎。在備選實施例中, 可以釆用視為可靠的多種其他基本時間值(如規(guī)范時鐘279或另一個 信任的時鐘(例如客戶機時鐘)的直接查詢結(jié)果)。
接收到有效非無限保留期之后,過程則嘗試確保期限在將來足 夠遠的時間以將時鐘偏移和可能影響按規(guī)范時鐘279報告時間的其 他因素納入考慮(圖2)。根據(jù)判斷步驟1108,保留期必須設為上次修 改時間之后的最小將來時間值(例如將來的一天或兩天)。否則,系統(tǒng) 假定將應用缺省保留期(步驟1110)。
一旦選擇了保留期(有限或無限的),過程1100計算要觀察的時 間值以確定要從WORM釋放文件的日期(步驟1112)。這要求將保留 期時間(例如"保留文件10年,,)加上上次修改時間,并由此推導該 文件的將來釋放日期。
然后將該計算的保留日期/時間值應用于該文件的上次訪問時間 特性或?qū)傩?步驟1114)。該屬性也幾乎很少用于WORM場合,并且 甚至在非WORM場合,也并不是特別重要的。例如,在Windows 環(huán)境中,每次引導系統(tǒng)時訪問大多數(shù)文件,這使該屬性對于給定文 件的實際"訪問"提供不了多少信息。因此,上次訪問時間特性/屬 性被WORM實用程序用作存儲關鍵保留日期比特碼的載體(如果有 的話)。
將保留日期應用于上次訪問時間字段之后,現(xiàn)在就可以使文件 不可變。因此如上所述地設置只讀屬性,從而使WORM實用程序拒絕對該文件的任何后續(xù)修改。同樣地,固定了文件的包括上次訪問 時間的屬性/特性。以此方式,將來保留日期^f皮固定在上次訪問時間 字段中,并且不可變。
存在必須在最初設置保留期之后延長保留期的情況。例如,如 果趨近到期的文件或記錄成為研究的主體,可能需要不確定地將其
保留超過正常到期日期。因此,WORM實用程序包括支持對已提交 WORM文件的特性的有限修改,以考慮保留期的延長。圖12詳細 描述了保留日期/時間延長過程1200。用戶或管理員通常發(fā)出延長特 定文件的保留期的請求(步驟1202)。與保留日期的初始設置一樣,延 長期限日期必須落在上次訪問時間字段支持的值內(nèi)。如果這樣的話, 則過程查詢上次訪問時間以檢索現(xiàn)有字段值(步驟1204)。
判斷步驟1206驗證所請求的日期或期限是否是在比現(xiàn)有日期更 遠的將來。如果不是,則拒絕延長日期的請求。相反,如果請求為 了獲得將來超前足夠遠的延長期,則計算新延長的保留日期/時間(步 驟1212)。計算可采用多種方式進行。例如,延長的數(shù)據(jù)可以基于創(chuàng) 建時間或上次修改時間,其中將新的延長期限加上這些值?;蛘?, 可以通過加上上次訪問時間值(當前保留日期/時間)來計算延長的保留 曰期,并加上新延長的期限來計算新延長的保留日期/時間。在上述 任何一個示例中,如果延長的期限是無限的,則計算不確定的保留 期的適合表示。注意, 一旦使期限是不確定或永久的,則無法在稍 后縮減它(根據(jù)步驟1206、 1208和1210)。最后在步驟1214, WORM 實用程序超越對主體WORM文件的任何修改的正常禁止,并允許對 上次訪問時間特性進行有限蓋寫以包括新計算的延長的保留日期值 (或不確定的保留指示符)。
如本文所論述的,某些較舊的開放協(xié)i義、如常用的NFSv2和v3 使用被解釋為自1970年1月1日(例如"時間0")起的秒數(shù)的32位 時間格式。如果解釋為無符號值,則此表達式提供至2016年2月7 曰的上次訪問時間。但是一些操作系統(tǒng)將該時間值解釋為有符號32位整數(shù),它將日期范圍限制到有效的31位值,并對時間值施加2038 年1月18日的上限。因此雖然將來實施將毫無疑問地全部支持實際 無限的日期范圍(如CIFS和NFSv4),但是當前的實施必須考慮到在 某些文件的長期存儲中不可接受的某種日期范圍的有限上限。
因此,為了支持記錄保留日期的延長的范圍,假定當前僅識別31 位有符號值,WORM實用程序用于將某些日期值重新映射到隨意時 間偏移領域。以此方式,為WORM實用程序提供一種新的且更當代 的例如2003年1月1日的基準時間或歷元(新時間0)。但是,不將整 個時間范圍偏移到該新基準,而是WORM實用程序解釋(參見圖13 的基準1300)2003年1月1日之前的上次訪問時間不同于2003年1 月1日之后的那些。以此方式,落在新時間零和2038年1月18日(舊 的上限)之間的所有保留日期保留為標準值(31位日期范圍1)。但是, 因為是在新時間零之前的時間的任何上次訪問時間值將落在WORM 系統(tǒng)的有效日期之前,所以這些日期被重新解釋或繞回(箭頭1301)為 2038年1月18日于2071年1月1日之間的日期上限范圍(31位日期 范圍2)。兩個31位日期范圍(新時間0之前和新時間0之后)提供了 至新的示范上限2071年1月1日的整個32位保留日期范圍1302。
顯然,可以釆用多種用于時間值的有限位范圍的解決方案。此 外在可以將足夠長的時間值應用于上次訪問屬性的情況中,無需時 間重新映射技術(shù)。
為了跟蹤時間值以便可以在適合的到期日期/時間釋放WORM 文件,向存儲操作系統(tǒng)提供安全規(guī)范時鐘279(圖2)。該規(guī)范時鐘與 存儲操作系統(tǒng)各個不同方面以及WORM實用程序交互,以生成可靠 的目標為在典型保留期上提供期望的保留日期的時間值。
圖14中示出根據(jù)說明性實施例的示范規(guī)范時鐘279。該時鐘通 常實施為軟件而非硬件機制。該時鐘包括時間值發(fā)生器1402,它從 規(guī)則計劃且持續(xù)的文件管理器事件1404、如一致性點操作(CP)接收 一致的脈沖。該發(fā)生器1402具有將CP或其他事件轉(zhuǎn)換為基于時間的值的換算功能。例如每11秒發(fā)生一個CP,則時鐘將每個CP轉(zhuǎn)換 成在時基上超前11秒。發(fā)生器1402中的計數(shù)器保持事件的運行總數(shù), 據(jù)此產(chǎn)生行進日期/時間值1410,并將其輸出到WORM實用程序以 及系統(tǒng)的其他感興趣的組件。發(fā)生器接收它的基準時間值(例如時間 0),并可以將其總運行時間存儲在適合的存儲單元中。實際上,可以 使用相關聯(lián)的WORM巻上的例如不可刪除WORM文件1414中的例 如磁盤上記錄,以周期性地將時間記憶提交到永久存儲裝置。 一般 來說,這還意味著規(guī)范時鐘經(jīng)過WORM巻,而非底層文件管理器。 在系統(tǒng)崩潰、故障或更換/升級文件管理器的情況中訪問該文件。因 此,在文件管理器引導時,讀取每個WORM巻的時鐘文件,以及作 為附加安全性措施,選擇最早的時鐘時間作為其WORM操作中文件 管理器的總規(guī)范時鐘的值。在部署新文件管理器的情況中,這可能 比用于特定WORM巻的先前型號具有更快的周期時間,更新規(guī)范時 鐘發(fā)生器1402以將時基中的此變化納入考慮,并從文件1414加載 逝去的時間計數(shù)以重新開始計數(shù),其中新的標度仍輸出期望的精確 時間計數(shù)。
雖然系統(tǒng)關機時間和其他因素可能導致規(guī)范時鐘的報告時間與 實際時間(例如格林威治時間和日期)有偏差或時滯,但是可以通過將 規(guī)范時鐘與另 一個時鐘、如文件管理器的系統(tǒng)時鐘相互作用來解決 這種偏差/時滯。如圖14所示,規(guī)范時鐘279可以設有從常規(guī)系統(tǒng)硬 件/軟件系統(tǒng)時鐘(另一個通常信任的時鐘)1416的輸入,據(jù)此可以將 其報告的時間與有嫌疑的實際時間比較。該比較同時可以基于絕對 方式(例如當前報告的日期/時間對系統(tǒng)報告的日期/時間)以及基于時 間的相對經(jīng)過(例如系統(tǒng)時鐘逝去的秒數(shù)對規(guī)范時鐘逝去的秒數(shù))。假 定在大多數(shù)部署中,硬件系統(tǒng)時鐘實際會同步到有效的真實時間源。 為了減少規(guī)范時鐘相對于硬件系統(tǒng)時鐘的時滯,規(guī)范時鐘執(zhí)行所描 述的周期性事件的遞增計數(shù)(例如CP),但是也按嚴格限定的速率向 硬件系統(tǒng)時鐘時間"漂移"。該"限定的漂移"允許規(guī)范時鐘跟蹤或鎖定系統(tǒng)硬件時鐘時間以抵消長時間期間上時鐘時滯的累計。即使
管理員向前調(diào)整時鐘例如10年,以便提前刪除WORM記錄,限定 的漂移速率1418仍確保規(guī)范時鐘緩慢向該新時間漂移,以便使該破 壞嘗試失效。作為示例,如果每年僅± 1000秒的可容許漂移速率被 允許(即規(guī)范時鐘可以在1年期間向后或向前按不多于1000秒"漂 移"),則即使系統(tǒng)時鐘被(錯誤地)設置超前1年,規(guī)范時鐘仍可以 花數(shù)百年時間來時滯l年。
作為另 一個安全性措施,如果系統(tǒng)時鐘與規(guī)范時鐘的比較值足 夠失去同步,則可以向管理員或監(jiān)控人員/監(jiān)管部門發(fā)出警報。此外, 還可以將所有警報記錄到與該巻和時鐘文件相關聯(lián)的永久/WORM存 儲裝置。給定這種警報的情況下,可以采取按權(quán)限的適合操作而且, 在警報期間,還可以禁用對文件的任何刪除或修改。根據(jù)說明性實 施例,上述功能特征的每一個均增強規(guī)范時鐘的相對防篡改本質(zhì)特 征。相似地,安全的硬件時鐘或信任的第三方(例如基于政府的)時鐘 也可以提供高度的防篡改功能。
雖然上面描述了示范規(guī)范時鐘,但是可設想多種包括外部、內(nèi) 部或內(nèi)部和外部時間保持過程的組合的機制和技術(shù)。例如,可以采 用外部主時鐘,例如通過網(wǎng)絡互連的基于政府的原子時鐘。
當客戶機嘗試人工刪除給定文件或適合的應用守護進程掃描巻 以查找并刪除文件時,系統(tǒng)必須判斷給定文件的保留日期是否已到 期并且是否允許對該文件的刪除。圖15示出檢查WORM保留日期 的概況過程,以及適合時允許從到期文件中有限地解鎖WORM狀 態(tài)。
根據(jù)步驟1502,用戶或管理員請求對主體WORM文件的操作(如 刪除)或應用守護掃描文件以進行可能的刪除。就此而言,WORM實 用程序查詢該主體文件的上次訪問時間屬性。將其存儲,并查詢規(guī) 范時鐘以獲取信任的日期/時間(步驟1504)。
根據(jù)判斷步驟1506,如果保留日期大于或等于時鐘日期(或在后續(xù)時滯保護的時鐘日期之后的某個最小將來日期),則阻止請求者對
該文件采取任何操作(步驟1508)。自然,在設置不確定保留日期的情 況中,它從不小于時鐘日期,并且實用程序從不允許操作。
與之相對,在保留日期小于或等于規(guī)范時鐘日期(或時鐘日期加 "安全,,容限)的情況中,判斷步驟1506分支到步驟1510,并且允 許用戶或管理員對該文件釆取有限的操作或自動采取操作。在一個 說明性實施例中,該操作通常僅限于從巻刪除文件,但是對于企業(yè) 才莫型WORM實施來說,可以允許其他文件處理操作。以此方式,仍 可以防止在保持文件完整性時篡改文件的完整性的其他操作。通常 保留將文件提交到WORM的只讀屬性,同時結(jié)合到期日期允許返回 刪除的有限文件許可。由此該實用程序僅對到期的WORM文件給予 刪除許可。
如上所述,客戶機可以通過應用守護或類似實用程序的操作來 實施對到期保留日期文件的自動刪除。 一般來說,使用規(guī)范或信任 的時鐘來為保留日期的到期提供可靠的參考使自動刪除過程易于實 施。即,可以基于巻的周期性掃描(參見步驟1502)來查找到期文件-那些保留日期大于或等于信任的時鐘時間的文件從而以"自動"方
式進行刪除。就此而言,可以將最近信任的時鐘時間存儲在系統(tǒng)存 儲器中并將其與每個文件中的時間比較以查找到期的文件?;蛘?, 可以讀取每個文件的保留日期,并可以檢索和比較當前時鐘時間。 可以在確認到期之后即對每個文件進行刪除,或可以通過掃描來標 識所有到期文件,之后以批處理過程刪除。然后由應用程序使用適 合的文件管理腳本刪除這些文件。雖然本文所描述的守護通常運行 在客戶機上,但是可明確設想在客戶機端、文件服務器端或二者上 實施基于信任的時鐘的自動刪除過程。
注意在一個備選實施例中,本文所描述的WORM文件或文件服 務器可以實施為多協(xié)議存儲裝置,并且駐留的存儲操作系統(tǒng)可以實 施為具有虛擬化模塊的虛擬化系統(tǒng),該虛擬化模塊實施為虛擬磁盤("vdisk")模塊和SCSI目標模塊(未示出)。Vdisk模塊層疊于文件系 統(tǒng)250上,以允許響應系統(tǒng)管理員向多協(xié)議存儲裝置發(fā)出的命令而 通過管理界面、如流線型用戶界面(UI)的訪問。本質(zhì)上,vdisk模塊 其中通過實施系統(tǒng)管理員通過UI發(fā)出的廣泛的vdisk邏輯單元編號 (lun)命令集來管理SAN部署。將這些vdisk命令轉(zhuǎn)換為原始文件系 統(tǒng)操作("原始"),這些操作與文件系統(tǒng)250和SCSI目標;溪塊交互 來實施vdisk。該多協(xié)議存儲裝置布局在共同擁有的美國專利申請序 列號10/216453、標題為"通過將虛擬磁盤對象層疊于文件系統(tǒng)上來 實現(xiàn)存儲虛擬化(STORAGE VIRTUALIZATION BY LAYERING VIRTUAL DISK OBJECTS ON A FILE SYSTEM)"中有進一步詳細 的描述,其原理通過引用明確地結(jié)合于本文。因為可以將lun在存儲 系統(tǒng)中表示為文件,所以明確地可設想將WORM狀態(tài)歸屬于文件并 允許它具有設置保留日期的多種許可和屬性可以^皮應用于lun結(jié)構(gòu)。
注意,雖然通常使用開放協(xié)議來實施WORM和本說明性實施例 的保留日期功能,但是明確可設想可以使用專有協(xié)議或開放協(xié)議的 顯著修改版本、如專有API來實施本發(fā)明的多種WORM功能特征。 例如,在一個備選實施例中,可以使用專有API來實施保留曰期。 可以如上所述地將它們與信任的或規(guī)范時鐘進行組合來確保可靠的 保留和防篡改操作。此外,當如上所述結(jié)合信任的時鐘使用時,明 確地可設想術(shù)語"存儲系統(tǒng)"可以包括如上面描述的內(nèi)容可尋址存 儲系統(tǒng)(CAS)。這種信任的時鐘可以增強這些類型存儲系統(tǒng)的可靠性 和防篡改操作。
前文是本發(fā)明的 一些說明性實施例的詳細描述。在不背離本發(fā) 明精神和范圍的前提下可以對本發(fā)明進行多種修改和添加。例如, 雖然一個說明性實施例中與每個數(shù)據(jù)容器、數(shù)據(jù)集或文件相關聯(lián)的 保留日期/時間值是在上次訪問屬性字段內(nèi)提供的,但是明確地可設
想可以將該值應用于與容器、數(shù)據(jù)集或文件相關聯(lián)的任何特性、屬 性或其他數(shù)據(jù),以在保留日期/時間值存儲在WORM期間不可變且不與容器、數(shù)據(jù)集或文件的管理和處理相干擾。此外,雖然根據(jù)一 個說明性實施例通過查詢上次#"改日期并將保留期添加于其中來設 置或延長文件的保留日期/時間,但是可以使用多種基準時間值來計 算保留日期/時間,例如檢索來自規(guī)范時鐘或另一個信任的時間源的 基準時間。同樣地,這些服務器或它們各自的存儲陣列、客戶機以 及它們的網(wǎng)絡連接和協(xié)議的內(nèi)部結(jié)構(gòu)全部都是高度可變的。在各種 源和目的地服務器上使用的操作系統(tǒng)可以有所不同。此外,明確地 可設想本文所描述的任何操作和過程可以使用硬件、軟件(包括具有 在計算機上執(zhí)行的程序指令的計算機可讀媒體)或硬件與軟件的組合 來實施。因此,本描述意味著4義作為示例,而不在其他方面限定本 發(fā)明的范圍。
權(quán)利要求
1. 一種在單寫多讀(WORM)存儲系統(tǒng)中對數(shù)據(jù)集實施保留期的方法,包括如下步驟創(chuàng)建WORM數(shù)據(jù)集并將所述WORM數(shù)據(jù)集保存到WORM數(shù)據(jù)結(jié)構(gòu);在所述數(shù)據(jù)集的永久保持與所述數(shù)據(jù)集相關聯(lián)的數(shù)據(jù)中設置保留期;以及將所述WORM數(shù)據(jù)集提交到所述WORM數(shù)據(jù)結(jié)構(gòu),之后所述存儲系統(tǒng)阻止縮短所述保留期并且所述存儲系統(tǒng)阻止對所述WORM數(shù)據(jù)集的任何修改,直到所述保留期到期之后的時間之后為止。
2. 如權(quán)利要求1所述的方法,其特征在于在所述保留期到期之 后,所述存儲系統(tǒng)僅允許從所述WORM數(shù)據(jù)結(jié)構(gòu)中刪除所述WORM 數(shù)據(jù)集并阻止對所述WORM數(shù)據(jù)集的任何其他修改。
3. 如權(quán)利要求2所述的方法,其特征在于在其中設置所述保留 期的數(shù)據(jù)是與所述數(shù)據(jù)集相關聯(lián)的時間值相關的文件屬性或文件特 性。
4. 如權(quán)利要求3所述的方法,其特征在于所述文件屬性或文件 特性是上次訪問的時間屬性或特性。
5. 如權(quán)利要求3所述的方法,其特征在于所述提交步驟包括將 與所述數(shù)據(jù)集相關聯(lián)的只讀文件屬性從非只讀值轉(zhuǎn)換到只讀值。
6. 如權(quán)利要求1所述的方法,還包括通過將延長期限加到所述 保留期以得出延長的保留期并將所述延長的保留期存儲在其中設置 所述保留期的所述數(shù)據(jù)中來延長所述保留期。
7. 如權(quán)利要求6所述的方法,其特征在于所述延長步驟包括驗 證所述延長期限在時間上晚于所述保留期并且拒絕在時間上早于所 述保留期的延長期限。
8. 如權(quán)利要求1所述的方法,還包括將所述保留期與所述存儲 系統(tǒng)相關聯(lián)的規(guī)范時鐘中的時間值進行比較,并在所述時間值等于 或晚于所述保留期之后僅允許刪除所述WORM數(shù)據(jù)集。
9. 如權(quán)利要求8所述的方法,還包括統(tǒng)計所述存儲系統(tǒng)的規(guī)律 重復操作,并基于所述重復操作的計數(shù)來產(chǎn)生所述時間值。
10. 如權(quán)利要求9所述的方法,還包括將所述時間值存儲在所述 WORM數(shù)據(jù)結(jié)構(gòu)中的時間存儲WORM數(shù)據(jù)集中,并在所述計數(shù)中 斷之后訪問所述時間存儲WORM數(shù)據(jù)集以重啟所述時間值的計數(shù)。
11. 如權(quán)利要求1所述的方法,其特征在于所述存儲系統(tǒng)用于阻 止對包括所述WORM數(shù)據(jù)結(jié)構(gòu)中的所述WORM數(shù)據(jù)集的目錄路徑 進行重命名。
12. 如權(quán)利要求l所述的方法,其特征在于所述提交步驟由與所 述存儲系統(tǒng)互連的客戶機上的應用來執(zhí)行。
13. 如權(quán)利要求1所述的方法,還包括在鏡像目的地創(chuàng)建所述 WORM數(shù)據(jù)結(jié)構(gòu),并將所創(chuàng)建的WORM數(shù)據(jù)集傳送并提交到目的 地WORM數(shù)據(jù)結(jié)構(gòu)。
14. 一種具有文件系統(tǒng)的單寫多讀(WORM)存儲系統(tǒng),包括 駐留在所述文件系統(tǒng)中的WORM實用程序,它在文件存儲在指定的巻中之后基于提供給所述文件系統(tǒng)的開放協(xié)議文件屬性將所述 文件提交到所述指定的巻,并且在所述文件提交之后提供可選擇保 留期,在所述可選擇保留期期間不能修改所述文件。
15. 如權(quán)利要求14所述的WORM存儲系統(tǒng),其特征在于所迷 開放協(xié)議文件屬性包括只讀文件屬性。
16. 如權(quán)利要求14所述的WORM存儲系統(tǒng),其特征在于所迷 文件系統(tǒng)用于阻止刪除含有所述文件的目錄。
17. 如權(quán)利要求14所述的WORM存儲系統(tǒng),其特征在于所述 保留期存儲在開放協(xié)議文件屬性中。
18. 如權(quán)利要求17所述的WORM存儲系統(tǒng),其特征在于包含所述保留期的所述文件屬性包^"上次訪問時間屬性。
19. 如權(quán)利要求14所述的WORM存儲系統(tǒng),其特征在于所述 WORM實用程序用于將所述保留期與規(guī)范時鐘的時間值進行比較, 并在所述保留期早于所述時間值之后允許對所述文件進行預定修 改。
20. 如權(quán)利要求19所述的WORM存儲系統(tǒng),其特征在于所述 預定修改包括僅刪除所述文件。
21. —種在單寫多讀(WORM)存儲系統(tǒng)中對數(shù)據(jù)集實施保留期的 計算機可讀媒體,所述計算機可讀媒體包括用于執(zhí)行如下步驟的程 序指令創(chuàng)建WORM數(shù)據(jù)集并將所述WORM數(shù)據(jù)集保存到WORM數(shù) 據(jù)結(jié)構(gòu);在所述數(shù)據(jù)集的永久保持與所述數(shù)據(jù)集相關聯(lián)的數(shù)據(jù)中設置保 留期;以及將所述WORM數(shù)據(jù)集提交到所述WORM數(shù)據(jù)結(jié)構(gòu),之后所述 存儲系統(tǒng)阻止縮短所述保留期并且所述存儲系統(tǒng)阻止對所迷WORM 數(shù)據(jù)集的任何修改,直到所述保留期到期之后的時間之后為止。
22. 如權(quán)利要求21所述的計算機可讀媒體,其特征在于在所述 保留期到期之后,所述存儲系統(tǒng)僅允許從所述WORM數(shù)據(jù)結(jié)構(gòu)中刪 除所述WORM數(shù)椐集并阻止對所述WORM數(shù)據(jù)集的任何其他修改。
23. 如權(quán)利要求22所述的計算機可讀A某體,其特征在于在其中 設置所述保留期的數(shù)據(jù)是與所述數(shù)據(jù)集相關聯(lián)的時間值相關的文件 屬性或文件特性。
24. 如權(quán)利要求23所述的計算機可讀i某體,其特征在于所述文 件屬性或文件特性是上次訪問的時間屬性或特性。
25. 如權(quán)利要求23所述的計算機可讀々某體,其特征在于所述提 交步驟包括將與所述數(shù)據(jù)集相關聯(lián)的只讀文件屬性從非只讀值轉(zhuǎn)換 到只讀值。
26. 如權(quán)利要求21所述的計算機可讀i某體,還包括通過將延長 期限加到所述保留期以得出延長的保留期并將所述延長的保留期存 儲在其中設置所述保留期的所述數(shù)據(jù)中來延長所述保留期。
27. 如權(quán)利要求26所述的計算機可讀媒體,其特征在于所述延時間上早于所述保留期的延長期限。
28. 如權(quán)利要求21所述的計算機可讀媒體,還包括將所述保留 期與所述存儲系統(tǒng)相關聯(lián)的規(guī)范時鐘中的時間值進行比較,并在所 述時間值等于或晚于所述保留期之后僅允許刪除所述WORM數(shù)據(jù) 集。
29. 如權(quán)利要求28所述的計算機可讀々某體,還包括統(tǒng)計所述存 儲系統(tǒng)的規(guī)律重復操作,并基于所述重復操作的計數(shù)來產(chǎn)生所述時 間值。
30. 如權(quán)利要求29所述的計算機可讀i某體,還包括將所述時間 值存儲在時間存儲WORM數(shù)據(jù)集中,并在所述計數(shù)中斷之后訪問所 述時間存儲WORM數(shù)據(jù)集以重啟所述時間值的計數(shù)。
31. 如權(quán)利要求21所述的計算機可讀媒體,其特征在于所述存 儲系統(tǒng)用于阻止對包括所述WORM數(shù)據(jù)結(jié)構(gòu)中的所述WORM數(shù)據(jù) 集的目錄路徑進行重命名。
32. 如權(quán)利要求31所述的計算機可讀媒體,其特征在于所述提 交步驟由與所述存儲系統(tǒng)互連的客戶機上的應用來執(zhí)行。
33. 如權(quán)利要求31所述的計算機可讀媒體,還包括在鏡像目的 地創(chuàng)建所述WORM數(shù)據(jù)結(jié)構(gòu),并將所創(chuàng)建的WORM數(shù)據(jù)集傳送并 提交到目的地WORM數(shù)據(jù)結(jié)構(gòu)。
34. —種在存儲系統(tǒng)上的記錄,記錄它以便具有單寫多讀(WORM) 特征,所述記錄包括存儲在與所述記錄相關聯(lián)的永久開放協(xié)議數(shù)據(jù)字段中的保留期 值,由此所述保留期向所述存儲系統(tǒng)提供指令,使得無法以任何方式修改所述記錄,直到所述保留期到期為止。
35. 如權(quán)利要求34所述的記錄,其特征在于所迷永久數(shù)據(jù)字段 是在將所述記錄提交到存儲裝置之后無法修改的文件屬性。
36. 如權(quán)利要求35所述的記錄,其特征在于所述文件屬性包括 上次訪問時間文件屬性。
37. 如權(quán)利要求35所述的記錄,其特征在于所述記錄包括開放 協(xié)議讀/只讀屬性、所述讀/只讀屬性在4皮設置為只讀時向所述存儲系 統(tǒng)提供指令以阻止對所述記錄進行修改,直到所述保留期到期為止。
38. 如權(quán)利要求34所述的記錄,其特征在于所迷記錄存儲在數(shù) 據(jù)結(jié)構(gòu)中的磁盤驅(qū)動器上。
39. 如權(quán)利要求38所述的記錄,其特征在于所述數(shù)據(jù)結(jié)構(gòu)是被 所述存儲系統(tǒng)識別為包含具有WORM特征的記錄的WORM數(shù)據(jù)結(jié) 構(gòu)。
40. 如權(quán)利要求34所述的記錄,其特征在于所述存儲系統(tǒng)用于 通過存儲指定大于所述保留期的時間的延長保留期值來允許所述保 留期的延長。
41. 一種在存儲系統(tǒng)上的記錄,記錄它以便具有單寫多讀(WORM) 特征,所述記錄包括與所述記錄相關聯(lián)且永久存儲的保留期值,由此所述保留期向 所述存儲系統(tǒng)提供指令,使得無法以任何方式修改所述記錄,直到 所述保留期到期為止,并且在所述保留期到期之后可從所述存儲系 統(tǒng)單獨刪除所述記錄。
42. —種用于確保單寫多讀(WORM)存儲系統(tǒng)中的數(shù)據(jù)集在其保 留曰期之前不被修改的規(guī)范時鐘,包括計數(shù)器,統(tǒng)計所述存儲系統(tǒng)中的多個重復事件,并賦予相對于 所述事件的計數(shù)的時間值;以及發(fā)生器,將所述計數(shù)與外部時鐘時間輸入進行比較,并且基于 所述外部時鐘時間輸入基于所述外部時鐘輸入和所述時間值之間的限定的漂移速率來調(diào)整所述時間值。
43. 如權(quán)利要求42所述的規(guī)范時鐘,其特征在于所述發(fā)生器用 于將所述外部時鐘時間輸入與所述時間值進行比4^,并在所述外部 時鐘時間輸入與所述時間值相差多于預定值的情況下發(fā)出警報。
44. 如權(quán)利要求43所述的規(guī)范時鐘,其特征在于所述警報促使 所述存儲系統(tǒng)阻止對所述存儲系統(tǒng)中的所有數(shù)據(jù)集的^fi務改。
45. 如權(quán)利要求42所述的規(guī)范時鐘,其特征在于所述外部時鐘 包括信任的第三方時鐘。
46. 如權(quán)利要求42所述的規(guī)范時鐘,還包括所述存儲系統(tǒng)上的 時間存儲數(shù)據(jù)集,它周期性接收并存儲所述時間值并且用于當中斷 所述計數(shù)器時凈皮訪問以得出起始時間值。
47. 如權(quán)利要求46所述的規(guī)范時鐘,其特征在于所述時間存儲 數(shù)據(jù)集和所述數(shù)據(jù)集均存儲在WORM巻上,以使所述時間存儲數(shù)據(jù) 集永久地與所述數(shù)據(jù)集相關聯(lián)。
48. 如權(quán)利要求47所述的規(guī)范時鐘,其特征在于所述發(fā)生器用 于分別檢查與多個巻中的每一個相關聯(lián)的多個時間存儲數(shù)據(jù)集中的 每一個,并選擇所述時間存儲數(shù)據(jù)集中最早的時間值作為起始時間。
49. 一種用于在存儲系統(tǒng)中建立單寫多讀(WORM)巻的方法,其 特征在于均鎖定其中預定的數(shù)據(jù)集以防止修改直到各自保留日期到 期為止,包括如下步驟將一種類型的WORM巻標識為不受信任的管理員WORM巻或 信任的管理員WORM巻的至少其中之一;以及僅允許對所述不受信任的管理員WORM巻中的預定數(shù)據(jù)集的每 一個執(zhí)行不受信任的管理員活動,并且允許對所述信任的管理員 WORM巻中的預定數(shù)據(jù)集的每一個執(zhí)行信任的管理員活動。
50. 如權(quán)利要求49所述的方法,其特征在于允許不受信任的管 理員活動的步驟包括僅允許在所迷各自保留日期到期之后刪除所述 數(shù)據(jù)集的每一個,并且對所述數(shù)據(jù)集的每一個提供缺省最小保留曰期。
51. 如權(quán)利要求50所述的方法,其特征在于允許信任的管理員 活動的步驟包括提供允許對所述數(shù)據(jù)集的每一個進行立.即修改的缺 省保留日期。
52. 如權(quán)利要求50所述的方法,其特征在于允許信任的管理員 活動的步驟包括允許在所述各自保留日期到期之后刪除所述數(shù)據(jù)集 的每一個并且對所述數(shù)據(jù)集的每一個進行其他修改。
53. 如權(quán)利要求50所述的方法,其特征在于允許信任的管理員 活動的步驟包括允許破壞信任的管理員巻。 '
54. —種用于自動刪除存儲在單寫多讀存儲系統(tǒng)的數(shù)據(jù)結(jié)構(gòu)中的 記錄的方法,包括如下步驟為所述數(shù)據(jù)結(jié)構(gòu)中的預定記錄建立保留日期; 掃描所述數(shù)據(jù)結(jié)構(gòu)并將所述保留日期與信任的時鐘時間值比 較;以及自動刪除其保留日期等于或早于所述信任的時鐘時間的所述記 錄的每一個。
55. 如權(quán)利要求54所述的方法,其特征在于所述掃描、比較和 自動刪除的步驟由與所述存儲系統(tǒng)互連的客戶機上運行的進程來執(zhí)行。
56. 如權(quán)利要求54所述的方法,其特征在于所述信任的時鐘基 于所述存儲系統(tǒng)上運行的周期性進程生成所述時間值,并且在預定 時間將所述時間值持續(xù)存儲在所述數(shù)據(jù)結(jié)構(gòu)中。
57. 如權(quán)利要求56所述的方法,其特征在于所述信任的時鐘從 另 一個時鐘接收時間輸入,并按限定的漂移速率調(diào)整所述時間值以 接近所述時間輸入的值。
58. —種用于將記錄存儲在單寫多讀配置中的WORM存儲系 統(tǒng),包括應用編程接口 ,用于將元數(shù)據(jù)形式的各自保留日期應用于所述記錄的每一個;以及與系統(tǒng)硬件時鐘分離的信任的時鐘,用于在各自保留日期到期 時對所述記錄的每一個上的WORM特征解鎖。
59. 如權(quán)利要求58所述的WORM存儲系統(tǒng),其特征在于所述 信任的時鐘基于所述存儲系統(tǒng)執(zhí)行的周期性事件的計數(shù)來得出時間 值。
60. 如權(quán)利要求59所述的WORM存儲系統(tǒng),其特征在于按限 定的偏移速率基于來自另 一個時鐘的時間輸入調(diào)整所述信任的時 鐘,所迷速率對于預定的總時間將調(diào)整限制于預定的時間偏移量。
61. 如權(quán)利要求60所述的WORM存儲系統(tǒng),其特征在于所述 其他時鐘是系統(tǒng)時鐘。
62. 如權(quán)利要求58所述的WORM存儲系統(tǒng),其特征在于所述 存儲系統(tǒng)包括互連的計算機簇并且它是內(nèi)容可尋址存儲系統(tǒng)。
全文摘要
本發(fā)明提出一種被鎖定以防止在WORM存儲實施內(nèi)刪除或修改的數(shù)據(jù)集內(nèi)的指定的保留日期。此保留日期機制未利用任何專有的應用編程接口(API)或協(xié)議,而是采用通常使用的操作系統(tǒng)中可獲取的常規(guī)文件(或其他數(shù)據(jù)容器、數(shù)據(jù)集或基于塊的邏輯單元編號)特性內(nèi)的本地功能。在一個說明性實施例中,通過查詢提交之前文件的最后修改時間并將保留期加該值,由此得出其后可以從WORM釋放該文件的保留日期來計算保留日期/時間。在提交之前,計算的保留日期存儲在文件的“上次訪問時間”特性/屬性字段中,或永久與該文件保持關聯(lián)且正用于保留日期的另一個元數(shù)據(jù)字段不與WORM狀態(tài)中的文件管理干擾。因為此字段不在WORM場景中被利用,所以可以將其用于存儲該日期。一旦存儲,該字段中的保留日期被鎖定以防止修改。在期望延長(從不會縮短)保留期的情況中,可更新上次訪問時間字段,其中將新的保留期加上現(xiàn)存上次訪問時間值來為文件得出新的較晚保留日期。當保留日期到期時,系統(tǒng)允許刪除到期的WORM文件/數(shù)據(jù)集。
文檔編號G06F12/14GK101443760SQ200480039575
公開日2009年5月27日 申請日期2004年4月22日 優(yōu)先權(quán)日2003年11月3日
發(fā)明者J·L·赫勒, W·P·麥戈文 申請人:網(wǎng)絡裝置公司