啟用雙向伺服器端儲存桶複製
此頁面上的步驟會建立一個新的儲存桶複製規則,用於在 MinIO 儲存桶之間進行雙向「主動-主動」物件同步。
若要在任意相容於 S3 的服務之間設定複製,請使用
mc mirror
。若要在 MinIO 叢集之間設定單向「主動-被動」複製,請參閱 啟用單向伺服器端儲存桶複製。
若要在 MinIO 叢集之間設定多站點「主動-主動」複製,請參閱 啟用多站點伺服器端儲存桶複製。
本教學課程涵蓋在兩個 MinIO 叢集之間設定主動-主動複製。有關在三個或更多 MinIO 叢集之間進行多站點複製的教學課程,請參閱 啟用多站點伺服器端儲存桶複製。
需求
您必須滿足 儲存桶複製需求 中描述的所有基本儲存桶複製需求。
此外,若要設定主動-主動儲存桶複製,您必須滿足以下額外需求
存取兩個叢集
您必須具有網路存取權和登入憑證,以及設定主動-主動儲存桶複製的兩個部署所需的權限。
您可以透過登入每個部署的 MinIO 主控台,或透過安裝 mc
並使用命令列來存取部署。
如果使用命令列,請使用 mc alias set
命令為兩個 MinIO 部署建立別名。建立別名需要指定部署上使用者的存取金鑰。此使用者必須具有在部署上建立和管理使用者及原則的權限。
具體而言,請確保使用者至少具有以下權限:
考量事項
使用一致的複製設定
MinIO 支援自訂複製配置,以啟用或停用下列複製行為
複製 刪除操作
複製刪除標記
複製現有物件
僅複製中繼資料變更
在設定儲存貯體的複製規則時,請確保參與主動-主動複製的兩個 MinIO 部署使用相同的複製行為,以確保物件同步的一致性和可預測性。
複製現有物件
MinIO 支援自動複製儲存貯體中的現有物件。
MinIO 需要使用 mc replicate add --replicate
或 mc replicate update --replicate
並包含 existing-objects
複製功能旗標,來明確啟用現有物件的複製。此程序包含啟用現有物件複製所需的旗標。
複製刪除操作
MinIO 支援將刪除操作複製到目標儲存貯體。具體而言,MinIO 可以複製版本控制的 刪除標記 和特定版本物件的刪除
對於物件的刪除操作,MinIO 複製也會在目標儲存貯體上建立刪除標記。
對於物件版本的刪除操作,MinIO 複製也會在目標儲存貯體上刪除這些版本。
MinIO 需要使用 mc replicate add --replicate
或 mc replicate update --replicate
來明確啟用刪除操作的複製。此程序包含啟用刪除操作和刪除標記複製所需的旗標。
MinIO 不會複製因應用 生命週期管理到期規則 而產生的刪除操作。在來源和目的地儲存貯體上設定相符的到期規則,以確保物件到期的一致應用。
多站點複製
MinIO 支援為每個儲存貯體或儲存貯體前綴設定多個遠端目標。這可以在 MinIO 部署之間設定多站點主動-主動複製。
此程序涵蓋兩個 MinIO 站點之間的主動-主動複製。您可以針對複製網格中的每個 MinIO 部署「配對」重複此程序。如需專用教學課程,請參閱 啟用多站點伺服器端儲存貯體複製。
程序
使用 MinIO 主控台設定雙向儲存貯體複製
1) 在每個部署上建立新的儲存貯體複製規則
登入部署的 MinIO 主控台
選取要複製的儲存貯體的 管理 按鈕
選取 複製 區段
選取 新增複製規則 +
填寫要求的資訊
欄位
說明
優先順序
輸入數值以表示處理儲存貯體複製規則的順序。1 表示最高重要性。
目標 URL
要將資料複製到的部署 URL。
使用 TLS
如果目的地部署使用 TLS,請將切換開關保持在 開啟 位置。否則,請將切換開關移至 關閉 位置。
存取金鑰
要在目的地部署上使用的使用者名稱。使用者必須具有對要複製到的儲存貯體的寫入權限。
密碼金鑰
所提供存取金鑰的密碼。
目標儲存貯體
要將資料寫入的目的地儲存貯體。目標儲存貯體的名稱可能與來源儲存貯體相同,具體取決於目的地儲存貯體的位置。
區域
目的地部署的 AWS 資源區域位置。
複製模式
保留 非同步 的預設選項,以允許 MinIO 在來源端完成寫入操作後複製資料。選取 同步 以嘗試在其寫入操作期間完成物件的複製。
雖然同步複製可能導致來源和目的地儲存貯體之間更可靠的同步,但也可能會增加每次寫入操作的時間。
頻寬
指定複製程序在複製資料時可以使用的最大頻寬量。輸入一個數字並選取一個資料單位。
健康狀態檢查持續時間
MinIO 應花費在驗證目的地儲存貯體上複製資料健康狀態的最長時間(以秒為單位)。
儲存類別
要在目的地部署上用於複製資料的儲存類別。有效值為
STANDARD
或REDUCED_REDUNDANCY
。物件篩選條件
透過 前綴 或 標籤 限制要從儲存貯體複製的物件。如果您輸入多個標籤,則物件必須符合所有標籤值。
中繼資料同步
保持選取以同時複製物件的中繼資料檔案。否則,請將切換開關移至 關閉 位置。
刪除標記
保持選取以同時複製 MinIO 指示物件已刪除,並且也應在動作儲存貯體中標記為已刪除。否則,請將切換開關移至 關閉 位置,以防止在目的地儲存貯體中將物件標記為已刪除。
刪除
保持選取以允許複製物件版本的刪除。否則,請將切換開關移至 關閉 位置,以不複製物件版本的刪除。
選取 儲存 以完成新增複製規則
重複上述步驟,以建立另一個方向的規則。
前往上方使用的目標部署的 Console。
從第二個部署建立回傳至第一個部署的複寫規則。第一個部署會變成第二個部署上規則的目標部署。
2) 驗證複寫設定
使用命令列 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 儲存貯體之間成功設定雙向、主動-主動複寫。
另請參閱
使用
mc replicate update
命令來修改現有的複寫規則。使用
mc replicate update
命令與--state "disable"
旗標來停用現有的複寫規則。使用
mc replicate rm
命令來移除現有的複寫規則。