WatchStor觀察:文件系統管理遭遇“困境”
【WatchStor獨家譯文】文件管理的問題實際是:這些文件并不是被作為文件來管理的,而是作為信息被管理的。標準POSIX信息要基礎得多。像Google Desktop這樣的應用可以幫助你找到你想要的,但是這只能解決一部分問題。
現在幾乎大多數人使用的文件系統界面都是POSIX。我們希望文件系統支持的界面是open()系統調用,或者如果使用C Library Interface,希望支持的是fopen()調用。現在,我們需求很多其他信息用于數據追蹤、備份和歸檔、用戶元數據和文件可靠性,還有其他很多很多。
事實是,數據存儲廠商在用戶方面解決所有這些問題,而不是作為標準的一部分。一些SNIA成員推行XAM,但這只是樹梢,文件系統集成問題仍然不夠明確。到底是cp還ftp來傳輸XAM信息?
現在我們需要的是行業范圍內的討論,或者一個組織(或者多個組織)來帶頭解決這個問題。讓眾多廠商來開一個SNIA大會并不能從根本上解決我們目前面臨的兩難境地。我們需要定義覆蓋一份文件或者一套文件的普遍特性或者一項所有人都支持的標準架構來實現數據管理的標準化。我曾經看到我的用戶反反復復做著同一件事,針對文件定義用戶級元數據、備份和歸檔策略,將一小部分資金用于滿足數據庫或者其他軟件架構方面的這些需求,結果發現仍然是不具備便攜性的,而且永遠也不會實現。其中大多數工作都是保存歸檔,這對保存信息有特殊的要求。
現在POSIX提供了什么?
現在POSIX包括了關于每份文件訪問時間、創建使用、用戶、部門和權限等信息,這就是POSIX提供的信息范圍。所有這些都是通過stat() system call提供的。從基本上來說,POSIX定義了使用getattr()和setattr()系統調用的特性。這是擴展文件系統的標準方法。
問題是,沒有統一的一套特性可以覆蓋所有文件系統。舉個例子,一家廠商希望支持HSM界面,HSM使用的是一種被稱為DMAPI的通用架構。這家廠商可能會采用POSIX擴展特性來部署DMAPI,或者將DMAPI作為這些擴展特性的一部分。當文件系統不能打開文件的話,文件系統就會檢查擴展特性,發現這份文件是處于HSM控制下的。如果你將這份文件復制到另一個文件系統或者另一個不同的操作系統下會發生什么?如果你正在使用的是像cp這樣的標準拷貝命令,或者通過ftp上傳文件,那么所有關于這份文件以及擴展特性的信息都會丟失。
以下是標準stat()調用的一些變量:
·上一次訪問時間
·文件系統I/O的塊大小
·分配塊的數量
·上一次變更的時間
·所有者的組ID
·文件保護模式
·上一次修改的時間
·固網數量
·總容量大小
·所有者的用戶ID
這些信息對于在生命周期內管理文件來說是不夠的。不管這是不是你的內部計劃,一張三年前創建、需要保留30年的數字圖片,甚至需要保留的納稅記錄,這些信息并不足以幫助你追蹤和保留文件。想象一下,你怎么面對數十億甚至是數百億的業務記錄、醫療記錄、政府記錄、科研數據或者其他重要信息?這些文件通常是數據庫等應用進行管理的,但是這并不是最理想的方法。
一個有關POSIX的建議
POSIX提供的一份文件相關信息是非常有限的,而且需要不時更新。作為標準POSIX文件的一部分,你應該在一份文件內提供以下信息:
·T10 Data Integrity Field (DIF)支持:目前,一個應用無法以標準方面滿足DIF關于應用的規定
·例如SHA256這樣的文件檢驗和:這對很多保存歸檔來說非常重要,它可以檢驗文件的完整性,現在很多企業都要求采用這一技術來確保數據完整性
·用戶或者應用保存的文件元數據:例如創建文件的是哪一個應用版本
·標準化備份和HSM界面信息:應該備份這份文件嗎?HSM應該保留幾個副本?
·數據起源:這對文件監管鏈的完整性是很重要的
以上這些只是我認為一份在設備之間遷移的文件的一部分標準信息。如果沒有關于文件的這些信息,我們可能要付出沉重代價,正如我們向廠商支付費用來寫入用戶空間應用在Unix系統上追蹤這些信息。有趣的是,IBM大型主機用戶嘲笑我們,因為MVS具有這項功能已經很多年了。我會采用POSIX標準特性和針對每種特性創建特性組來實現這一點。這就讓我們在不影響主系統的同時獲得這些功能。必須增加一些命令來組織這些特性,然后進行遷移,所有這些并不難。
變化的障礙
那么為什么現在還沒有一個人這么做呢?我認為有以下幾個原因:
·廠商不希望做任何變化,任何對POSIX的變更都可能需要在文件系統和操作系統方面作出更改
·廠商就是通過用戶空間來盈利的。這是一個很糟糕的原因,但是我認為這是確實存在的。如果實現標準化了,你就不會再去購買它了
·這些變更可能會帶來更多開銷,你必須為分布數據準備額外的空間。這就增加了文件系統元數據需要的空間,增加打開和讀取文件的時間
我不認為其中任何一個理由是“按兵不動”的好理由。廠商一直對系統做修改,所以第一個理由是說不通的。廠商可以從多種渠道盈利,所以這也不能說是一個障礙。額外的開銷似乎也說不通,因為大多數文件都很大,相比之下元數據空間很小,讀取512B字節的時間相比讀取1024字節的時間來說是非常微小的。
阻礙變更的最后一個障礙就是,標準并不覆蓋用戶方面,而是廠商來控制的。在我看來,要想有所變化的唯一希望就要寄托于那些在用戶空間應用方面花費大量資金的用戶,比如政府機構和工業用戶。他們應該參與其中。【WatchStor獨家譯稿,未經許可禁止轉載。合作伙伴請注明原作者及出處為WatchStor.com】