本頁說明 Cloud Storage 的可用性和耐久性概念:
可用性:可應要求立即存取資料。
耐久性:長期保護資料,確保資料完整無缺且未損毀。
下列各節將說明 Cloud Storage 如何備援儲存資料、雙區域和多區域的預設複製行為,以及強化型複製和跨值區複製等進階功能。
基本概念
儲存在 Cloud Storage 中的資料每月可用性,取決於資料的儲存空間級別和 bucket 的位置類型。詳情請參閱「可用的儲存空間級別」。
無論儲存空間類別和位置類型為何,Cloud Storage 的設計都至少可達到 99.999999999% (11 個 9) 的年度耐用性。
為此,Cloud Storage 會使用糾刪碼,並將資料備份存放在多個裝置中。
資料備援儲存後,系統才會確認寫入 Cloud Storage 的作業成功。
檢查碼也會加以儲存並定期重新驗證,藉以主動確認所有靜態資料的完整性,並偵測傳輸中的資料是否出現損毀。如有需要,系統會自動使用備援資料來修正。
值區的位置類型如何影響可用性和耐久性
區域值區會在所選區域的至少兩個可用區中,以備援方式儲存資料。這些服務的設計可容許區域中任一可用區發生故障。
只有在資料備份存放在至少兩個不同的可用區後,系統才會確認物件已成功寫入值區。
萬一發生可用區服務中斷 (例如天災造成),區域值區仍可繼續使用,無須變更儲存空間路徑。
雙區域和多區域值區會將資料備援儲存在至少兩個不同的地理位置。
如果是雙重區域,請選取要儲存物件的特定區域。
如果是多區域,Cloud Storage 會視需要決定用於儲存資料的特定資料中心,但這些資料中心位於多區域的地理界線內,且相隔至少 100 英里。與雙地區相比,這項功能可提供跨區域的備援機制,且儲存空間成本較低。
資料備份存放在初始地區的至少兩個不同可用區後,系統才會確認物件寫入值區成功 (與寫入地區值區相同)。然後使用預設複製功能非同步複製資料,在各個區域提供預期的備援機制。
萬一發生區域性服務中斷 (例如天災),雙區域和多區域 bucket 仍可使用,無須變更儲存空間路徑。
如要為無法以雙重區域形式使用的區域配對實現備援,請考慮為每個區域建立個別的 bucket,並使用 Storage Transfer Service 事件驅動的轉移作業或跨 bucket 複寫,讓 bucket 保持同步。
本機備援資料 (例如可用區儲存空間中的資料) 可提供 99.999999999% (11 個 9) 的年度耐用性,避免主機、機架或硬碟故障等硬體故障導致資料遺失。不過,由於資料不會在可用區之間重複,因此如果可用區發生故障,資料可能會無法使用或永久遺失。因此,本機備援儲存空間最適合儲存可替換或重建的資料。
跨區域備援
傳統儲存空間模型通常採用主動-被動方法,並設有「主要」和「次要」地理位置,但 Cloud Storage 雙區域和多區域提供主動-主動架構,以單一值區為基礎,並在各區域之間提供備援。這樣一來,使用者就不必將資料從一個值區複製到另一個值區,也不必在主要區域停機時手動容錯移轉至次要值區,因此可簡化災難復原程序。
Cloud Storage 一律會瞭解值區的目前狀態,並視需要從可用區域透明地提供物件。因此,雙區域和多區域 bucket 的復原時間目標 (RTO) 設為零,使用者通常不會察覺暫時的區域故障;如果發生區域服務中斷,雙區域和多區域 bucket 會自動繼續提供已跨區域複製的所有資料。
不過,跨區域備援是以非同步方式進行,如果區域在資料完成跨區域複製前發生故障,您將無法存取資料,直到該區域恢復運作為止。在極少數的情況下,如果該區域遭到實體破壞,資料可能會遺失。
Cloud Storage 的預設複製功能旨在為 99.9% 的新寫入物件提供跨區域的備援機制,目標是在一小時內完成複製,並在 12 小時內複製完所有新寫入的物件。新寫入的物件包括上傳、重寫、複製及組合。
Cloud Storage 也提供跨值區複製功能,可用於在獨立值區之間複製資料,滿足雙區域或多區域位置無法滿足的額外資料複製需求。
強化型複製
Turbo 複製功能可為雙區域值區中的資料提供更快速的跨區域備援,降低資料遺失風險,並協助支援不間斷服務,避免區域性服務中斷。啟用強化型複製功能後,系統會將新寫入的物件複製到構成雙區域的兩個區域,復原點目標為 15 分鐘,不受物件大小影響。
請注意,即使是預設複製作業,大多數物件也會在幾分鐘內完成複製。
雖然跨區域的備援和渦輪複製功能有助於支援營運持續性和災難復原 (BCDR) 作業,但管理員仍應規劃及實作適合工作負載的完整 BCDR 架構。
詳情請參閱「Step-by-step guide to designing disaster recovery for applications in Google Cloud」。
限制
強化型複製功能僅適用於雙區域中的 bucket。
XML API 無法管理 Turbo 複製功能,包括建立已啟用 Turbo 複製功能的新值區。
在值區上啟用強化型複製功能後,最多可能需要 10 秒,才會開始套用至新寫入的物件。
在值區上啟用強化型複製功能前開始的物件寫入作業,會以預設複製速率跨區域複製。
- 如果物件組合使用過去 12 小時內以預設複製功能寫入的任何來源物件,建立的複合物件也會使用預設複製功能。
跨 bucket 複製
在某些情況下,您可能想在第二個值區中保留資料副本。跨 bucket 複製功能會以非同步方式,將來源 bucket 中新的和更新的物件複製到目的地 bucket。
跨 bucket 複製與預設複製和 Turbo 複製不同,因為資料會儲存在兩個獨立的 bucket,兩者的設定各自獨立,包括儲存位置、加密機制、存取權和儲存空間級別。特別適合:
- 資料主權:在相隔遙遠的地區維護資料。
- 維護不同的開發和正式版:建立不同的 bucket 和命名空間,以免開發作業影響正式版工作負載。
- 共用資料:將資料複製到供應商或合作夥伴擁有的值區。
- 匯總資料:將不同值區的資料合併到單一值區,以執行分析工作負載。
- 管理成本、安全性和法規遵循:在不同擁有權、儲存空間類別和保留期限下維護資料。
跨 bucket 複製功能會使用 Storage Transfer Service 複製物件,並使用 Pub/Sub 接收來源和目的地 bucket 的變更通知。您可以在新建立的值區和現有值區上啟用跨值區複寫。
如果 bucket 的物件變更率低於每秒 3,000 個,且物件大小低於 1 GiB,跨 bucket 複寫通常需要幾分鐘到幾十分鐘,但系統不支援特定上限。此外,如果儲存區的變更率較高或物件較大,複製延遲時間可能會較長。
如需跨 bucket 複製功能的操作說明,請參閱「使用跨 bucket 複製功能」一文。
限制
跨 bucket 複製作業不支援自訂名稱。如果建立的要求包含
name欄位的值,系統會傳回錯誤。階層命名空間 bucket 不支援跨 bucket 複製。
來源 bucket 中的物件刪除作業不會複製到目的地 bucket。
物件生命週期設定不會複製。
複製物件時,系統不會保留時間戳記中繼資料 (例如
timeCreated和timeUpdated)。如要瞭解如何保留中繼資料,請參閱「在 Cloud Storage bucket 之間轉移資料」。由於跨 bucket 複製功能可用於在任何 Google Cloud 位置的 bucket 之間複製資料,因此跨 bucket 複製效能會因所選位置而異。因此,跨儲存空間複製功能不提供復原點目標 (RPO)。
建立複製作業時,bucket 中已有的物件不會自動複製。系統只會複製新物件和更新的物件。 如要複製現有物件,請從現有值區建立一次性 Storage Transfer Service 轉移作業,如需操作說明,請參閱「建立轉移作業」。
Performance Monitoring
Cloud Storage 會使用預設複製或強化型複製功能,監控雙區域和多區域 bucket 中最舊的未複製物件。如果物件在超過 RPO (還原點目標) 時間後仍未複製,則視為超出 RPO。只要有一或多個物件不在復原點目標 (RPO) 範圍內,每分鐘就會計為「不良」分鐘數。
舉例來說,如果一個物件在上午 9:00 至 9:20 產生 20 分鐘的異常時間,另一個物件在上午 9:15 至 9:25 產生 10 分鐘的異常時間,則當月有兩個物件超出 RPO。本月不良分鐘數總計 25 分鐘,因為從上午 9:00 到上午 9:25,至少有一個物件缺少 RPO。
如果 bucket 使用強化型複製功能,物件的 RPO 為 15 分鐘。
如果 bucket 使用預設複製作業,物件的 RPO 為 12 小時。
- 如果 bucket 使用預設複製作業,物件通常會在 1 小時內複製完成。
跨 bucket 複製作業不會提供 RPO。
在 Google Cloud 控制台中,您可以透過「Percent of minutes out of RPO」(超出 RPO 的分鐘數百分比) 圖表,監控過去 30 天內,使用雙區域或多區域 bucket 時,因預設複製或 Turbo 複製而導致不良的分鐘數百分比。這個服務水準指標可用於監控 bucket 的每月複寫時間一致性。同樣地,「不在目標範圍內的物件數百分比」會追蹤未在 RPO 內發生的物件複製作業。這項服務等級指標可用於監控 bucket 的每月複寫量一致性。詳情請參閱「Cloud Storage 監控」和「Cloud Storage SLA」。
後續步驟
- 在現有的雙區域值區啟用強化型複製功能。
- 進一步瞭解強化型複製功能定價。
- 將資料移至新位置的其他值區。