1. 程式人生 > >48、【華為HCIE-Storage】--InfoLocker

48、【華為HCIE-Storage】--InfoLocker

HCIE Storage hostman

-----------------------------------重要說明------------------------------------

以下部分內容來網絡,部分自華為存儲官方教材

具體教材內容請移步華為存儲官網進行教材下載

網絡引用內容無法找到原創,如有侵權請通知

------------------------------------重要說明------------------------------------

a. 定義

InfoLocker即一寫多讀特性,購買InfoLocker特性的用戶可對文件設置保護期,在文件被保護期間,只能讀取,不能進行修改和刪除;在文件保護期過期後,文件只能被刪除,不能進行修改。因此, InfoLocker成為歸檔文件系統的必備特性。 InfoLocker分為企業級InfoLocker與遵從級InfoLocker,其中企業級InfoLocker的系統管理員可以在文件被保護期內刪除InfoLocker文件,而遵從級InfoLocker在文件被保護期內任何人都無法刪除文件。本版本僅支持企業級InfoLocker。

在描述一寫多讀特性時,簡稱WORM( Write Once Read Many)比較常見,下文統一使用WORM來簡稱一寫多讀。

b. 相關概念

l WORM時鐘

為了防止由於集群時間的變更導致目錄或文件保護時間的變化,當一個目錄或文件被配置了WORM屬性後,該目錄或文件將使用WORM時鐘來計時,用於WORM目錄和文件的計時。設置了WORM時鐘之後,系統會在該時鐘基礎上計時,避免由於用戶修改本地時鐘導致文件提前過保護期。WORM時鐘只允許設置一次,設置成功後不再允許更改。

WORM時鐘與集群時間的關系:

如果集群時間早於WORM時鐘, WORM時鐘將每過1小時,最多向前追趕138秒進行調整。

如果集群時間晚於WORM時鐘, WORM時鐘調整為集群時間。

l WORM屬性

當一個目錄配置為WORM根目錄時,該目錄的所有子目錄、新建目錄和新建文件自動繼承父目錄的WORM屬性,這些屬性參數只能在配置WORM根目錄時被設置,之後用戶只能查看不能修改。 WORM屬性如表所示,系統通過文件的WORM屬性,判斷該文件何時過期,何時進入保護狀態。

技術分享圖片

l WORM日誌

用於記錄WORM操作相關的日誌,按照時間進行記錄,每個月的日誌記錄為一個文件,該文件為WORM文件,只能進行追加寫,不能進行修改和刪除,避免用戶誤刪除或篡改。

l 提交保護

可采用兩種方式使WORM目錄下的文件進入保護狀態,即只可讀,不可寫。

自動提交保護: WORM目錄下的文件,在設置的自動提交保護時間內沒有進行寫操作和修改WORM屬性等操作,文件將自動進入保護狀態。系統在後臺自動運行一個掃描任務,對WORM目錄下的文件進行分析,如果文件處於“未保護狀態”或“追加狀態”且距離上次的修改時間( mtime)已經超過該文件的自動鎖定時間,系統會自動關閉文件的寫權限,文件進入“保護狀態”。

手工提交保護: WORM目錄下的文件,用戶手工去除文件寫權限或設置為只讀,將立即觸發文件進入保護狀態。

l 計算過期時間

每個文件都具有atime(讀取文件或者執行文件的時間,在本特性中作為該文件的過期時間,一旦該文件進入保護狀態,則atime不隨文件訪問或執行變化, atime為該文件的過期時間 )、 ctime(該文件的內容、權限,擁有者,所屬的組,鏈接數等文件狀態最後改變時間)和mtime(該文件的數據內容最後改變時間)屬性。系統通過mtime來判斷文件最後修改時間, WORM文件的過期時間記錄在文件的atime中, atime的計算分為以下兩種情況:

自動提交保護場景

1、如果用戶未設置atime,則atime = mtime+自動鎖定時長+默認保護期。

2、如果用戶設置atime,且mtime+自動鎖定時長+最小保護期< atime <mtime自動鎖定時長+最大保護期,則實際的atime = 自動鎖定時長+用戶設置的atime。

3、如果用戶設置atime,但atime<mtime+自動鎖定時長+最小保護期,則實際的atime = mtime+自動鎖定時長+最小保護期。

4、如果用戶設置atime,但atime>mtime+自動鎖定時長+最大保護期,則實際的atime = mtime+自動鎖定時長+最大保護期。

手工提交保護場景

1、如果用戶未設置atime,則atime = 當前WORM時鐘時間+默認保護期。

2、如果用戶設置atime,且當前WORM時鐘時間+最小保護期< atime <當前WORM時鐘時間+最大保護期,則實際的atime = 用戶設置的atime。

3、如果用戶設置atime,但atime<當前WORM時鐘時間+最小保護期,則實際的atime = 當前WORM時鐘時間+最小保護期。

4、如果用戶設置atime,但atime>當前WORM時鐘時間+最大保護期,則實際的atime = 當前WORM時鐘時間+最大保護期。

l WORM文件狀態

技術分享圖片

技術分享圖片

1.提交保護:可采用自動提交保護和手工提交保護兩種方式使WORM目錄下的文件進入保護狀態,即只可讀,不可寫。

2.修改保護期:當文件處於“保護狀態”時,可以通過修改atime,手動延長文件的保護期。

3.保護時間到期:文件進入“保護過期”狀態,此時文件只能刪除和讀取,不能被修改。

4.延長保護期:當文件過期後,可以通過延長保護期使文件重新進入“保護狀態”。

5.追加寫:對於處於“保護狀態”的空文件,在打開了寫權限後,進入“追加狀態”。“追加狀態”可以對文件追加寫。只要不進行提交保護操作,處於“追加狀態”的已經追加寫入內容的非空文件,可以持續進行追加寫,追加寫文件的保護分兩種情況:

當追加狀態的文件小於1MB時,既可以追加寫也可以修改寫文件的內容。

當追加狀態的文件大於1MB時,可以追加寫,文件大小減去1MB的內容不能修改寫,文件的最後1MB內容可以修改寫,即最後1MB數據,系統無法保護。

c. 實現原理

技術分享圖片
技術分享圖片

1:系統管理員將一個普通目錄配置為WORM根目錄,該目錄獲取WORM屬性,使用WORM時鐘計時, WORM相關操作系統將記錄日誌。

2:用戶通過客戶端訪問文件系統,在WORM根目錄下新建目錄,並寫入文件,新建目錄下的新建文件自動獲取父目錄的WORM屬性,該目錄下的文件為未保護狀態。

3:到達自動鎖定時間, WORM目錄A下的文件進入保護狀態。 WORM目錄A下的文件屬性變為只讀,用戶修改WORM目錄A下的文件請求被系統拒絕。

4:用戶在WORM根目錄下再次新建目錄,並寫入文件,該目錄下的文件為未保護狀態。

5:用戶手工將WORM目錄B下的文件提交保護, WORM目錄B下的文件進入保護狀態。

WORM目錄中數據的讀寫狀態B部分如圖所示。

技術分享圖片
技術分享圖片

6:當用戶發現WORM目錄B下的文件被誤提交成保護模式,請求系統管理員進行刪除,系統管理員不具有刪除權限,刪除WROM目錄B下的文件操作請求被拒絕。

7:系統超級管理員具有特權刪除權限,刪除WORM目錄B下的文件,刪除成功。

8:達到保護期, WORM目錄A下的文件進入過期狀態,用戶對WORM目錄A下的文件進行刪除,刪除成功。



48、【華為HCIE-Storage】--InfoLocker