啟用單向伺服器端儲存桶複寫
此頁面上的程序會為物件從一個 MinIO 儲存桶到另一個 MinIO 儲存桶的單向同步建立新的儲存桶複寫規則。儲存桶可以在相同的 MinIO 部署或單獨的 MinIO 部署上。
若要在 MinIO 儲存桶之間設定雙向「主動-主動」複寫,請參閱 啟用雙向伺服器端儲存桶複寫。
若要在 MinIO 部署之間設定多站點「主動-主動」複寫,請參閱 啟用多站點伺服器端儲存桶複寫
注意
若要在任意 S3 相容服務(不一定是 MinIO)之間設定複寫,請使用 mc mirror
。
需求
複寫要求所有參與的叢集都符合以下需求。此程序假設您已檢閱並驗證這些需求。
如需更多詳細資訊,請參閱儲存桶複寫需求頁面。
考量事項
按一下以展開以下任何一項
現有物件的複寫
MinIO 支援自動複寫儲存桶中的現有物件。
MinIO 需要使用 mc replicate add --replicate
或 mc replicate update --replicate
並包含 existing-objects
複寫功能旗標來明確啟用現有物件的複寫。此程序包含啟用現有物件複寫所需的旗標。
刪除操作的複寫
MinIO 支援將 S3 DELETE
操作複寫到目標儲存桶。具體來說,MinIO 可以複寫版本控制的 刪除標記 和特定版本物件的刪除。
對於物件的刪除操作,MinIO 複寫也會在目標儲存桶上建立刪除標記。
對於物件版本的刪除操作,MinIO 複寫也會刪除目標儲存桶上的那些版本。
MinIO 需要使用 mc replicate add --replicate
或 mc replicate update --replicate
明確啟用刪除操作的複寫。此程序包括啟用刪除操作和刪除標記的複寫所需的標誌。
MinIO *不*複寫因應用 生命週期管理到期規則 而導致的刪除操作。
多站點複寫
MinIO 支援為每個儲存桶或儲存桶前綴設定多個遠端目標。例如,您可以設定一個儲存桶,將資料複寫到兩個或多個遠端 MinIO 部署,其中一個部署是 1:1 副本(複寫包括刪除在內的所有操作),另一個是完整歷史記錄(僅複寫非破壞性寫入操作)。
此程序說明單向複寫到單個遠端 MinIO 部署。您可以重複此教學課程,將單個儲存桶複寫到多個遠端目標。
程序
使用 MinIO 主控台設定單向儲存桶複寫
1) 建立新的儲存桶複寫規則
登入到部署的 MinIO 主控台
選取要複寫的儲存桶的 管理 按鈕
選取 複寫 區段
選取 新增複寫規則 +
填寫要求的資訊
欄位
描述
優先順序
輸入一個數值,以表示處理儲存桶複寫規則的順序。1 表示最高重要性。
目標 URL
要複寫資料的部署的 URL。
使用 TLS
如果目標部署使用 TLS,請將切換開關保持在 開啟 位置。否則,請將切換開關移至 關閉 位置。
存取金鑰
要在目標部署上使用的使用者名稱。使用者必須具有寫入要複寫到的儲存桶的權限。
密碼金鑰
提供的存取金鑰的密碼。
目標儲存桶
在目標端寫入資料的儲存桶。目標儲存桶的名稱可能與來源儲存桶的名稱相同,具體取決於目標儲存桶的位置。
區域
目標部署的 AWS 資源區域位置。
複寫模式
保留預設選取的 非同步,以允許 MinIO 在來源端完成寫入操作後複寫資料。選取 同步,以嘗試在物件的寫入操作期間完成複寫。
雖然同步複寫可能會使來源和目標儲存桶之間的同步更可靠,但也可能會增加每次寫入操作的時間。
頻寬
指定複寫程序在複寫資料時可以使用的最大頻寬量。輸入一個數字,並選取一個資料單位。
健康狀況檢查持續時間
MinIO 應該花費在驗證目標儲存桶上複寫資料健康狀況的最長時間(以秒為單位)。
儲存類別
要在目標部署上用於複寫資料的儲存類別。有效值為
STANDARD
或REDUCED_REDUNDANCY
。物件篩選器
依據 前綴 或 標籤 限制要從儲存桶複寫的物件。如果您輸入多個標籤,則物件必須符合所有標籤值。
中繼資料同步
保持選取狀態,以同時複寫物件的中繼資料檔案。否則,請將切換開關移至 關閉 位置。
刪除標記
保持選取狀態,以同時複寫 MinIO 指示物件已刪除,且也應在動作儲存桶中標記為已刪除的指示。否則,請將切換開關移至 關閉 位置,以防止在目標儲存桶中將物件標記為已刪除。
刪除
保持選取狀態,以允許複寫物件版本的刪除。否則,請將切換開關移至 關閉 位置,以不複寫物件版本的刪除。
選取 儲存 以完成新增複寫規則
2) 驗證複寫組態
使用命令列 mc
設定單向儲存桶複寫
此程序使用 別名 SOURCE
和 REMOTE
來參考設定複寫的每個 MinIO 部署。請將這些值替換為目標 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
指定任何其他支援的選用引數。
2) 驗證複寫組態
使用 mc cp
將新物件複製到其中一個部署上複寫的儲存桶。
mc cp ~/foo.txt ALIAS/BUCKET
使用 mc ls
來驗證物件是否存在於目標儲存桶中
mc ls ALIAS/BUCKET
另請參閱
使用
mc replicate update
命令來修改現有的複製規則。使用
mc replicate update
命令,並搭配--state "disable"
旗標來停用現有的複製規則。使用
mc replicate rm
命令來移除現有的複製規則。