創建和維護文件系統的快照
可以創建整個GPFS文件系統的快照,以便在單個時間點保留文件系統的內容。 整個文件系統的快照也稱爲全局快照。 用於維護快照的存儲開銷是保留數據塊的副本,否則在快照時間之後將更改或刪除這些數據塊。
文件系統的快照是隻讀的; 只能對活動(即普通,非快照)文件和目錄進行更改。
快照功能允許備份或鏡像程序與用戶更新同時運行,並且在創建快照時仍可獲得文件系統的一致副本。 快照還提供在線備份功能,可以輕鬆恢復常見問題,例如意外刪除文件,以及與舊版本的文件進行比較。
注意事項:
- 由於快照不是整個文件系統的副本,因此不應將其用作防止介質故障的保護。 有關防止介質故障的信息,請參閱“IBM Spectrum Scale:概念,規劃和安裝指南”中的“可恢復性注意事項”主題。
- 文件集快照提供了一種方法來創建獨立文件集的快照,而不是整個文件系統。 有關文件集快照的詳細信息,請參閱“文件集級別快照”。
- 文件的快照會創建一個新文件,該文件用於從原始文件中捕獲用戶數據和用戶屬性。 快照文件獨立於原始文件。 對於DMAPI受管文件系統,無論原始文件的狀態如何,DMAPI都不會自動管理文件的快照。 快照不會繼承原始文件中的DMAPI屬性。 有關GPFS的DMAPI限制的更多信息,請參閱IBM Spectrum Scale:命令和編程參考。
- 存在快照時,從活動文件系統中刪除文件並不總是導致實際釋放任何空間; 相反,可以將塊推送到上一個快照。 在這種情況下,釋放空間的方法是刪除最舊的快照。 在創建新快照之前,最好確保文件系統不會接近滿。
- 克隆的使用在功能上提供了可寫快照。 請參閱“創建和管理文件克隆”。
GPFS文件系統快照的管理包括:
- “創建快照”
- “列出快照”
- “從快照恢復文件系統”
- “使用策略引擎讀取快照”
- “鏈接到快照”
- “刪除快照”
創建快照
使用mmcrsnapshot命令可在單個時間點創建整個GPFS文件系統的快照。 快照在文件系統樹中顯示爲根的隱藏子目錄。
全局快照顯示在文件系統根目錄的子目錄中,其默認名稱爲.snapshots。 如果您希望從每個目錄訪問快照而不是遍歷根目錄,則可以通過發出mmsnapdir命令使用不可見目錄來建立連接。有關詳細信息,請參閱“鏈接到快照”。
文件系統(即Device)的快照由mmcrsnapshot命令上的SnapshotName名稱標識。 例如,如果文件系統fs1要創建快照snap1,輸入:
mmcrsnapshot fs1 snap1
輸出類似於:
Writing dirty data to disk.
Quiescing all file system operations.
Writing dirty data to disk again.
Snapshot snap1 created with id 1.
在發出命令之前,目錄結構將類似於:
/fs1/file1
/fs1/userA/file2
/fs1/userA/file3
發出命令後,目錄結構將類似於:
/fs1/file1
/fs1/userA/file2
/fs1/userA/file3
/fs1/.snapshots/snap1/file1
/fs1/.snapshots/snap1/userA/file2
/fs1/.snapshots/snap1/userA/file3
如果稍後要創建第二個快照,則第一個快照將保持原樣。 快照只能由活動文件系統製成,而不能由現有快照製作。 以下命令創建同一文件系統的另一個快照:
mmcrsnapshot fs1 snap2
輸出類似於:
Writing dirty data to disk.
Quiescing all file system operations.
Writing dirty data to disk again.
Snapshot snap2 created with id 2.
發出命令後,目錄結構將類似於:
/fs1/file1
/fs1/userA/file2
/fs1/userA/file3
/fs1/.snapshots/snap1/file1
/fs1/.snapshots/snap1/userA/file2
/fs1/.snapshots/snap1/userA/file3
/fs1/.snapshots/snap2/file1
/fs1/.snapshots/snap2/userA/file2
/fs1/.snapshots/snap2/userA/file3
有關完整的用法信息,請參閱IBM Spectrum Scale:命令和編程參考中的mmcrsnapshot命令主題。
列出快照
使用mmlssnapshot命令顯示文件系統的現有快照及其屬性。
-d選項顯示快照使用的存儲量。 在報告和確定是否已超出配額限制時,GPFS配額管理不會將用於存儲快照的數據塊考慮在內。 這是一個緩慢的操作,建議僅用於問題確定。
例如,要顯示文件系統fs1的快照信息以及其它存儲信息,請發出以下命令:
mmlssnapshot fs1 -d
系統顯示類似於的信息:
Snapshots in file system fs1: [data and metadata in KB]
Directory SnapId Status Created Data Metadata
snap1 1 Valid Fri Oct 17 10:56:22 2003 0 512
有關完整的使用信息,請參閱IBM Spectrum Scale:命令和編程參考中的mmlssnapshot命令主題。
從快照還原文件系統
使用mmrestorefs命令從快照還原活動文件系統中的用戶數據和屬性文件。
在發出mmrestorefs命令之前,請確保已掛載文件系統。 從獨立文件集快照還原時,請確保文件集處於鏈接狀態。
mmrestorefs命令不會修改現有快照(包括還原中使用的快照)。 要獲取已還原的文件系統的快照,必須先發出mmcrsnapshot命令以捕獲它,然後再次發出mmrestorefs命令。
例如,假設您有一個類似於以下內容的目錄結構:
/fs1/file1
/fs1/userA/file2
/fs1/userA/file3
/fs1/.snapshots/snap1/file1
/fs1/.snapshots/snap1/userA/file2
/fs1/.snapshots/snap1/userA/file3
如果隨後刪除目錄userA,則結構將類似於:
/fs1/file1
/fs1/.snapshots/snap1/file1
/fs1/.snapshots/snap1/userA/file2
/fs1/.snapshots/snap1/userA/file3
然後使用最初分配給userA的inode創建目錄userB,並拍攝另一個快照:
mmcrsnapshot fs1 snap2
輸出類似於:
Writing dirty data to disk.
Quiescing all file system operations.
Writing dirty data to disk again.
Snapshot snap2 created with id 2.
生成的目錄結構類似於以下內容:
/fs1/file1
/fs1/userB/file2b
/fs1/userB/file3b
/fs1/.snapshots/snap1/file1
/fs1/.snapshots/snap1/userA/file2
/fs1/.snapshots/snap1/userA/file3
/fs1/.snapshots/snap2/file1
/fs1/.snapshots/snap2/userB/file2b
/fs1/.snapshots/snap2/userB/file3b
然後從snap1恢復文件系統:
mmrestorefs fs1 snap1
生成的目錄結構類似於以下內容:
/fs1/file1
/fs1/userA/file2
/fs1/userA/file3
/fs1/.snapshots/snap1/file1
/fs1/.snapshots/snap1/userA/file2
/fs1/.snapshots/snap1/userA/file3
/fs1/.snapshots/snap2/file1
/fs1/.snapshots/snap2/userB/file2b
/fs1/.snapshots/snap2/userB/file3b
有關完整的用法信息,請參閱IBM Spectrum Scale:命令和編程參考中的mmrestorefs命令主題。
使用策略引擎讀取快照
您可以使用策略引擎讀取快照的內容以進行備份。 mmapplypolicy命令提供**-S**選項以在策略運行期間指定快照。 策略引擎不是將規則與活動文件系統匹配,而是將規則與快照中的文件進行匹配。
注意事項:
- 快照是隻讀的。 進行更改或刪除文件的策略規則(如MIGRATE或DELETE)不能與快照一起使用。
- mmapplypolicy的實例只能掃描一個快照。 將其定向到.snapshots目錄本身將導致失敗。
有關完整的用法信息,請參閱IBM Spectrum Scale:命令和編程參考中的mmapplypolicy命令主題。
鏈接到快照
快照根目錄顯示在文件系統根目錄下的特殊.snapshots目錄中。
如果您希望直接鏈接到快照,而不是始終遍歷根目錄,則可以將mmsnapdir命令與**-a選項配合使用,以便將文件系統中的所有目錄添加到.snapshots子目錄。這些.snapshots**子目錄將包含一個鏈接,該鏈接指向包括活動文件系統中的目錄的每個快照的對應目錄。
但是,與根目錄中的**.snapshots不同,由msnapdir命令的-a選項添加的.snapshots目錄在ls命令或readdir()函數不返回.snapshots的意義上是不可見的。 這是爲了防止遞歸文件系統實用程序(如find或tar**)進入它們處理的每個目錄的快照樹。 例如,如果輸入ls -a /fs1/userA,則不會列出**.snapshots目錄。 但是,您可以輸入ls /fs1/userA/.snapshots或cd /fs1/userA/.snapshots以確認存在.snapshots**。 如果用戶想要使其中一個快照目錄更加可見,則建議創建指向**.snapshots**的符號鏈接。
在這些特殊**.snapshots目錄中使用的inode編號是動態構造的,不遵循標準規則。 這些inode編號通過標準命令(例如stat**,readdir或ls)對應用程序可見。 報告的這些目錄的inode編號也可以在不同的操作系統上進行不同的報告。 應用程序不應期望此類inode的編號一致。
在mmsnapdir命令上指定**-r選項會反轉-a選項的效果,並還原爲根目錄中單個.snapshots**目錄的默認行爲。
-s選項允許您更改**.snapshots**目錄的名稱。 有關完整的用法信息,請參閱IBM Spectrum Scale:命令和編程參考中的mmsnapdir命令主題。
爲了說明這一點,假設一個名爲fs1的GPFS文件系統(位於/ fs1)有一個名爲snap1的快照。 文件系統可能與此類似:
/fs1/userA/file2b
/fs1/userA/file3b
/fs1/.snapshots/snap1/userA/file2b
/fs1/.snapshots/snap1/userA/file3b
要從每個目錄創建指向快照的鏈接,並使用名稱**.link而不是.snapshots**,請輸入:
mmsnapdir fs1 -a -s .links
命令完成後,目錄結構將類似於:
/fs1/userA/file2b
/fs1/userA/file3b
/fs1/userA/.links/snap1/file2b
/fs1/userA/.links/snap1/file3b
/fs1/.links/snap1/userA/file2b
/fs1/.links/snap1/userA/file3b
要刪除鏈接,請發出:
mmsnapdir fs1 -r
命令完成後,目錄結構類似於以下內容:
/fs1/userA/file2b
/fs1/userA/file3b
/fs1/.links/snap1/userA/file2b
/fs1/.links/snap1/userA/file3b
有關完整的用法信息,請參閱IBM Spectrum Scale:命令和編程參考中的mmsnapdir命令主題。
刪除快照
使用mmdelsnapshot命令刪除文件系統的GPFS快照。
例如,要刪除文件系統fs1的snap1,請輸入:
mmdelsnapshot fs1 snap1
輸出類似於:
Invalidating snapshot files...
Deleting snapshot files...
100.00 % complete on Tue Feb 28 10:40:59 2012
Delete snapshot snap1 complete, err = 0
有關完整的使用信息,請參閱IBM Spectrum Scale:命令和編程參考中的mmdelsnapshot命令主題。
使用IBM Spectrum Scale GUI管理快照
使用IBM Spectrum Scale GUI中的Files> Snapshots頁面通過GUI管理快照。
快照可用於需要多個恢復點的環境中。 可以對文件系統或文件集數據進行快照,然後如果生產數據不可用,則可以從快照中恢復數據。
注意:
- 快照是隻讀的; 只能對正常和活動文件和目錄進行更改,而不能對快照進行更改。
- 獲取獨立文件集的快照時,快照中僅包含嵌套的相關文件集。
使用快照規則調度快照創建
您可以手動創建快照或創建快照規則以自動創建快照和保留快照。
要手動創建快照,請單擊“快照”頁面中的“創建快照”,然後在“創建快照”窗口的“手動”選項卡下輸入所需的詳細信息。 輸入詳細信息後單擊“創建”。
通過創建快照規則,您可以自動創建快照和保留快照。 也就是說,在快照規則中,您可以指定必須創建快照的頻率以及一段時間內必須保留的快照數。 保留策略有助於避免不必要的快照存儲,從而導致存儲資源的浪費。
保留策略具有以下參數:
- 快照創建的頻率
- 要保留的最新快照數。 根據快照創建的頻率確定最新快照。
- 您需要保留每天最新快照的天數。
- 您需要保留每週最新快照的週數。
- 您需要保留每月最新快照的月數。
保留策略示例場景
下表提供了針對這些參數指定的值的示例。
保留週期示例
頻率 | 分鐘 | 最近的快照數 | 保留最新的快照 | |||
小時 | 天 | 周 | 月 | |||
每小時 | 1 | 2 | 2 | 6 | 2 | 3 |
根據此保留規則,將在2016年3月20日上午06:10創建並保留以下快照:
示例 - 根據保留策略保留的快照時間戳
時間戳 | 保留快照的條件 |
---|---|
12月31日(星期四,晚上11:01) | 保留最近3個月的最新快照 |
1月31日(星期日,晚上11:01) | 保留最近3個月的最新快照 |
2月29日(星期一,晚上11:01) | 保留最近3個月的最新快照 |
3月5日(星期六,晚上11:01) | 保留最近2周的最新快照 |
3月12日(星期六,晚上11:01) | 保留最近2周的最新快照 |
3月14日(星期一,晚上11:01) | 保留最近6天的最新快照 |
3月15日(星期二,晚上11:01) | 保留最近6天的最新快照 |
3月16日(星期三,晚上11:01) | 保留最近6天的最新快照 |
3月17日(星期四,晚上11:01) | 保留最近6天的最新快照 |
3月18日(星期五,晚上11:01) | 保留最近6天的最新快照 |
3月19日(星期六,晚上11:01) | 保留最近6天的最新快照 |
3月20日(週日,早上5:01) | 保持最近2個快照 |
3月20日(星期日,上午6:01) | 保持最近2個快照 |
根據此規則,2016年3月20日上午06:10將保留13個快照。
要計劃快照創建和保留,請執行以下步驟:
- 轉到文件>快照。
- 單擊“創建快照”。
- 在“創建快照”窗口中,輸入需要爲其創建快照的文件系統或獨立文件集的路徑。
- 在“快照名稱”字段中,指定快照的名稱。
- 單擊“快照規則”。
- 單擊“創建規則”以計劃快照創建和保留。 將顯示“創建快照規則”窗口。
- 在“名稱”字段中,鍵入快照計劃規則的名稱。
- 在“頻率”字段中,選擇創建快照所需的頻率。 您需要根據“頻率”字段中選擇的值輸入更多詳細信息。 例如,如果選擇的值是“每小時多次”,請選擇您需要創建快照的小時的分鐘數。
- 在“保留”字段中,指定一段時間內必須保留的快照數。
- 在“前綴”字段中,指定要添加的前綴以及使用此規則創建的快照的名稱。
- 單擊“確定”以保存更改。
如果未指定快照的名稱,則會給出默認名稱。 使用格式“@ GMT-yyyy.MM.dd-HH.mm.ss”在創建時生成默認快照ID。 如果給出此選項並且省略了“@ GMT-date-time”格式,則Windows VSS將無法識別此快照,並且該方法無法進行文件還原。 避免使用空格,雙引號和單引號,括號(),星號*,正斜槓/和反斜槓\。
刪除快照
要手動刪除快照,請右鍵單擊“快照”頁面中的快照,然後選擇“刪除”。 根據快照創建規則自動創建的快照將根據規則中指定的保留期自動刪除。 當滿足刪除條件時,GUI立即開始刪除快照候選。
創建和刪除對等和RPO快照
對等和恢復點目標(RPO)快照用於AFM和AFM DR配置,以確保數據完整性和可用性。 拍攝對等快照時,它會創建緩存文件集的快照,然後在主站點對快照創建進行排隊。 這可確保緩存和主站點的應用程序一致性。 RPO快照是一種在AFM DR設置中使用的對等快照。 它用於維護AFM DR配置中主站點和輔助站點之間的一致性。
使用“文件”>“快照”頁面中的“創建對等快照”選項可以創建對等快照。 您可以從“快照”頁面以及“文件”>“活動文件管理”頁面的詳細視圖中查看和刪除這些對等快照。
文件集和全局快照
GPFS全局快照保留整個文件系統的內容,包括其所有文件集,甚至是未鏈接的文件集。
快照中的文件集狀態不受對活動文件系統中的文件集所做的更改的影響,例如取消鏈接,鏈接或刪除。 可以通過.snapshots目錄訪問保存的文件系統,並且命名空間(包括所有鏈接的文件集)與創建快照時一樣。 快照中無法訪問未鏈接的文件集,因爲它們位於活動文件系統中。 但是,還原快照還會還原未鏈接的文件集,然後可以重新鏈接和訪問這些文件集。
如果文件集包含在全局快照中,則可以將其刪除,但不會從文件系統中完全刪除。 在這種情況下,文件集清空所有內容並被賦予“已刪除”狀態。 即使在刪除文件集之後,文件集的內容在包含文件集的快照(即通過包含**.snapshots**組件的某個路徑)中仍然可用,因爲創建快照時會保存文件集的所有內容。 文件集保持已刪除狀態,直到刪除包含它的最後一個快照,此時文件集將自動刪除。
如果在創建文件集之後創建快照,則文件集將包含在全局快照中。 刪除的文件集出現在mmlsfileset和mmlsfileset --deleted命令的輸出中,-L選項可用於顯示包含文件集的最新快照。
在從全局快照還原期間,可以更改快照中包含的文件集的屬性。 全局快照中包含的文件集將恢復到以前的狀態,並刪除較新的文件集。此外,還原可能會取消刪除已刪除的文件集並將已鏈接的文件集更改爲取消鏈接,反之亦然。 如果自拍攝快照以來更改了文件集的名稱,則將還原舊的文件集名稱。
文件集級快照
可以創建文件集快照,而不是創建整個文件系統的全局快照,以保留單個獨立文件集的內容以及共享相同inode空間的所有相關文件集。
如果獨立文件集具有共享其inode空間的依賴文件集,則獨立文件集的快照也將包括這些依賴文件集。 換句話說,文件集快照是整個inode空間的快照。
每個獨立文件集在文件集的根目錄中都有自己的隱藏.snapshots目錄,該目錄包含任何文件集快照。 mmsnapdir命令允許設置一個選項,使全局快照也可通過所有獨立文件集的根目錄中的**.snapshots獲得。 文件系統根目錄中的.snapshots目錄列出了根文件集的全局快照和文件集快照(根文件集是獨立的文件集)。 可以使用mmsnapdir**命令自定義此行爲。
文件集快照名稱不必在不同的文件集中是唯一的,因此對兩個不同文件集的文件集快照使用相同的名稱是有效的,因爲它們將出現在兩個不同文件集根目錄中的**.snapshots**下。
您可以使用mmrestorefs命令恢復獨立的文件集快照數據和屬性文件。 有關完整的用法信息,請參閱IBM Spectrum Scale:命令和編程參考中的mmrestorefs命令主題。