本頁說明備份的定義、運作方式、常見用途,以及建立和使用備份的最佳做法。如要瞭解如何建立及管理備份,以及如何從備份還原 Filestore 執行個體,請參閱「備份資料以進行災難復原」。
什麼是備份?
Filestore 備份是檔案共用區的副本,包含建立備份時檔案共用區的所有檔案資料和中繼資料。
建立檔案共用的備份後,您可以修改或刪除原始檔案共用,而不會影響備份。
您可以將備份用於將檔案共用區還原至新的 Filestore 執行個體,或是還原至現有檔案共用區的來源 (僅限基本級執行個體)。
備份作業是區域資源,會保留在您建立時指定的區域。您可以在與 Filestore 執行個體相同的區域建立備份,也可以在其他區域建立備份,以降低資料遺失的風險。
備份可供全域定址,並用於將檔案共用區還原至任何區域,但無法在專案間共用。
定價
跨區域網路流量會產生網路傳輸費用。詳情請參閱定價頁面。
建立備份
您建立的第一個備份是檔案共用區中所有檔案資料和中繼資料的完整副本。後續備份作業會複製上次備份後,資料的所有後續變更。
備份鏈
與相同執行個體、區域和 CMEK (如使用) 相關聯的備份群組稱為「備份鏈」。
備份鏈結位於單一 Cloud Storage 值區和區域,且可位於用於儲存來源執行個體的區域之外。
所有服務層級都支援多個備份鏈,讓您將執行個體的備份儲存在多個區域。
每次建立備份時,系統都會掃描先前的備份,找出差異和增量變更:
差異變更:包括對共用資料夾中的檔案所做的變更,例如編輯、新增或刪除檔案。
增量變更:包括備份資料所在 bucket 的儲存空間變更。這可能包括先前在鏈結中參照的資料重複資料刪除作業。
每次將備份儲存至相同備份鏈時,系統都會掃描先前的備份,找出差異和增量變更。在這種情況下,不需要完整副本。
不過,將執行個體資料儲存至多個備份鏈,表示您會將備份儲存至交替位置。
每次在交替位置建立新備份時,系統都會再次產生完整備份副本。在備份鏈之間交替時,備份作業的延遲時間會較長。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 bucket,且無法合併或取代。
基本級備份不支援 CMEK。
詳情請參閱「備份鏈的 CMEK 支援」。
通訊協定
- 還原備份時,新執行個體必須使用與來源執行個體相同的通訊協定。
最佳做法
下列各節將說明建議的最佳做法。
備妥檔案共用區,確保備份作業的一致性
應用程式能否從系統執行繁重寫入工作負載時建立的備份檔復原,會影響備份品質。多數情況下,即使應用程式正將資料寫入檔案共用區,您也能建立一致性良好的備份。不過,如果應用程式需要嚴格的一致性,建議您採取下列一或多項行動:
- 使用 sync 裝載。詳情請參閱 nfs(5) 中的「同步掛接選項」一節。或者,您也可以使用
O_DIRECT|O_SYNC
旗標開啟檔案。詳情請參閱 open(2)。 - 暫停會將資料寫入檔案共用的應用程式或作業系統程序,並在啟動備份程序前,讓這些程序將變更排清至檔案共用。詳情請參閱 fsync(2)。
- 如果應用程式對多個共用磁碟之間的一致性有極高的要求,您必須先暫停所有執行個體上正在寫入所有檔案共用磁碟的應用程式,接著為所有檔案共用磁碟建立備份,然後再繼續執行應用程式。
- 如果您需要應用程式層級的一致性,請先停止應用程式並卸載檔案共用,再建立備份。
使用現有備份做為新備份的基準,縮短備份建立時間
系統會使用區域內現有的檔案共用備份做為基準,建立新的檔案共用備份,縮短備份建立時間。因此,建議您採取下列行動:
請先備份檔案共用,再刪除該檔案共用的先前備份。
請先等新備份進入
Ready
狀態,再繼續為同一個檔案共用建立備份。
將備份作業安排在離峰時段進行,縮短備份建立時間
在離峰時段建立備份,可縮短備份建立時間。如果安排系統定期備份檔案共用,建議盡可能將作業時間安排在離峰時段。
建立備份作業的高峰時段是每個工作天的結束時間,以及 Filestore 執行個體所在區域的午夜。建議您在清晨或工作時間內建立備份。
在不同的 Filestore 執行個體中整理資料,盡可能提升效率
檔案共用中的資料越多,備份檔案就越大,費用也越高。如要只備份所需資料,建議您將資料整理到不同的檔案共用區,也就是:
- 在不同檔案共用區儲存具有不同寫入模式或備份需求的重要資料。
- 將類似的資料儲存在同一個檔案共用區,以減少需要建立的備份數量。
配額
基本固態硬碟和基本傳統硬碟服務層級的每個區域,備份數量都有配額限制。
備份配額限制不適用於可用區、區域和企業服務層級。
詳情請參閱「服務層級和配額」。
開始使用 Filestore 備份
如要開始使用這項功能,請參閱「備份資料供災難復原之用」。
後續步驟
- 瞭解如何備份及還原檔案共用區。
- 瞭解如何使用 Cloud Scheduler 安排備份作業。
- 瞭解Google Cloud 地區和區域。
- 瞭解備份定價。