文件

升級 MinIO 部署

重要事項

對於早於 RELEASE.2024-03-30T09-41-56Z 且啟用 AD/LDAP 的部署,您在開始此程序之前必須閱讀 RELEASE.2024-04-18T19-09-19Z 的發行說明。您必須執行連結發行說明中記錄的額外步驟,作為升級的一部分。

MinIO 使用先更新後重新啟動的方法將部署升級到較新的版本

  1. 使用較新的版本更新 MinIO 二進位檔案。

  2. 使用 mc admin service restart 重新啟動部署。

此程序不需要停機,並且不會對正在進行的操作造成中斷。

本頁記錄了使用先更新後重新啟動方法升級 systemctl 和使用者管理 MinIO 部署的方法。使用 Ansible、Terraform 或其他管理工具的部署可以使用此處的程序作為在現有自動化框架內實施的指導。

先決條件

先備份叢集設定

在開始停用之前,使用 mc admin cluster bucket exportmc admin cluster iam export 命令來取得儲存桶中繼資料和 IAM 組態的快照。您可以使用這些快照來還原 儲存桶IAM 設定,以便在必要時從使用者或程序錯誤中恢復。

檢查發行說明

MinIO 發布 發行說明 以供您參考,作為識別每個版本中應用的變更的一部分。請檢閱您目前的 MinIO 版本和較新版本之間的相關發行說明,以便全面了解任何變更。

請特別注意任何向後相容的版本。您無法從任何此類版本輕鬆降級。

在套用至生產環境前測試升級

MinIO 在所有版本中都使用測試和驗證套件。然而,沒有任何測試套件可以涵蓋您生產環境中硬體、軟體和工作負載的獨特組合和排列。

您應該將任何 MinIO 升級套用至生產環境部署或任何其他包含重要資料的環境之前,始終在較低的環境(開發/QA/預備環境)中驗證這些升級。在未先在較低環境中驗證的情況下更新生產環境,風險由您自行承擔。

對於遠落後於最新穩定版(6 個月以上)的 MinIO 部署,請考慮使用 MinIO SUBNET,以在升級過程中獲得額外的支援和指導。

考量事項

升級不會造成中斷

MinIO 的升級然後重新啟動程序需要停機或安排維護期間。MinIO 重新啟動速度很快,通常在幾秒鐘內即可完成所有伺服器程序的平行重新啟動。MinIO 操作是原子性的且嚴格一致,因此使用 MinIO 或 S3 SDK 的應用程式可以依賴內建的透明重試,而無需額外的用戶端邏輯。這確保了升級不會中斷正在進行的操作。

更新 systemctl 管理的 MinIO 部署

使用以下步驟來升級 MinIO 伺服器程序由 systemctl 管理的 MinIO 部署,例如使用 MinIO DEB/RPM 套件建立的那些部署。

此程序假設您在所有 MinIO 節點上都設定了 MINIO_CONFIG_ENV_FILE 變數。

  1. 更新每個節點上的 MinIO 二進制檔案

    以下索引標籤提供了使用 RPM、DEB 或二進制檔案在 64 位元 Linux 作業系統上更新 MinIO 的範例

    使用以下命令下載最新的穩定版 MinIO RPM 並更新現有安裝。

    wget https://dl.min.io/server/minio/release/linux-amd64/archive/minio-20241029160148.0.0-1.x86_64.rpm -O minio.rpm
    sudo dnf update minio.rpm
    

    使用以下命令下載最新的穩定版 MinIO DEB 並升級現有安裝

    wget https://dl.min.io/server/minio/release/linux-amd64/archive/minio_20241029160148.0.0_amd64.deb -O minio.deb
    sudo dpkg -i minio.deb
    

    使用以下命令下載最新的穩定版 MinIO 二進制檔案並覆寫現有二進制檔案

    wget https://dl.min.io/server/minio/release/linux-amd64/minio
    chmod +x minio
    sudo mv -f ./minio /usr/local/bin/minio
    

    /usr/local/bin 替換為現有 MinIO 二進制檔案的位置。如果尚未知道路徑,請執行 which minio 以識別路徑。

    在每個節點上執行 minio --version 以驗證您是否已成功將所有二進制檔案升級到相同的版本。除非所有節點都使用相同的 MinIO 二進制檔案版本,否則請勿繼續。

  2. 重新啟動部署

    執行 mc admin service restart 命令,同時重新啟動部署中的所有 MinIO 伺服器程序。

    mc admin service restart ALIAS
    

    取代要重新啟動的 MinIO 部署的 別名

    與 S3 相容的 SDK 和應用程式應自動重試操作,因此重新啟動過程通常不會中斷正在進行的操作。

  3. 驗證升級

    使用 mc admin info 命令檢查所有 MinIO 伺服器是否在線上、正常運作,並反映已安裝的 MinIO 版本。

  4. 更新 MinIO 用戶端

    您應該升級您的 mc 二進制檔案,以符合或緊密追隨 MinIO 伺服器版本。您可以使用 mc update 命令將二進制檔案更新為最新的穩定版本

    mc update
    

更新非系統管理的 MinIO 部署

使用這些步驟來升級 MinIO 伺服器程序在系統之外(systemdsystemctl)管理的 MinIO 部署,例如由使用者、自動化腳本或其他一些程序管理工具所管理。此程序僅適用於執行 MinIO 程序的使用者具有 MinIO 二進制檔案路徑寫入權限的系統。對於使用 systemctl 管理的部署,請參閱 更新 systemctl 管理的 MinIO 部署

使用 mc admin update 更新

mc admin update 命令會更新目標 MinIO 部署中的所有 MinIO 伺服器二進制檔案,然後同時重新啟動所有節點。重新啟動過程通常會在幾秒鐘內完成,並且不會中斷正在進行的操作。

以下命令會將具有指定 別名 的 MinIO 部署更新為最新的穩定版本

mc admin update ALIAS

執行 mc admin update 命令的使用者必須具有二進制檔案安裝位置的 寫入 權限。

您可以指定解析為特定 MinIO 伺服器二進制檔案版本的 URL。氣隙或與網際網路隔離的部署可以利用此功能從內部可存取的伺服器進行更新

mc admin update ALIAS https://minio-mirror.example.com/minio

您應該升級您的 mc 二進制檔案,以符合或緊密追隨 MinIO 伺服器版本。您可以使用 mc update 命令將二進制檔案更新為最新的穩定版本

mc update

透過手動取代二進制檔案更新

您可以下載並手動取代部署中每個主機節點上的 minio 伺服器二進制檔案。然後,您必須同時重新啟動所有節點,例如使用 mc admin service restart

例如,以下命令會下載適用於 Linux 的最新穩定版 MinIO 二進制檔案,並將其複製到 /usr/local/bin。此命令會覆寫該路徑上的現有 minio 二進制檔案。

wget https://dl.min.io/server/minio/release/linux-amd64/minio
chmod +x ./minio
sudo mv -f ./minio /usr/local/bin/minio

在您取代部署中所有 MinIO 主機上的二進制檔案之後,您必須同時重新啟動所有節點。

您應該升級您的 mc 二進制檔案,以符合或緊密追隨 MinIO 伺服器版本。您可以使用 mc update 命令將二進制檔案更新為最新的穩定版本

mc update