Skip to main content
本繁體中文版使用機器翻譯,譯文僅供參考,若與英文版本牴觸,應以英文版本為準。

什麼是跨網格複寫?

貢獻者 netapp-pcarriga netapp-lhalbert

跨網格複寫是在中連接的兩個 StorageGRID 系統中、在所選的 S3 儲存區之間自動複寫物件"網格同盟連線""帳戶複製"為跨網格複寫所需。

跨網格複寫的工作流程

工作流程圖總結了在兩個網格上的儲存桶之間配置跨網格複製的步驟。

跨網格複寫工作流程

跨網格複寫的需求

如果租用戶帳戶具有使用網格聯合連線權限,則可以使用一個或多個"網格同盟連線",具有Root存取權限的租用戶用戶可以在每個網格上對應的租用戶帳戶中建立bucket。這些存儲桶:

  • 可以有不同的名稱

  • 可以有不同的區域

  • 必須啟用版本設定

  • 必須為空白

建立兩個貯體之後、即可針對任一或兩個貯體設定跨網格複寫。

跨網格複寫的運作方式

您可以將跨網格複製配置為單向或雙向進行。

單向複寫

如果僅為一個網格上的儲存桶啟用跨網格複製,則新增至該儲存桶(來源儲存桶)的物件將複製到另一個網格上的對應儲存桶(目標儲存桶)。但是,新增到目標儲存桶的物件不會被複製回來源。圖中,啟用了跨網格複製 `my-bucket`從網格 1 到網格 2,但在另一個方向則無法啟用。

顯示單向網格同盟連線的影像

雙向複寫

如果您在兩個網格上為相同的儲存格啟用跨網格複寫、則新增至任一儲存格的物件都會複寫至其他網格。在圖中、雙向啟用跨網格複寫 my-bucket

影像顯示複寫的單一方向、與雙向複寫比較

擷取物件時會發生什麼情況?

當 S3 用戶端將物件新增至已啟用跨網格複寫的貯體時、會發生下列情況:

  1. StorageGRID 會自動將物件從來源貯體複製到目的地貯體。執行此背景複寫作業的時間取決於多項因素、包括擱置中的其他複寫作業數。

    S3 用戶端可以透過發出 GetObject 或 HeadObject 請求來驗證物件的複製狀態。響應包括StorageGRID特定的 `x-ntap-sg-cgr-replication-status`響應頭,其值為以下之一:

    網格 複寫狀態

    來源

    • * 已完成 * :所有網格連線的複寫都成功。

    • * 擱置 * :物件尚未複寫至至少一個網格連線。

    • 失敗:複製未等待任何電網連接,且至少有一個電網連接發生永久性故障。使用者必須解決該錯誤。

    目的地

    • 複本 * :物件已從來源網格複寫。

    註 StorageGRID不支援 `x-amz-replication-status`標頭。
  2. StorageGRID 使用每個網格的主動式 ILM 原則來管理物件、就像管理任何其他物件一樣。例如、 Grid 1 上的 Object A 可能會儲存為兩個複寫複本、並永久保留、而複寫至 Grid 2 的 Object A 則可能會使用 2+1 銷毀編碼來儲存、並在三年後刪除。

刪除物件時會發生什麼情況?

如中所述"刪除資料流程", StorageGRID 可以刪除物件,原因如下:

  • S3 用戶端發出刪除要求。

  • 租戶管理器使用者可選擇"刪除貯體中的物件"從貯體移除所有物件的選項。

  • 貯體具有生命週期組態、已過期。

  • ILM 規則中的物件最後一個時間週期結束、而且沒有指定其他放置位置。

當 StorageGRID 因貯體作業中的刪除物件、貯體生命週期到期或 ILM 放置到期而刪除物件時、複寫的物件永遠不會從網格同盟連線中的其他網格中刪除。不過、 S3 用戶端刪除所新增至來源貯體的刪除標記、可選擇性地複寫至目的地貯體。

若要瞭解 S3 用戶端從已啟用跨網格複寫的儲存區刪除物件時會發生什麼情況、請檢閱 S3 用戶端如何從已啟用版本設定的儲存區刪除物件、如下所示:

  • 如果 S3 用戶端發出包含版本 ID 的刪除要求、該版本的物件將會永久移除。貯體中不會新增刪除標記。

  • 如果 S3 用戶端發出不包含版本 ID 的刪除請求, StorageGRID不會刪除任何物件版本。相反,它會向儲存桶添加一個刪除標記。刪除標記使StorageGRID表現得好像物件已被刪除:

    • 沒有版本 ID 的 GetObject 請求失敗,並顯示 404 No Object Found

    • 具有有效版本 ID 的 GetObject 請求成功並傳回請求的物件版本。

當 S3 用戶端從已啟用跨網格複寫的貯體中刪除物件時、 StorageGRID 會決定是否將刪除要求複寫到目的地、如下所示:

  • 如果刪除請求包含版本 ID,則該物件版本將從來源網格中永久刪除。但是, StorageGRID不會複製包含版本 ID 的刪除請求,因此相同的物件版本不會從目標中刪除。

  • 如果刪除請求不包含版本 ID, StorageGRID可以根據儲存桶的跨網格複製配置方式選擇性地複製刪除標記:

    • 如果您選擇複寫刪除標記(預設)、則會將刪除標記新增至來源貯體、並複寫至目的地貯體。實際上、這兩個網格上的物件似乎都會被刪除。

    • 如果您選擇不複製刪除標記,則刪除標記將新增至來源儲存桶,但不會複製到目標儲存桶。實際上,在來源網格上刪除的物件不會在目標網格上刪除。

在圖中,當"已啟用跨網格複寫"。包含版本 ID 的來源儲存桶的刪除請求不會從目標儲存桶中刪除物件。不包含版本 ID 的來源儲存桶的刪除請求似乎會刪除目標儲存桶中的物件。

顯示在兩個網格上複寫用戶端刪除的影像
註 如果您想要在網格之間保持物件刪除同步、請為兩個網格上的儲存格建立對應的物件刪除"S3 生命週期組態"

加密物件的複寫方式

當您使用跨網格複寫在網格之間複寫物件時、可以加密個別物件、使用預設的儲存格加密、或設定全網格加密。您可以在為貯體啟用跨網格複寫之前或之後、新增、修改或移除預設的貯體或全網格加密設定。

若要加密個別物件、您可以在將物件新增至來源貯體時、使用 SSE (伺服器端加密搭配 StorageGRID 託管金鑰)。使用 x-amz-server-side-encryption`請求標頭並指定 `AES256。請參閱。 "使用伺服器端加密"

註 跨網格複製不支援使用 SSE-C(使用客戶提供的金鑰的伺服器端加密)。攝取操作將會失敗。

若要使用儲存庫的預設加密、請使用 PuttBucketEncryption 要求、並將參數設定 SSEAlgorithm`為 `AES256。貯體層級加密適用於不含要求標頭的任何擷取物件 x-amz-server-side-encryption。請參閱。 "在貯體上作業"

若要使用網格層級加密、請將 * 儲存的物件加密 * 選項設定為 * AES-256* 。網格層級加密適用於任何未在儲存區層級加密、或是在沒有要求標頭的情況下擷取的物件 x-amz-server-side-encryption。請參閱。 "設定網路和物件選項"

註 SSE 不支援 AES-128。如果使用 AES-128 選項為來源網格啟用了 儲存物件加密 選項,則 AES-128 演算法的使用不會傳播到複製的物件。相反,複製的物件使用目標的預設儲存桶或網格級加密設定(如果可用)。

在決定如何加密來源物件時、 StorageGRID 會套用下列規則:

  1. 使用 `x-amz-server-side-encryption`擷取標頭(如果有)。

  2. 如果不存在攝取標頭,則使用儲存桶預設加密設定(如果已配置)。

  3. 如果未配置儲存桶設置,則使用網格範圍的加密設定(如果已配置)。

  4. 如果不存在網格範圍的設置,則不要加密來源物件。

在決定如何加密複寫物件時、 StorageGRID 會依下列順序套用這些規則:

  1. 除非來源物件使用 AES-128 加密、否則請使用與來源物件相同的加密。

  2. 如果來源物件未加密或使用 AES-128,則使用目標儲存桶的預設加密設定(如果已配置)。

  3. 如果目標儲存桶沒有加密設置,則使用目標的網格範圍加密設定(如果已配置)。

  4. 如果不存在網格範圍的設置,則不要加密目標物件。

使用 S3 物件鎖定進行跨網格複製

您可以在下列情況下配置啟用了 S3 物件鎖定的StorageGRID桶之間的跨網格複製。

當來源儲存桶上的 S3 物件鎖定是…​ 目標儲存桶上的 S3 物件鎖是…​

已啟用

已啟用

已停用

已啟用

當來源儲存桶上的 S3 物件鎖定啟用時:

  • 物件按照以下順序在目標處使用保留設定進行鎖定:

    1. 來源物件的保留標頭值為:

      x-amz-object-lock-mode

      x-amz-object-lock-retain-until-date

    2. 來源儲存桶的預設保留(如果設定)。

    3. 目標儲存桶的預設保留(如果設定)。

    目標儲存桶的預設保留不會覆蓋從來源物件複製的保留設定。

  • 您可以使用以下方式設定目標物件的合法保留狀態 `x-amz-object-lock-legal-hold`上傳對象時。

  • 如果目標租用戶或儲存桶不支援來源物件的 S3 物件鎖定設置,則會發生錯誤。請參閱"跨網格複製警報和錯誤。"

當來源儲存桶上的 S3 物件鎖定已停用時:

  • 您可以設定目標儲存桶上的預設保留,以將 S3 物件鎖定保留設定套用至目標物件。

  • 目標物件無法設定合法保留狀態。

不支援 PutObjectTagged 和 DeleteObjectTagging

已啟用跨網格複寫的貯體中的物件不支援 PutObjectTagged 和 DeleteObjectTagged 要求。

如果 S3 用戶端發出 PutObjectTagging 或 DeleteObjectTagging 請求, 501 Not Implemented`被退回。訊息是 `Put(Delete) ObjectTagging isn't available for buckets that have cross-grid replication configured

不支援 PutObjectRetention 和 PutObjectLegalHold

對於啟用了跨網格複製的儲存桶中的對象,PutObjectRetention 和 PutObjectLegalHold 請求不完全支援。

如果 S3 用戶端發出 PutObjectRetention 或 PutObjectLegalHold 請求,則會修改來源物件的設置,但變更不會套用到目標。

分割物件的複寫方式

來源網格的最大段大小適用於複製到目標網格的物件。當物件被複製到另一個網格時,兩個網格都會使用來源網格的*最大段大小*設定(配置 > 系統 > 儲存選項)。例如,假設來源網格的最大段大小為 1 GB,而目標網格的最大段大小為 50 MB。如果您在來源網格上提取一個 2 GB 的對象,則該對象將保存為兩個 1 GB 的段。它也會作為兩個 1 GB 的段複製到目標網格,儘管該網格的最大段大小為 50 MB。