文件

啟用雙向伺服器端儲存桶複製

此頁面上的步驟會建立一個新的儲存桶複製規則,用於在 MinIO 儲存桶之間進行雙向「主動-主動」物件同步。

Active-Active Replication synchronizes data between two remote clusters.

本教學課程涵蓋在兩個 MinIO 叢集之間設定主動-主動複製。有關在三個或更多 MinIO 叢集之間進行多站點複製的教學課程,請參閱 啟用多站點伺服器端儲存桶複製

需求

您必須滿足 儲存桶複製需求 中描述的所有基本儲存桶複製需求。

此外,若要設定主動-主動儲存桶複製,您必須滿足以下額外需求

存取兩個叢集

您必須具有網路存取權和登入憑證,以及設定主動-主動儲存桶複製的兩個部署所需的權限。

您可以透過登入每個部署的 MinIO 主控台,或透過安裝 mc 並使用命令列來存取部署。

如果使用命令列,請使用 mc alias set 命令為兩個 MinIO 部署建立別名。建立別名需要指定部署上使用者的存取金鑰。此使用者必須具有在部署上建立和管理使用者及原則的權限。

具體而言,請確保使用者至少具有以下權限:

考量事項

使用一致的複製設定

MinIO 支援自訂複製配置,以啟用或停用下列複製行為

  • 複製 刪除操作

  • 複製刪除標記

  • 複製現有物件

  • 僅複製中繼資料變更

在設定儲存貯體的複製規則時,請確保參與主動-主動複製的兩個 MinIO 部署使用相同的複製行為,以確保物件同步的一致性和可預測性。

複製現有物件

MinIO 支援自動複製儲存貯體中的現有物件。

MinIO 需要使用 mc replicate add --replicatemc replicate update --replicate 並包含 existing-objects 複製功能旗標,來明確啟用現有物件的複製。此程序包含啟用現有物件複製所需的旗標。

複製刪除操作

MinIO 支援將刪除操作複製到目標儲存貯體。具體而言,MinIO 可以複製版本控制的 刪除標記 和特定版本物件的刪除

  • 對於物件的刪除操作,MinIO 複製也會在目標儲存貯體上建立刪除標記。

  • 對於物件版本的刪除操作,MinIO 複製也會在目標儲存貯體上刪除這些版本。

MinIO 需要使用 mc replicate add --replicatemc replicate update --replicate 來明確啟用刪除操作的複製。此程序包含啟用刪除操作和刪除標記複製所需的旗標。

MinIO 不會複製因應用 生命週期管理到期規則 而產生的刪除操作。在來源和目的地儲存貯體上設定相符的到期規則,以確保物件到期的一致應用。

如需更完整的說明文件,請參閱 複製刪除操作物件刪除

多站點複製

MinIO 支援為每個儲存貯體或儲存貯體前綴設定多個遠端目標。這可以在 MinIO 部署之間設定多站點主動-主動複製。

此程序涵蓋兩個 MinIO 站點之間的主動-主動複製。您可以針對複製網格中的每個 MinIO 部署「配對」重複此程序。如需專用教學課程,請參閱 啟用多站點伺服器端儲存貯體複製

程序

使用 MinIO 主控台設定雙向儲存貯體複製

1) 在每個部署上建立新的儲存貯體複製規則

  1. 登入部署的 MinIO 主控台

  2. 選取要複製的儲存貯體的 管理 按鈕

    After a successful log in, the MinIO Console shows a list of buckets with options to manage or explore each bucket.
  3. 選取 複製 區段

    After selecting a bucket to manage, MinIO shows summary information about the bucket as well as a navigation list of pages for adjusting the bucket configuration.
  4. 選取 新增複製規則 +

  5. 填寫要求的資訊

    欄位

    說明

    優先順序

    輸入數值以表示處理儲存貯體複製規則的順序。1 表示最高重要性。

    目標 URL

    要將資料複製到的部署 URL。

    使用 TLS

    如果目的地部署使用 TLS,請將切換開關保持在 開啟 位置。否則,請將切換開關移至 關閉 位置。

    存取金鑰

    要在目的地部署上使用的使用者名稱。使用者必須具有對要複製到的儲存貯體的寫入權限。

    密碼金鑰

    所提供存取金鑰的密碼。

    目標儲存貯體

    要將資料寫入的目的地儲存貯體。目標儲存貯體的名稱可能與來源儲存貯體相同,具體取決於目的地儲存貯體的位置。

    區域

    目的地部署的 AWS 資源區域位置。

    複製模式

    保留 非同步 的預設選項,以允許 MinIO 在來源端完成寫入操作後複製資料。選取 同步 以嘗試在其寫入操作期間完成物件的複製。

    雖然同步複製可能導致來源和目的地儲存貯體之間更可靠的同步,但也可能會增加每次寫入操作的時間。

    頻寬

    指定複製程序在複製資料時可以使用的最大頻寬量。輸入一個數字並選取一個資料單位。

    健康狀態檢查持續時間

    MinIO 應花費在驗證目的地儲存貯體上複製資料健康狀態的最長時間(以秒為單位)。

    儲存類別

    要在目的地部署上用於複製資料的儲存類別。有效值為 STANDARDREDUCED_REDUNDANCY

    物件篩選條件

    透過 前綴標籤 限制要從儲存貯體複製的物件。如果您輸入多個標籤,則物件必須符合所有標籤值。

    中繼資料同步

    保持選取以同時複製物件的中繼資料檔案。否則,請將切換開關移至 關閉 位置。

    刪除標記

    保持選取以同時複製 MinIO 指示物件已刪除,並且也應在動作儲存貯體中標記為已刪除。否則,請將切換開關移至 關閉 位置,以防止在目的地儲存貯體中將物件標記為已刪除。

    刪除

    保持選取以允許複製物件版本的刪除。否則,請將切換開關移至 關閉 位置,以不複製物件版本的刪除。

  6. 選取 儲存 以完成新增複製規則

重複上述步驟,以建立另一個方向的規則。

  1. 前往上方使用的目標部署的 Console。

  2. 從第二個部署建立回傳至第一個部署的複寫規則。第一個部署會變成第二個部署上規則的目標部署。

2) 驗證複寫設定

  1. 前往 MinIO Console 的 儲存貯體 區段

    The default screen when logging into the MinIO Console. The screen shows a list of the buckets available in the Deployment with options to Manage or Browse the bucket contents.
  2. 選擇您已新增複寫的儲存貯體的 瀏覽 按鈕

    The contents of a bucket display after selecting to Browse the MinIO bucket. Options including to Rewind, Refresh, or Upload contents.
  3. 選擇 上傳 按鈕,將新物件新增至儲存貯體

  4. 選擇 上傳檔案

  5. 使用介面將新物件新增至儲存貯體

  6. 前往另一個部署的 Console,然後選取複寫中定義的目標儲存貯體

使用命令列 mc 設定雙向儲存貯體複寫

此程序會在兩個 MinIO 部署之間建立雙向、主動-主動複寫。

此程序假設您已為每個部署定義別名,作為具有必要複寫權限的使用者。

在版本 RELEASE.2022-12-24T15-21-38Z 中變更:mc replicate add 會自動建立必要的複寫目標,無需使用已棄用的 mc admin remote bucket add 命令。此程序僅記錄該版本中的程序。

1) 在每個部署上建立新的儲存貯體複寫規則

使用 mc replicate add 命令,將新的複寫規則新增至每個 MinIO 部署。

mc replicate add ALIAS/BUCKET \
   --remote-bucket 'https://USER:PASSWORD@HOSTNAME:PORT/BUCKET' \
   --replicate "delete,delete-marker,existing-objects"
  • ALIAS 取代為來源 MinIO 部署的別名。名稱必須與先前步驟中建立遠端目標時指定的儲存貯體相符。

  • BUCKET 取代為來源部署上要複寫的儲存貯體的名稱。

  • 取代 --remote-bucket 以指定 ALIAS/BUCKET 複寫到的遠端 MinIO 部署和儲存貯體。

    USER:PASSWORD 必須對應到遠端部署上具有必要複寫權限的使用者。

    HOSTNAME:PORT 必須解析為遠端部署上可連線的 MinIO 執行個體。BUCKET 必須存在,並且滿足所有其他複寫需求

  • --replicate "delete,delete-marker,existing-objects" 旗標會啟用下列複寫功能

    如需更完整的文件,請參閱 mc replicate add --replicate。省略任何欄位以停用該元件的複寫。

mc replicate add 指定任何其他支援的選用引數。

在另一個 MinIO 部署上重複此步驟。變更 ALIAS--remote-bucket 值,使其對應到第一個部署。

在此步驟結束時,您應該設定了兩個複寫規則,每個部署上建立一個,指向另一個部署上的儲存貯體。使用 mc replicate ls 命令來驗證建立的複寫規則。

2) 驗證複寫設定

使用 mc cp 將新物件複製到其中一個部署上已複寫的儲存貯體。

mc cp ~/foo.txt ALIAS/BUCKET

使用 mc ls 來驗證物件是否存在於目標儲存貯體上

mc ls ALIAS/BUCKET

將另一個物件複製到第二個部署,然後驗證該物件是否複寫到第一個部署,以重複此測試。

一旦兩個物件都存在於兩個部署上,即表示您已在 MinIO 儲存貯體之間成功設定雙向、主動-主動複寫。

另請參閱