部署 MinIO:單節點單硬碟
此頁面上的程序涵蓋在單節點單硬碟 (SNSD) 組態中部署 MinIO,以進行早期開發和評估。SNSD 部署使用零同位檢查碼後端,除了底層儲存磁碟區實施之外,不提供額外的可靠性或可用性。這些部署最適合用於本機測試和評估,或是不具備可用性或效能要求的小規模資料工作負載。
重要
RELEASE.2022-10-29T06-21-33Z 完全移除已棄用的閘道/檔案系統後端。如果 MinIO 啟動並偵測到現有的檔案系統後端檔案,則會傳回錯誤。
若要從 FS 後端部署遷移,請使用mc mirror
或 mc 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) 比網路儲存(NAS、SAN、NFS)具有顯著的效能和一致性優勢。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 會自動產生唯一的根憑證
執行 KES 版本 2024-03-01T18-06-46Z 或更高版本
未定義
MINIO_ROOT_USER
變數MINIO_ROOT_PASSWORD
變數
已:
使用支援的 KMS 目標設定 KES
使用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_USER
和 MINIO_ROOT_PASSWORD
登入。

您可以使用 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 部署。