文件

從閘道或檔案系統模式遷移

背景

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 的內容。

  1. 對於檔案系統模式部署

    如果需要,升級現有的部署。

    可接受的最舊版本是

    可接受的最新版本是

  2. 建立一個新的單節點單硬碟 MinIO 部署。

    請參考 逐步說明文件 以了解啟動新的 SNSD 部署的步驟。

    部署位置可以是您選擇的儲存媒體上的任何空白資料夾。只要現有部署不在磁碟機的根目錄上,同一個磁碟機上的新資料夾就可以用於新的部署。如果現有的獨立系統指向磁碟機的根目錄,則您必須使用單獨的磁碟機進行新的部署。

    如果舊的部署和新的部署都在同一主機上

    • 將新的部署安裝到與現有部署不同的路徑。

    • 將新部署的 Console 和 API 連接埠設定為與現有部署不同的連接埠。

      以下命令列選項會在啟動時設定連接埠

    • 對於由 systemd 管理的部署

      • 複製現有的 /etc/default/minio 環境檔案,並使用唯一的名稱。

      • 在新部署的服務檔案中,更新 EnvironmentFile 以參考新的環境檔案。

    以下步驟使用來自兩個部署的 mc 命令列工具。現有的 MinIO Client 是舊部署中的 mc新的 MinIO Client 是新部署中的 mc

  3. 使用 mc alias set 和新的 MinIO Client 為上一步建立的部署新增一個別名。

    mc alias set NEWALIAS PATH ACCESSKEY SECRETKEY
    
    • 使用新的 MinIO Client。

    • NEWALIAS 替換為要為部署建立的別名。

    • PATH 替換為新部署的 IP 位址或主機名稱和連接埠。

    • ACCESSKEYSECRETKEY 替換為您建立新部署時使用的憑證。

  4. 根據部署類型遷移設定

    • MinIO Gateway 是一種無狀態代理服務,為一系列後端儲存系統提供 S3 API 相容性。

    • 檔案系統模式部署為單個 MinIO 伺服器進程和單個儲存磁碟區提供 S3 存取層。

    遷移組態設定

    如果您的部署使用 環境變數 進行組態設定,請將現有部署的 /etc/default/minio 檔案中的環境變數複製到新部署中的相同檔案。您可以省略任何 MINIO_CACHE_*MINIO_GATEWAY_SSE 環境變數,因為這些變數不再使用。

    如果您使用 mc admin config set 進行組態設定,請使用新的 MinIO Client 為新的部署複製現有的設定。

    注意

    以下檔案系統模式步驟假設現有的 MinIO Client 支援所需的匯出命令。如果它不支援,請使用新的 MinIO Client 在新的部署上手動重新建立使用者、原則、生命週期規則和儲存貯體。

    1. 匯出現有部署的組態

      使用現有的 MinIO Client 的 mc admin config export 命令,以檢索為現有的獨立 MinIO 部署定義的組態。

      mc admin config export ALIAS > config.txt
      
      • 使用現有的 MinIO Client。

      • ALIAS 替換為用於您要從中檢索值的現有獨立部署的別名。

    2. 使用新的 MinIO Client 將組態從現有的獨立部署匯入到新的部署。

      mc admin config import ALIAS < config.txt
      
      • 使用新的 MinIO Client。

      • ALIAS 替換為新的部署的別名。

      如果 import 報告組態金鑰的錯誤,請在相關行的開頭使用 # 將其註解掉,然後再試一次。完成遷移部署後,請驗證目標 MinIO 伺服器版本的目前語法,並使用 mc admin config set 手動設定任何所需的金鑰。

    3. 使用新的 MinIO Client 為新的部署重新啟動伺服器。

      mc admin service restart ALIAS
      
      • 使用新的 MinIO Client。

      • ALIAS 替換為新的部署的別名。

    4. 使用現有的 MinIO Client 從現有的獨立部署匯出儲存貯體中繼資料

      以下命令將儲存貯體中繼資料從現有部署匯出到 .zip 檔案。

      資料包含

      • 儲存貯體目標

      • 生命週期規則

      • 通知

      • 配額

      • 鎖定

      • 版本控制

      匯出僅包含儲存貯體中繼資料。此命令不會從現有部署匯出物件。

      mc admin cluster bucket export ALIAS
      
      • 使用現有的 MinIO Client。

      • ALIAS 替換為現有部署的別名。

      此命令會建立一個 cluster-metadata.zip 檔案,其中包含每個儲存貯體的中繼資料。

    5. 使用新的 MinIO Client 將儲存貯體中繼資料匯入到新的部署。

      以下命令會讀取匯出的儲存貯體 .zip 檔案的內容,並在新的部署上建立具有相同組態的儲存貯體。

      mc admin cluster bucket import ALIAS cluster-metadata.zip
      
      • 使用新的 MinIO Client。

      • ALIAS 替換為新的部署的別名。

      該命令會在新的部署上建立儲存貯體,其組態與現有部署中的 .zip 檔案中的中繼資料所提供的組態相同。

    6. 使用現有的 MinIO Client 從現有的獨立部署匯出 IAM 設定到新的部署。

      如果您使用外部身分和存取管理供應商,請在新部署中重新建立這些設定以及所有相關的原則。

      使用以下命令從現有部署匯出 IAM 設定。此命令會匯出

      • 群組和群組對應

      • STS 使用者和 STS 使用者對應

      • 原則

      • 使用者和使用者對應

      mc admin cluster iam export ALIAS
      
      • 使用現有的 MinIO Client。

      • ALIAS 替換為現有部署的別名。

      此命令會建立一個 ALIAS-iam-info.zip 檔案,其中包含 IAM 資料。

    7. 使用新的 MinIO Client 將IAM 設定匯入到新的部署。

      使用匯出的檔案在新部署上建立 IAM 設定。

      mc admin cluster iam import ALIAS alias-iam-info.zip
      
      • 使用新的 MinIO Client。

      • ALIAS 替換為新的部署的別名。

      • 將 zip 檔案的名稱替換為現有部署的檔案名稱。

  5. 使用 mc mirror 遷移儲存貯體內容。

    在獨立部署上使用 mc mirror,並使用 --preserve--watch 旗標,以使用現有的 MinIO Client 將物件移至新的 SNSD 部署

    mc mirror --preserve --watch SOURCE/BUCKET TARGET/BUCKET
    
    • 使用現有的 MinIO Client。

    • SOURCE/BUCKET 替換為現有獨立部署的別名和儲存貯體。

    • TARGET/BUCKET 替換為新部署的別名和對應的儲存貯體。

  6. 停止從任何 S3 或 POSIX 用戶端寫入獨立部署。

  7. 等待 mc mirror 完成所有儲存貯體的剩餘操作。

  8. 停止兩個部署的伺服器。

  9. 使用先前獨立部署使用的連接埠重新啟動新的 MinIO 部署。如需有關啟動 MinIO 服務的詳細資訊,請參閱部署 SNSD 文件 中的第四個步驟。

    確保您套用所有環境變數和執行時組態設定,並驗證新部署的行為。