資料可用性和耐用性

本頁面說明 Cloud Storage 的可用性和耐用性概念:

  • 可用性:可應要求立即存取資料。

  • 耐久性:長期保護,確保資料完整無缺且未損毀。

以下各節說明 Cloud Storage 如何備援儲存資料、雙區域和多區域的預設複製行為,以及強化型複製和跨 bucket 複製等進階功能。

基本概念

  • 儲存在 Cloud Storage 中的資料每月可用性,取決於資料的儲存空間級別和 bucket 的位置類型。詳情請參閱「可用的儲存空間級別」。

  • 無論儲存空間類別和位置類型為何,Cloud Storage 的設計都至少具備 99.999999999% (11 個 9) 的年度耐用性。

    • 為此,Cloud Storage 會使用抹除編碼,並在多個裝置上備援儲存資料片段。

    • 只有在資料備援儲存後,系統才會確認寫入 Cloud Storage 的作業成功。

    • 系統會儲存檢查碼並定期重新驗證,主動確認所有靜態資料的完整性,以及偵測傳輸中的資料是否損毀。如有需要,系統會使用多餘資料自動進行修正。

值區位置類型對可用性和耐用性的影響

  • 區域 bucket 會在您選取的區域中,至少兩個可用區備援儲存資料。這些服務的設計可容許區域中任一可用區發生故障。

    • 只有在資料冗餘儲存於至少兩個不同的可用區後,系統才會確認物件已成功寫入 Bucket。

    • 萬一發生可用區中斷的情況 (例如天災),區域 bucket 仍可使用,且不需變更儲存路徑。

  • 雙區域和多區域儲存空間會以備援的形式,將資料儲存到至少兩個不同的地理位置。

    • 如果是雙區域,您必須選取儲存物件的特定區域。

    • 如果是多區域,Cloud Storage 會視需要決定用於儲存資料的特定資料中心,但這些資料中心會位於多區域的地理邊界內,且彼此相距至少 100 英里。與雙區域相比,這個選項的儲存空間成本較低,但仍可在不同區域提供備援。

    • 資料必須先備援儲存在一個初始區域中,且至少橫跨兩個不同的可用區 (與寫入區域 bucket 相同),系統才會確認物件寫入 bucket 的作業成功。然後使用預設複製功能非同步複製資料,確保各區域都有預期的備援機制。

      • 如果物件成功上傳後,在複製到其他地理位置備援前,儲存物件的其中一個區域無法使用,Cloud Storage 的同步一致功能可確保不會提供過時版本的物件,且在該區域再次可用時,後續的覆寫作業不會遭到還原。

      • 這項進階功能可供選用,您可以在雙區域 bucket 啟用強化型複製功能,加快新寫入資料的跨區域複製速度,並提高可預測性。

    • 萬一發生區域性服務中斷 (例如天災造成),雙區域和多區域 bucket 仍可使用,不必變更儲存路徑。

    • 如要在無法做為雙區域的區域配對之間達成備援,建議您為每個區域建立獨立 bucket,並使用 Storage 移轉服務事件導向移轉作業或跨 bucket 複製,讓 bucket 保持同步。

  • 本機備援資料 (例如可用區 bucket 中的資料) 可提供 99.999999999% (11 個 9) 的年度耐用性,可防範主機、機架或磁碟機故障等硬體故障。不過,由於資料不會在可用區之間備援,因此如果可用區發生故障,資料可能會無法使用或永久遺失。因此,本機備援儲存空間最適合用於可替換或重建的資料。

跨區域備援

傳統儲存空間模型通常採用主動-被動方法,並設有「主要」和「次要」地理位置,而 Cloud Storage 雙區域和多區域則提供主動-主動架構,以單一 bucket 為基礎,並在不同區域之間提供備援。這項功能可簡化災難復原程序,使用者不必將資料從一個 bucket 複製到另一個 bucket,也不必在主要區域停機時,手動容錯移轉至次要 bucket。

Cloud Storage 一律會瞭解 bucket 的目前狀態,並視需要從可用區域透明地提供物件。因此,雙區域和多區域值區的設計目標是復原時間目標 (RTO) 為零,且使用者通常不會察覺暫時的區域故障;如果發生區域服務中斷,雙區域和多區域值區會自動繼續提供已跨區域複製的所有資料。

不過,跨區域備援是非同步進行,如果資料在區域無法使用前未完成跨區域複製,則在故障區域恢復上線前,無法存取該資料。在極不可能發生的區域實體毀損情況下,資料可能會遺失。

Cloud Storage 的預設複製功能旨在為區域提供備援,目標是在一小時內複製完 99.9% 的新寫入物件,並在 12 小時內複製完所有新寫入的物件。新寫入的物件包括上傳、重寫、複製及組合。

Cloud Storage 也提供跨 bucket 複製功能,可在獨立 bucket 之間複製資料,滿足雙區域或多區域位置無法滿足的其他資料複製需求。

強化型複製

強化型複製功能可為雙區域 bucket 中的資料提供更快速的跨區域備援,降低資料遺失風險,並協助支援區域服務中斷後的服務不中斷。啟用強化型複製功能後,系統會將所有新寫入的物件複製到構成雙區域的兩個區域,且復原點目標為 15 分鐘,不受物件大小影響。

請注意,即使是預設複製作業,大多數物件也會在幾分鐘內完成複製。

雖然跨區域備援和強化型複製功能有助於支援營運持續性和災難復原 (BCDR) 工作,但管理員應規劃並實作適合其工作負載的完整 BCDR 架構。

詳情請參閱「應用程式災難復原設計逐步指南 Google Cloud」。

限制

  • 強化型複製功能僅適用於雙區域中的 bucket。

  • 強化型複製作業無法透過 XML API 管理,包括建立已啟用強化型複製功能的新 bucket。

  • 在值區上啟用強化型複製功能後,最多可能需要 10 秒,才會開始套用至新寫入的物件。

  • 在值區啟用強化型複製功能前,就已開始寫入的物件,會以預設複製速率跨區域複製。

    • 如果物件組合使用過去 12 小時內以預設複製功能寫入的任何來源物件,建立的複合物件也會使用預設複製功能。

跨 bucket 複製

在某些情況下,您可能需要在第二個 bucket 中保留資料副本。跨 bucket 複製功能會以非同步方式,將新的和更新後的物件從來源 bucket 複製到目的地 bucket。

跨 bucket 複製功能與預設複製和加速複製功能不同,資料會存在兩個獨立的 bucket 中,每個 bucket 都有各自的設定,例如儲存位置、加密、存取權和儲存空間級別。特別適合:

  • 資料主權:在地理位置相距遙遠的區域之間維護資料。
  • 維護個別的開發和正式版:建立不同的 bucket 和命名空間,以免開發作業影響正式版工作負載。
  • 共用資料:將資料複製到供應商或合作夥伴擁有的 bucket。
  • 匯總資料:將不同值區的資料合併到單一值區,以執行分析工作負載。
  • 管理成本、安全性和法規遵循:在不同的擁有權、儲存空間級別和保留期限下維護資料。

跨 bucket 複製作業會使用 Storage 移轉服務複製物件,並使用 Pub/Sub 接收來源和目的地 bucket 的變更通知。您可以為新建立的 bucket 和現有 bucket 啟用跨 bucket 複製功能。

如果 bucket 的物件變更率低於每秒 3,000 次,且物件大小小於 1 GiB,跨 bucket 複製通常需要幾分鐘到幾十分鐘,但沒有特定的上限。此外,如果 bucket 的變更率較高或物件較大,複製延遲時間可能會較長。

如需跨 bucket 複製作業的使用說明,請參閱「使用跨 bucket 複製作業」。

限制

  • 跨 bucket 複製工作不支援自訂名稱。如果建立的要求包含 name 欄位的值,系統會傳回錯誤。

  • 階層命名空間 bucket 或可用區 bucket 不支援跨 bucket 複製。

  • 來源 bucket 中刪除的物件不會複製到目的地 bucket。

  • 物件生命週期設定不會複製。

  • 複製物件時,系統不會保留時間戳記中繼資料 (例如 timeCreated 和 timeUpdated)。如要瞭解如何保留中繼資料,請參閱「在 Cloud Storage bucket 之間轉移資料」。

  • 由於跨 bucket 複製功能可用於在任何 Google Cloud 位置的 bucket 之間複製資料,因此跨 bucket 複製效能會因所選位置而異。因此,跨 bucket 複製功能不提供復原點目標 (RPO)。

  • 建立複製作業時,bucket 中已有的物件不會自動複製。系統只會複製新物件和更新的物件。 如要複製現有物件,請建立一次性 Storage 移轉服務移轉工作,將現有 bucket 移轉至新 bucket。如需操作說明,請參閱「建立移轉作業」。

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 控制台中,超出 RPO 的分鐘數百分比圖表可讓您監控雙區域或多區域 bucket 中,使用預設複製或強化型複製時,過去 30 天內 bucket 的不良分鐘數百分比。這項服務水準指標可用於監控 bucket 的每月複寫時間一致性。同樣地,「不在目標範圍內的物件數百分比」會追蹤未在 RPO 內執行的物件複製作業。這項服務水準指標可用於監控 bucket 的每月複製量符合程度。詳情請參閱「Cloud Storage 監控」和「Cloud Storage SLA」。

後續步驟