啟用雙向伺服器端儲存桶複寫
此頁面上的程序會建立一個新的儲存桶複寫規則,用於 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 表示最高重要性。
目標網址
要將資料複寫至的部署網址。
使用 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
命令來修改現有的複寫規則。使用帶有
--state "disable"
旗標的mc replicate update
命令,以停用現有的複寫規則。使用
mc replicate rm
命令來移除現有的複寫規則。