本頁面說明備份的定義、運作方式、常見用途,以及建立及使用備份的最佳做法。如要瞭解如何建立及管理備份,以及如何從備份還原 Filestore 執行個體,請參閱「備份資料以便災難復原」。
什麼是備份?
Filestore 備份是檔案共用區的副本,當中包含備份建立時的檔案共用區所有檔案資料和中繼資料。
建立檔案共用項目的備份後,您可以修改或刪除原始檔案共用項目,而不會影響備份。
您可以使用備份將檔案共用區還原至新的 Filestore 執行個體,或是將基本級執行個體還原至現有檔案共用區的來源。
備份是區域性資源,會保留在您建立時指定的區域內。您可以在 Filestore 執行個體所在的區域或其他區域建立備份,以降低資料遺失的風險。
備份可在全球範圍內存取,可用於將檔案共用區還原至任何區域,但無法跨專案共用。
定價
跨區域網路流量會產生網路移轉費用。詳情請參閱「定價」頁面。
備份建立
您建立的第一個備份是檔案共用區中所有檔案資料和中繼資料的完整副本。每次備份都會複製上次備份後對資料所做的任何後續變更。
備份鏈結
與相同執行個體、區域和 CMEK (如有) 相關聯的一組備份,稱為備份鏈。
備份鏈結位於單一 Cloud Storage 值區和區域,且可位於用於儲存來源執行個體的區域之外。
所有服務層級都支援多個備份鏈結,可讓您將執行個體的備份儲存在多個區域。
每次建立備份時,系統都會掃描先前的備份,找出差異和增量變更:
差異變更:包括對共用檔案所做的變更,例如檔案的編輯、新增或刪除。
逐步變更:包括備份資料所在儲存區塊的變更。這可能包括對先前在鏈結中參照的資料進行去重。
每次將備份儲存至相同的備份鏈結時,系統都會掃描先前的備份,找出差異和漸進式變更。在這種情況下,您不需要完整複製內容。
不過,將執行個體的資料儲存至多個備份鏈結,表示您會將備份儲存至其他位置。
每次在替代位置建立新備份時,系統都會再次產生備份的完整副本。在備份鏈結之間切換時,備份 create
作業的延遲時間會變長。
先前備份中未變更的資料會在較新的備份中參照,但不會複製到較新的備份。如果刪除較舊的備份,系統會將該備份的專屬資料複製到最近的備份,並自動更新所有內部資料參照。
在內部,備份鏈結的歷程會透過快照追蹤,而快照會消耗來源例項的容量。
備份作業會立即執行,但備份完成後,您必須等待一段時間,時間長度與要複製的資料量成正比。在此期間,備份會經歷三種狀態:
狀態 | 時間長度 | 說明 |
---|---|---|
建立中 | 幾秒 | 擷取檔案分享的目前狀態。檔案共用資料的任何新變更可能會或不會納入備份。包括在啟動備份程序前,執行個體已確認的穩定寫入作業。 |
完成 | 取決於尺寸 | 將資料上傳至備份。備份檔案不會包含任何新的檔案共用資料變更。 |
已就緒 | 備份刪除前 | 備份檔案已可供使用。 |
建立後,基本層級備份會自動壓縮,以降低成本。為可用區、區域和企業服務層級的執行個體建立備份時,執行個體效能可能會降低。建立備份不會影響基本級執行個體的可用性或效能。
處理重複資料
根據預設,備份作業會以漸增方式進行,以免系統向您收取重複資料的費用,並盡量減少儲存空間的使用量。為確保基礎變更記錄的可靠性,備份可能會不時擷取執行個體的完整副本。
詳情請參閱「比較快照和備份」。
備份刪除
備份是專案層級的資源,而非來源執行個體的子資源,因此需要使用專屬的儲存空間。因此,備份的生命週期不會與來源執行個體的生命週期綁定。刪除來源不會刪除相關聯的備份。如果要刪除備份,您必須明確對備份執行刪除作業,而非執行個體。
請務必刪除所有不需要的備份。如果刪除來源執行個體,所有剩餘備份都會繼續產生費用。
備份一經刪除即無法復原。如果備份刪除作業失敗,狀態會標示為 invalid
。在這種情況下,請重新執行 delete
作業。
備份一致性
Filestore 備份具有 NFSv3 和 NFSv4.1 一致性語義。在啟動備份程序之前,Filestore 執行個體認可寫入穩定儲存空間的任何寫入作業,或隨後附帶已確認的 COMMIT
,都會納入備份。詳情請參閱 NFSv3 RFC-1813 的第 3.3.7 節或「關於支援的檔案系統通訊協定」。
常見用途
以下各節說明備份的常見用途。
備份資料供災難復原之用
假設您在 us-west1-c
中有一項 Filestore 執行個體,且想保護資料,避免受到影響該地區的災難影響。您可以排定工作,定期為這個執行個體建立備份,並將備份儲存在遠端區域 (例如 us-
east1
)。如果發生涉及 us-west1-c
的災難,您可以使用任何先前備份,在其他位置建立新的執行個體。
備份資料,避免資料遭到意外變更
如要保護 Filestore 資料,避免發生非預期變更,您可以排定工作,讓系統定期建立執行個體的備份。如果資料遺失,您可以瀏覽備份資料清單,找出所需檔案版本。接著,您可以從備份建立新的 Filestore 執行個體,將其掛載至與原始執行個體相同的用戶端,然後將檔案複製過來。
在複製檔案之前,您可以使用 Linux diff
指令在兩個掛載點上檢查原始執行個體的資料與從備份還原的資料之間的差異。資料復原後,您可以刪除已還原的執行個體,並建立新的備份,以便保留資料的現有狀態,供日後使用。
或者,您也可以執行原地還原作業,將備份資料直接還原至原始 Filestore 執行個體,並用備份中的資料取代其中的所有資料。建議您在執行原地還原作業前,先備份最新資料,因為任何未備份的資料都會遺失。
建立用於開發和測試的本機副本
假設您在 Filestore 執行個體上設定資料庫,用於處理實際工作環境流量。如果您想以資料庫做為輸入內容來執行測試,可以從實際工作環境執行個體的備份中,為測試建立新的 Filestore 執行個體。如此一來,測試用途就不會干擾實際工作環境。
同樣地,您也可以使用備份進行離線分析和調查,而不影響正式版。
資料遷移
建立 Filestore 執行個體後,就無法變更其位置或服務層級。如要將資料遷移至其他區域,您可以建立資料備份,然後使用備份建立新的 Filestore 執行個體,或將資料還原至現有執行個體。
功能限制
Filestore 備份已全面開放 (GA),適用於所有服務級別。
Filestore 備份無法與 Filestore 多份共享功能合併使用。
以下各節將詳細說明效能、儲存空間、容量、加密和其他主題的其他功能限制。
成效
對於使用率很高的執行個體,備份上傳時,效能可能會降低 15%。備份
create
作業不會影響基本級執行個體的效能。將執行個體的資料儲存至多個備份鏈結確實會影響備份效能。在備份鏈結之間切換時,備份
create
作業的延遲時間會變長。執行個體作業 (例如執行個體
restore
或執行個體delete
) 可能會延遲,直到備份create
作業完成為止。在某些情況下,
delete
作業最多可能需要 24 小時才能完成。
作業並行
與相同來源例項相關聯的備份
delete
作業必須逐一執行。系統不支援在備份鏈結中執行大量備份
delete
作業。delete
作業處於待處理狀態時,同一個備份鏈結中的任何新delete
作業都會傳回RESOURCE_EXHAUSTED
錯誤。無論來源執行個體是否已刪除,如果來源執行個體已刪除,您會收到FAILED_PRECONDITION
錯誤。備份參照個別來源執行個體時,Filestore 支援並行備份
delete
作業。舉例來說,標示為
Source1
的執行個體有在Backup1
和Backup2
中參照的備份資料。Source2
含有Backup3
和Backup4
中參照的備份資料。Backup1
和Backup2
無法同時刪除,但Backup2
和Backup3
可以。在同一個備份鏈結中啟動的備份
create
和備份delete
作業可以同時執行。如果您已開始建立新備份,則必須等到該作業完成,才能刪除最近的現有備份。這是因為最新備份包含成功完成備份create
作業所需的最重要資料。如果您嘗試刪除最新的備份,系統會傳回FAILED_PRECONDITION
錯誤。舉例來說,
Source1
有由Backup1
和Backup2
組成的備份鏈結。當您開始為Backup3
執行create
作業時,您必須等到create
作業完成後,才能刪除Backup2
。如要進一步瞭解作業頻率限制,請參閱「備份作業頻率限制」。
儲存空間
您可以將基本執行個體的備份還原至相同服務層級的來源執行個體。如果您將基本執行個體還原至新執行個體,無論來源執行個體等級為何,您都可以選擇基本 HDD 和基本 SSD 執行個體。
您無法將區域、區域和企業執行個體還原至來源執行個體或現有執行個體。您只能將這類備份還原至新的執行個體。在這種情況下,新執行個體層級不必與來源執行個體層級相符。舉例來說,您可以將區域執行個體的備份還原至區域執行個體。新執行個體的配置容量必須等於或超過來源執行個體的配置容量。
容量
為區域、區域和
企業執行個體建立的備份可能會耗用執行個體容量。這個容量會因備份建立後資料異動範圍而異。具體來說,建立備份時,Filestore 會建立檔案系統的內部快照,而這會占用部分可用執行個體容量。此外,快照大小也取決於上次建立備份後,共用項目內資料所經歷的變更範圍。這個快照會持續存在,直到下次備份建立並上傳為止。
備份所參照的所有資料都會保留在擷取時的狀態,並繼續占用檔案系統的容量。舉例來說,如果您要從已掛載的檔案系統中刪除資料,該動作本身不會釋出容量。您可以先刪除或覆寫大量資料,再建立新的備份。
如需差異和增量變更的詳細說明,以及如何處理這類變更,請參閱「備份建立」。
如要為工作負載預先準備足夠的容量,請考慮採用下列任一做法:
針對資料變動頻繁或變動率高的大量工作負載,提高執行個體容量。
請定期備份。如果上次備份過時,內部快照可能會累積更多變更,並耗用更多執行個體容量。
加密
使用 CMEK 加密備份鏈結時,適用下列限制:
整個備份鏈結會使用相同的 CMEK 加密。
使用 CMEK 建立備份時,CMEK 必須與目標備份位於相同區域。
如果備份鏈結儲存在與來源執行個體不同的區域,您可能需要套用不同的金鑰,一個用於來源,另一個用於備份鏈結。
- 所有服務層級都支援多個備份鏈結,或在多個區域中儲存執行個體的備份。如果選擇使用 CMEK 進行加密,CMEK 金鑰必須與所加密的資源位於相同區域。如果您將備份儲存在與來源不同的區域,且 CMEK 並非多區域金鑰,則必須使用不同的 CMEK 金鑰。詳情請參閱「CMEK 限制」和「選擇最佳 CMEK 位置」。
系統會將單一 CMEK 套用至備份鏈結儲存的 Cloud Storage 儲存桶,且無法合併或取代。
基本級備份不支援 CMEK。
詳情請參閱「CMEK 備份鏈結支援」。
通訊協定
- 還原備份時,新執行個體必須使用與來源執行個體相同的通訊協定。
最佳做法
下列各節將說明建議的最佳做法。
備妥檔案共用區,以便取得最佳備份一致性
備份的品質取決於應用程式能否使用您在系統執行繁重寫入工作負載時所建立的備份進行復原。在多數情況下,即使應用程式正在將資料寫入檔案共用區,您也能建立具有良好一致性的備份。不過,如果應用程式需要嚴格的一致性,建議您採取下列一或多項做法:
- 使用 sync 掛載。詳情請參閱 nfs(5) 中的「The sync mount option」一節。或者,您也可以使用
O_DIRECT|O_SYNC
標記開啟檔案。詳情請參閱「open(2)」。 - 暫停會將資料寫入檔案共用項目的應用程式或作業系統程序,並在啟動備份程序前,先將變更內容刷新至檔案共用項目。詳情請參閱 fsync(2)。
- 如果應用程式需要多個檔案分享之間具備一致性,請先暫停所有寫入所有檔案分享的執行個體上的所有應用程式,並建立所有檔案分享的備份,再繼續執行應用程式。
- 如果您需要應用程式層級的一致性,請先停止應用程式並卸載檔案共用,再建立備份。
使用現有備份做為新備份的基準,以縮短備份建立時間
區域內檔案共用區現有的備份會做為建立檔案共用區新備份的基準,以縮短備份建立時間。因此,建議您採取以下做法:
請先備份檔案分享,再刪除先前的檔案分享備份。
請等待新備份進入
Ready
狀態,再為同一個檔案共用建立後續備份。
將備份作業安排在離峰時段,以縮短備份建立時間
在非尖峰時段建立備份,可縮短備份作業所需的時間。如果您安排檔案共用內容的定期備份作業,建議盡可能將作業時間安排在離峰時段。
備份建立作業的高峰時段是 Filestore 執行個體所在區域的每個工作天結束時間和午夜。建議您在清晨或上班時間建立備份。
在不同的 Filestore 執行個體上整理資料,盡可能提高效率
檔案分享中的資料越多,備份檔案就越大,費用也會隨之增加。如要只備份需要備份的資料,建議您在個別檔案共用中整理資料,具體如下:
- 使用不同的寫入模式或備份需求,在不同檔案共用中儲存重要資料。
- 將類似的資料儲存在同一個檔案共用中,以減少需要建立的備份數量。
配額
基本 SSD 和基本 HDD 服務級別的每個區域備份數量有配額限制。
備份配額限制不適用於區域、區域性和企業服務級別。
詳情請參閱「服務等級和配額」。
開始使用 Filestore 備份
如要開始使用這項功能,請參閱「備份資料供災難復原之用」。
後續步驟
- 瞭解如何備份及還原檔案共用區。
- 瞭解如何使用 Cloud Scheduler 排定備份作業。
- 瞭解Google Cloud 地區和區域。
- 瞭解備份價格。