啟用雙向伺服器端儲存桶複製
本頁上的程序會建立一個新的儲存桶複製規則,用於在 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
命令來移除現有的複寫規則。