啟用多站點伺服器端儲存桶複製
本頁上的程序會設定多個 MinIO 部署之間的自動伺服器端儲存桶複製。多站點主動-主動複製建立在啟用雙向伺服器端儲存桶複製 程序之上,並需要額外的注意事項,以確保所有站點之間的可預測複製行為。
若要設定任意 S3 相容服務之間的複製,請使用
mc mirror
。若要設定兩個 MinIO 部署之間的單向「主動-主動」複製,請參閱啟用雙向伺服器端儲存桶複製。
若要設定 MinIO 部署之間的單向「主動-被動」複製,請參閱啟用單向伺服器端儲存桶複製。
多站點主動-主動複製設定可以跨越多個機架、資料中心或地理位置。設定和維護多站點設定的複雜性通常會隨著站點數量和每個站點的大小而增加。希望實施多站點複製的企業應考慮利用MinIO SUBNET 支援,以取得解決該用例所需的專業知識、規劃和工程資源。
另請參閱
使用
mc replicate update
命令修改現有的複製規則。使用
mc replicate update
命令搭配--state "disable"
旗標來停用現有的複製規則。使用
mc replicate rm
命令移除現有的複製規則。
要求
您必須滿足 儲存桶複製要求 中描述的儲存桶複製的所有基本要求。
此外,若要建立多站點儲存桶複製設定,您必須滿足下列其他要求
存取所有叢集
您必須具有網路存取權限和登入憑證,以及所有部署的正確權限,才能設定多站點主動-主動儲存桶複製。
您可以透過登入每個部署的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 主控台設定多站點儲存貯體複寫
1) 建立複寫規則
登入部署的 MinIO 主控台
選取要複寫的儲存貯體的 管理 按鈕
選取 複寫 區段
選取 新增複寫規則 +
填寫要求的資訊
欄位
說明
優先順序
輸入數值以指示處理儲存貯體複寫規則的順序。1 表示最高重要性。
目標 URL
要將資料複寫到的部署 URL。
使用 TLS
如果目的地部署使用 TLS,請將切換開關保持在 開啟 位置。否則,請將切換開關移至 關閉 位置。
存取金鑰
要在目的地部署上使用的使用者名稱。使用者必須具有寫入要複寫到的儲存貯體的權限。
密碼金鑰
所提供存取金鑰的密碼。
目標儲存貯體
目的地要寫入資料的儲存貯體。目標儲存貯體可能與來源儲存貯體同名,具體取決於目的地儲存貯體位置。
區域
目的地部署的 AWS 資源區域位置。
複寫模式
保留預設選項非同步,以允許 MinIO 在寫入操作在來源完成後複寫資料。選取同步以嘗試在寫入物件期間完成物件的複寫。
雖然同步複寫可能會使來源和目標儲存貯體之間的同步更可靠,但也可能會增加每次寫入操作的時間。
頻寬
指定複寫處理在複寫資料時可以使用的最大頻寬量。輸入一個數字並選取一個資料單位。
健康狀態檢查持續時間
MinIO 應花費在驗證目的地儲存貯體上複寫資料健康狀態的最長時間(以秒為單位)。
儲存類別
要用於目的地部署上複寫資料的儲存類別。有效值為
STANDARD
或REDUCED_REDUNDANCY
。物件篩選器
依 前綴 或標籤限制要從儲存貯體複寫的物件。如果輸入多個標籤,物件必須符合所有標籤值。
中繼資料同步
保持選取以同時複寫物件的中繼資料檔案。否則,請將切換開關移至 關閉 位置。
刪除標記
保持選取以同時複寫 MinIO 指示物件已刪除,並應在動作儲存貯體中標記為已刪除。否則,請將切換開關移至 關閉 位置以防止在目的地儲存貯體中將物件標記為已刪除。
刪除
保持選取以允許複寫物件版本的刪除。否則,請將切換開關移至 關閉 位置以不複寫物件版本的刪除。
選取 儲存 以完成新增複寫規則
重複以上步驟以建立從此部署到每個其他目標部署的規則。
然後,在多站點設定中的每個其他部署上重複以上步驟,以便每個部署都有一個單獨的複寫規則適用於所有其他部署。
2) 驗證複寫組態
前往 MinIO 主控台的 儲存貯體 區段
選取已新增複寫的儲存貯體的 瀏覽 按鈕
選取 上傳 按鈕以將新物件新增至儲存貯體
選取 上傳檔案
使用介面將新物件新增至儲存貯體
前往其他部署的主控台,並選取複寫中定義的目的地儲存貯體
在每個部署上重複此測試,方法是複製新的唯一檔案,並檢查該檔案是否複寫到每個其他部署。
使用命令列 mc
設定多站點儲存桶複製
此程序使用佔位符 ALIAS
來參照為複製設定的每個 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
指定任何其他支援的選用引數。
針對參與多站點複製組態的每個遠端 MinIO 部署重複這些命令。例如,由 MinIO 部署 minio1
、minio2
和 minio3
組成的多站點複製組態,需要在每個部署上針對每個遠端重複此步驟。
具體來說,在此情境中,在每個部署上執行此步驟兩次
在
minio1
部署上,針對minio2
的規則執行一次,並針對minio3
的獨立規則再次執行。在
minio2
部署上,針對minio1
的規則執行一次,並針對minio3
的獨立規則再次執行。在
minio3
部署上,針對minio1
的規則執行一次,並針對minio2
的獨立規則再次執行。
2) 驗證複製組態
使用 mc cp
將新物件複製到其中一個部署上已複製的儲存桶。
mc cp ~/foo.txt ALIAS/BUCKET
使用 mc ls
來驗證物件是否存在於目的地儲存桶上
mc ls ALIAS/BUCKET
在每個部署上重複此測試,方法是複製新的唯一檔案,並檢查該檔案是否複寫到每個其他部署。