啟用雙向伺服器端儲存桶複寫
此頁面的程序會為兩個 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
以指定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
命令來移除現有的複寫規則。