從閘道或檔案系統模式遷移
背景
MinIO 閘道和相關的檔案系統模式在 2020 年 7 月進入功能凍結期。2022 年 2 月,MinIO 宣布 棄用 MinIO 閘道。隨著棄用公告,MinIO 還宣布該功能將在六個月後移除。
截至 RELEASE.2022-10-29T06-21-33Z,MinIO 閘道和相關的檔案系統模式程式碼已移除。仍使用 獨立 或 檔案系統 MinIO 模式並升級到 MinIO 伺服器 RELEASE.2022-10-29T06-21-33Z 或更新版本的部署,在嘗試啟動 MinIO 時會收到錯誤。
概述
若要升級到 RELEASE.2022-10-29T06-21-33Z 或更新版本,那些使用 獨立 或 檔案系統 部署模式的人員必須建立新的 單節點單磁碟 部署,並將設定和內容遷移到新的部署。
本文概述了成功啟動並遷移到新部署所需的步驟。
重要
獨立/檔案系統模式繼續在任何版本上運作,包括 MinIO 伺服器 RELEASE.2022-10-24T18-35-07Z。若要繼續使用獨立部署,請安裝具有 MinIO 用戶端 RELEASE.2022-10-29T10-09-23Z 或任何 較早版本 及其對應 MinIO 用戶端的該 MinIO 伺服器版本。請注意,MinIO 用戶端的版本應比 MinIO 伺服器版本更新且盡可能接近。
檔案系統模式部署必須至少為 RELEASE.2022-06-25T15-50-16Z,才能使用 MinIO 用戶端匯入和匯出命令。檔案系統模式部署 (包括 RELEASE.2022-06-20T23-13-45Z) 可以透過在新部署上手動重新建立使用者、原則、儲存桶和其他資源來遷移。
程序
注意
您可以在環境變數中設定 MinIO 組態設定,並使用 mc admin config set
。根據您目前的部署設定,您可能需要同時擷取這兩者的值。
您可以使用 env | grep MINIO_
來檢查任何執行時設定,或者,對於使用 MinIO 的 systemd 服務的部署,請檢查 /etc/default/minio
的內容。
對於檔案系統模式部署
如果需要,升級現有的部署。
可接受的最舊版本是
MinIO Client RELEASE.2022-06-26T18-51-48Z
可接受的最新版本是
MinIO Client RELEASE.2022-10-29T10-09-23Z
建立一個新的單節點單硬碟 MinIO 部署。
請參考 逐步說明文件 以了解啟動新的 SNSD 部署的步驟。
部署位置可以是您選擇的儲存媒體上的任何空白資料夾。只要現有部署不在磁碟機的根目錄上,同一個磁碟機上的新資料夾就可以用於新的部署。如果現有的獨立系統指向磁碟機的根目錄,則您必須使用單獨的磁碟機進行新的部署。
如果舊的部署和新的部署都在同一主機上
將新的部署安裝到與現有部署不同的路徑。
將新部署的 Console 和 API 連接埠設定為與現有部署不同的連接埠。
以下命令列選項會在啟動時設定連接埠
--address
用於設定 API 連接埠。--console-address
用於設定 Console 連接埠。
對於由
systemd
管理的部署複製現有的
/etc/default/minio
環境檔案,並使用唯一的名稱。在新部署的服務檔案中,更新
EnvironmentFile
以參考新的環境檔案。
以下步驟使用來自兩個部署的
mc
命令列工具。現有的 MinIO Client 是舊部署中的mc
。新的 MinIO Client 是新部署中的mc
。使用
mc alias set
和新的 MinIO Client 為上一步建立的部署新增一個別名。mc alias set NEWALIAS PATH ACCESSKEY SECRETKEY
使用新的 MinIO Client。
將
NEWALIAS
替換為要為部署建立的別名。將
PATH
替換為新部署的 IP 位址或主機名稱和連接埠。將
ACCESSKEY
和SECRETKEY
替換為您建立新部署時使用的憑證。
根據部署類型遷移設定
MinIO Gateway 是一種無狀態代理服務,為一系列後端儲存系統提供 S3 API 相容性。
檔案系統模式部署為單個 MinIO 伺服器進程和單個儲存磁碟區提供 S3 存取層。
遷移組態設定
如果您的部署使用 環境變數 進行組態設定,請將現有部署的
/etc/default/minio
檔案中的環境變數複製到新部署中的相同檔案。您可以省略任何MINIO_CACHE_*
和MINIO_GATEWAY_SSE
環境變數,因為這些變數不再使用。如果您使用
mc admin config set
進行組態設定,請使用新的 MinIO Client 為新的部署複製現有的設定。注意
以下檔案系統模式步驟假設現有的 MinIO Client 支援所需的匯出命令。如果它不支援,請使用新的 MinIO Client 在新的部署上手動重新建立使用者、原則、生命週期規則和儲存貯體。
匯出現有部署的組態。
使用現有的 MinIO Client 的
mc admin config export
命令,以檢索為現有的獨立 MinIO 部署定義的組態。mc admin config export ALIAS > config.txt
使用現有的 MinIO Client。
將
ALIAS
替換為用於您要從中檢索值的現有獨立部署的別名。
使用新的 MinIO Client 將組態從現有的獨立部署匯入到新的部署。
mc admin config import ALIAS < config.txt
使用新的 MinIO Client。
將
ALIAS
替換為新的部署的別名。
如果
import
報告組態金鑰的錯誤,請在相關行的開頭使用#
將其註解掉,然後再試一次。完成遷移部署後,請驗證目標 MinIO 伺服器版本的目前語法,並使用mc admin config set
手動設定任何所需的金鑰。使用新的 MinIO Client 為新的部署重新啟動伺服器。
mc admin service restart ALIAS
使用新的 MinIO Client。
將
ALIAS
替換為新的部署的別名。
使用現有的 MinIO Client 從現有的獨立部署匯出儲存貯體中繼資料。
以下命令將儲存貯體中繼資料從現有部署匯出到
.zip
檔案。資料包含
儲存貯體目標
生命週期規則
通知
配額
鎖定
版本控制
匯出僅包含儲存貯體中繼資料。此命令不會從現有部署匯出物件。
mc admin cluster bucket export ALIAS
使用現有的 MinIO Client。
將
ALIAS
替換為現有部署的別名。
此命令會建立一個
cluster-metadata.zip
檔案,其中包含每個儲存貯體的中繼資料。使用新的 MinIO Client 將儲存貯體中繼資料匯入到新的部署。
以下命令會讀取匯出的儲存貯體
.zip
檔案的內容,並在新的部署上建立具有相同組態的儲存貯體。mc admin cluster bucket import ALIAS cluster-metadata.zip
使用新的 MinIO Client。
將
ALIAS
替換為新的部署的別名。
該命令會在新的部署上建立儲存貯體,其組態與現有部署中的 .zip 檔案中的中繼資料所提供的組態相同。
使用現有的 MinIO Client 從現有的獨立部署匯出 IAM 設定到新的部署。
如果您使用外部身分和存取管理供應商,請在新部署中重新建立這些設定以及所有相關的原則。
使用以下命令從現有部署匯出 IAM 設定。此命令會匯出
群組和群組對應
STS 使用者和 STS 使用者對應
原則
使用者和使用者對應
mc admin cluster iam export ALIAS
使用現有的 MinIO Client。
將
ALIAS
替換為現有部署的別名。
此命令會建立一個
ALIAS-iam-info.zip
檔案,其中包含 IAM 資料。使用新的 MinIO Client 將IAM 設定匯入到新的部署。
使用匯出的檔案在新部署上建立 IAM 設定。
mc admin cluster iam import ALIAS alias-iam-info.zip
使用新的 MinIO Client。
將
ALIAS
替換為新的部署的別名。將 zip 檔案的名稱替換為現有部署的檔案名稱。
使用
mc mirror
遷移儲存貯體內容。在獨立部署上使用
mc mirror
,並使用--preserve
和--watch
旗標,以使用現有的 MinIO Client 將物件移至新的 SNSD 部署mc mirror --preserve --watch SOURCE/BUCKET TARGET/BUCKET
使用現有的 MinIO Client。
將
SOURCE/BUCKET
替換為現有獨立部署的別名和儲存貯體。將
TARGET/BUCKET
替換為新部署的別名和對應的儲存貯體。
停止從任何 S3 或 POSIX 用戶端寫入獨立部署。
等待
mc mirror
完成所有儲存貯體的剩餘操作。停止兩個部署的伺服器。
使用先前獨立部署使用的連接埠重新啟動新的 MinIO 部署。如需有關啟動 MinIO 服務的詳細資訊,請參閱部署 SNSD 文件 中的第四個步驟。
確保您套用所有環境變數和執行時組態設定,並驗證新部署的行為。