文件

部署 MinIO:單節點單硬碟

此頁面上的程序涵蓋在單節點單硬碟 (SNSD) 組態中部署 MinIO,以進行早期開發和評估。SNSD 部署使用零同位檢查碼後端,除了底層儲存磁碟區實施之外,不提供額外的可靠性或可用性。這些部署最適合用於本機測試和評估,或是不具備可用性或效能要求的小規模資料工作負載。

重要

RELEASE.2022-10-29T06-21-33Z 完全移除已棄用的閘道/檔案系統後端。如果 MinIO 啟動並偵測到現有的檔案系統後端檔案,則會傳回錯誤。

若要從 FS 後端部署遷移,請使用mc mirrormc cp 將您的資料複製到新的 MinIO SNSD 部署。您也應該在 SNSD 部署上重新建立任何必要的使用者、群組、原則和儲存區組態。

預先存在的資料

MinIO 啟動行為取決於指定的儲存磁碟區或路徑的內容。伺服器會檢查 MinIO 內部後端資料以及現有資料夾和檔案的結構。下表列出可能的儲存磁碟區狀態和 MinIO 行為

儲存磁碟區狀態

行為

空的,沒有檔案、資料夾或 MinIO 後端資料

MinIO 在 SNSD 模式下啟動,並建立零同位檢查碼後端

現有的 SNSD 零同位檢查碼物件和 MinIO 後端資料

MinIO 在 SNSD 模式下繼續執行

現有的檔案系統資料夾、檔案,但沒有 MinIO 後端資料

MinIO 傳回錯誤且不會啟動

現有的檔案系統資料夾、檔案和舊版「FS 模式」後端資料

MinIO 傳回錯誤且不會啟動

在版本 RELEASE.2022-10-29T06-21-33Z 中變更。

先決條件

儲存需求

以下需求總結了 MinIO 硬體建議的儲存章節

使用本機儲存

直接連接儲存 (DAS) 比網路儲存(NASSANNFS)具有顯著的效能和一致性優勢。MinIO 強烈建議將快閃儲存(NVMe、SSD)用於主要或「熱」資料。

為磁碟機使用 XFS 格式

MinIO 強烈建議為儲存配置 XFS 格式化的磁碟機。MinIO 將 XFS 作為內部測試和驗證套件的一部分,為各種規模的效能和行為提供額外的信心。

在重新啟動時保持磁碟機掛載和映射

使用 /etc/fstab 以確保節點重新啟動時磁碟機到掛載點的映射一致。

非 Linux 作業系統應使用對應的磁碟機掛載管理工具。

獨佔存取磁碟機

MinIO 要求 獨佔 存取為物件儲存提供的磁碟機或磁碟區。其他任何程序、軟體、腳本或人員都不應直接對提供給 MinIO 的磁碟機或磁碟區,或 MinIO 放置在其上的物件或檔案執行任何動作。

除非 MinIO 工程團隊指示,否則請勿使用腳本或工具直接修改、刪除或移動所提供磁碟機上的任何資料分片、同位分片或中繼資料檔案,包括從一個磁碟機或節點移動到另一個磁碟機或節點。此類操作很可能導致廣泛的損壞和資料遺失,超出 MinIO 的修復能力。

記憶體需求

在版本 RELEASE.2024-01-28T22-35-53Z 中變更:MinIO 在啟動時預先配置 2GiB 的系統記憶體。

MinIO 建議每個主機至少有 32GiB 的記憶體。有關 MinIO 中記憶體配置的更多指南,請參閱記憶體

部署單節點單磁碟機 MinIO

以下程序部署包含單個 MinIO 伺服器和單個磁碟機或儲存磁碟區的 MinIO。

網路檔案系統磁碟區會破壞一致性保證

MinIO 嚴格的 讀後寫列後寫 一致性模型要求本機磁碟機檔案系統。

如果底層儲存磁碟區是 NFS 或類似的網路連接儲存磁碟區,則 MinIO 無法提供一致性保證。

1) 下載 MinIO 伺服器

開啟終端機並執行以下命令,以使用 Homebrew 安裝最新的穩定 MinIO 套件。

brew install minio/stable/minio

重要

如果您先前使用 brew install minio 安裝了 MinIO 伺服器,則我們建議您改從 minio/stable/minio 重新安裝。

brew uninstall minio
brew install minio/stable/minio

開啟終端機,然後使用以下命令下載最新的穩定 MinIO 二進位檔,將其設定為可執行,並將其安裝到系統 $PATH

curl -O https://dl.min.io/server/minio/release/darwin-arm64/minio
chmod +x ./minio
sudo mv ./minio /usr/local/bin/

開啟終端機,然後使用以下命令下載最新的穩定 MinIO 二進位檔,將其設定為可執行,並將其安裝到系統 $PATH

curl -O https://dl.min.io/server/minio/release/darwin-amd64/minio
chmod +x ./minio
sudo mv ./minio /usr/local/bin/

2) 建立環境變數檔案

/etc/default/minio 建立環境變數檔案。對於 Windows 主機,請指定類似於 C:\minio\config 的 Windows 樣式路徑。MinIO 伺服器容器可以使用此檔案作為所有 環境變數的來源。

以下範例提供了一個起始環境檔案

# MINIO_ROOT_USER and MINIO_ROOT_PASSWORD sets the root account for the MinIO server.
# This user has unrestricted permissions to perform S3 and administrative API operations on any resource in the deployment.
# Omit to use the default values 'minioadmin:minioadmin'.
# MinIO recommends setting non-default values as a best practice, regardless of environment

MINIO_ROOT_USER=myminioadmin
MINIO_ROOT_PASSWORD=minio-secret-key-change-me

# MINIO_VOLUMES sets the storage volume or path to use for the MinIO server.

MINIO_VOLUMES="/mnt/data"

# MINIO_OPTS sets any additional commandline options to pass to the MinIO server.
# For example, `--console-address :9001` sets the MinIO Console listen port
MINIO_OPTS="--console-address :9001"

根據您的部署需要,加入任何其他環境變數。

伺服器版本新增:RELEASE.2024-03-03T17-50-39Z

如果滿足以下所有條件,MinIO 會自動產生唯一的根憑證

當啟動時滿足這些條件時,MinIO 會使用 KMS,透過基於雜湊訊息驗證碼 (HMAC)為部署產生唯一的根憑證。

如果 MinIO 產生此類憑證,則用於產生憑證的金鑰必須保持不變 繼續存在。部署上的所有資料都使用此金鑰加密!

若要輪換產生的根憑證,請在 KMS 中產生新的金鑰,然後使用新金鑰更新 MINIO_KMS_KES_KEY_NAME 的值。

3) 啟動 MinIO 部署

在本機主機上發出以下命令,以前景程序啟動 MinIO SNSD 部署。您必須保持 Shell 或終端機工作階段開啟,以保持程序執行。

從終端機使用 minio server~/data 資料夾中啟動本機 MinIO 執行個體。如果需要,您可以將 ~/data 替換為使用者具有 MinIO 執行個體讀取、寫入和刪除權限的其他位置。

export MINIO_CONFIG_ENV_FILE=/etc/default/minio
minio server --console-address :9001
Status:         1 Online, 0 Offline.
API: http://192.168.2.100:9000  http://127.0.0.1:9000
RootUser: myminioadmin
RootPass: minio-secret-key-change-me
Console: http://192.168.2.100:9001 http://127.0.0.1:9001
RootUser: myminioadmin
RootPass: minio-secret-key-change-me

Command-line: https://minio.dev.org.tw/docs/minio/linux/reference/minio-mc.html
   $ mc alias set myminio http://10.0.2.100:9000 myminioadmin minio-secret-key-change-me

Documentation: https://minio.dev.org.tw/docs/minio/linux/index.html

API 區塊會列出用戶端可以存取 MinIO S3 API 的網路介面和連接埠。Console 區塊會列出用戶端可以存取 MinIO Web 主控台的網路介面和連接埠。

4) 連線至 MinIO 部署

您可以透過在您慣用的瀏覽器中輸入 MinIO 伺服器 Console 區塊中的任何主機名稱或 IP 位址,例如 https://127.0.0.1:9001,來存取 MinIO 主控台。

使用在指定給容器的環境檔案中設定的 MINIO_ROOT_USERMINIO_ROOT_PASSWORD 登入。

MinIO Console displaying Buckets view in a fresh installation

您可以使用 MinIO 主控台執行一般管理任務,例如身分識別和存取管理、指標和記錄監視,或伺服器組態。每個 MinIO 伺服器都包含其自己的內嵌 MinIO 主控台。

如果您的本機主機防火牆允許外部存取主控台連接埠,則相同網路上的其他主機可以使用本機主機的 IP 或主機名稱來存取主控台。

您可以使用MinIO 用戶端 (mc) 透過終端機或 Shell 存取 MinIO 部署。有關安裝 mc 的說明,請參閱MinIO 用戶端安裝快速入門

建立對應於 MinIO 部署的新 別名。指定 MinIO 伺服器 API 區塊中的任何主機名稱或 IP 位址,例如 https://127.0.0.1:9000

mc alias set myminio https://127.0.0.1:9000 myminioadmin minio-secret-key-change-me
  • myminio 替換為要用於別名的所需名稱。

  • myminioadmin 替換為指定給容器的環境檔案中的 MINIO_ROOT_USER 值。

  • minio-secret-key-change-me 替換為指定給容器的環境檔案中的 MINIO_ROOT_PASSWORD 值。

然後,您可以使用任何 mc 命令與容器互動。如果您的本機主機防火牆允許外部存取 MinIO S3 API 連接埠,則相同網路上的其他主機可以使用本機主機的 IP 或主機名稱來存取 MinIO 部署。