啟用雙向伺服器端儲存桶複製
此頁面的程序會為 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 表示物件已刪除的指示,且也應在動作儲存貯體中標記為已刪除。否則,請將切換開關移至 關閉 位置,以防止在目的地儲存貯體中將物件標記為已刪除。
刪除
保持選取以允許複製物件版本的刪除。否則,請將切換開關移至 關閉 位置,以不複製物件版本的刪除。
選取 儲存 以完成新增複製規則
重複上述步驟,以在另一個方向建立規則。
前往上面使用的目的地部署的主控台。
建立從第二個部署回到第一個部署的複製規則。第一個部署成為第二個部署上規則的目標部署。
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
以指定遠端 MinIO 部署和儲存貯體,ALIAS/BUCKET
將複製到該處。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
命令來移除現有的複製規則。