文件

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

背景

MinIO 閘道和相關的檔案系統模式在 2020 年 7 月進入功能凍結。2022 年 2 月,MinIO 宣布棄用 MinIO 閘道。隨著棄用公告,MinIO 也宣布該功能將在六個月後移除。

RELEASE.2022-10-29T06-21-33Z起,MinIO 閘道和相關的檔案系統模式程式碼已移除。仍然使用 獨立檔案系統 MinIO 模式並升級到 MinIO Server RELEASE.2022-10-29T06-21-33Z 或更高版本的部署,在嘗試啟動 MinIO 時會收到錯誤。

概觀

若要升級到 RELEASE.2022-10-29T06-21-33Z 或更高版本,那些使用 獨立檔案系統 部署模式的使用者必須建立一個新的 單節點單磁碟機 部署,並將設定和內容遷移到新的部署。

本文件概述成功啟動和遷移到新部署所需的步驟。

重要

獨立/檔案系統模式在 MinIO Server RELEASE.2022-10-24T18-35-07Z 或以下任何版本上繼續運作。若要繼續使用獨立部署,請安裝該 MinIO Server 版本以及 MinIO Client RELEASE.2022-10-29T10-09-23Z 或任何較早的版本及其對應的 MinIO Client。請注意,MinIO Client 的版本應更新且盡可能接近 MinIO 伺服器的版本。

檔案系統模式部署必須至少在 RELEASE.2022-06-25T15-50-16Z 上才能使用 MinIO Client 匯入和匯出命令。高達且包含 RELEASE.2022-06-20T23-13-45Z 的檔案系統模式部署可以透過在新部署上手動重建使用者、原則、儲存桶和其他資源來遷移。

程序

注意

您可以使用環境變數和 mc admin config set 來設定 MinIO 的組態設定。根據您目前的部署設定,您可能需要同時檢索這兩者的值。

您可以使用 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. 匯出現有部署的組態

      使用 mc admin config export 命令和現有的 MinIO Client,以檢索為現有獨立 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 Server 版本的目前語法,並使用 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 旗標,在單機部署中將物件移至新的 SNSD 部署,使用現有的 MinIO Client。

    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 文件 中的第四步。

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