官方文檔地址:http://docs.minio.org.cn/docs/
MinIO 是在 GNU Affero 通用公共許可證 v3.0 下發布的高性能對象存儲。 它是與 Amazon S3 雲存儲服務兼容的 API。 使用 MinIO 為機器學習、分析和應用程序數據工作負載構建高性能基礎架構。 對於 Kubernetes 環境,請使用 MinIO Kubernetes Operator(https://github.com/minio/operator/blob/master/README.md)。
獨立的 MinIO 服務器最適合早期開發和評估。 某些功能,例如版本控制、對象鎖定和存儲桶復制 需要使用擦除編碼分布式部署 MinIO。
對於擴展的開發和生產,請在啟用擦除編碼的情況下部署 MinIO - 特別是, 每個 MinIO 服務器最少 4 個驅動器。
容器安裝
運行以下命令以使用臨時數據卷將 MinIO 的最新穩定映像作為容器運行:
podman run -p 9000:9000 -p 9001:9001 minio/minio server /data --console-address ":9001"
MinIO 部署開始使用默認的 root 憑據 minioadmin:minioadmin。您可以使用 MinIO 控制台測試部署,這是一個嵌入式 內置於 MinIO 服務器的對象瀏覽器。將主機上運行的 Web 瀏覽器指向 http://127.0.0.1:9000 並使用 根憑據。您可以使用瀏覽器來創建桶、上傳對象以及瀏覽 MinIO 服務器的內容。
注意:要在持久存儲上部署 MinIO,您必須使用 podman -v 選項將本地持久目錄從主機操作系統映射到容器。例如,-v /mnt/data:/data 將位於 /mnt/data 的主機操作系統驅動器映射到容器上的 /data。
二進制下載
使用以下命令在運行 64 位 Intel/AMD 架構的 Linux 主機上運行獨立的 MinIO 服務器。將/data 替換為您希望 MinIO 存儲數據的驅動器或目錄的路徑。
下載地址:https://dl.min.io/
wget https://dl.min.io/server/minio/release/linux-amd64/minio
chmod +x minio
./minio server /data
將/data 替換為您希望 MinIO 存儲數據的驅動器或目錄的路徑。
允許防火牆的端口訪問
默認情況下,MinIO 使用端口 9000 來偵聽傳入連接。如果您的平台默認阻止該端口,您可能需要啟用對該端口的訪問。
對於啟用了 firewall-cmd (CentOS) 的主機,您可以使用 firewall-cmd 命令來允許特定端口的流量。 使用以下命令允許訪問端口 9000
firewall-cmd --get-active-zones
此命令獲取活動區域。 現在,將端口規則應用於上面返回的相關區域。 例如,如果區域是public,請使用
firewall-cmd --zone=public --add-port=9000/tcp --permanent
firewall-cmd --reload
對於啟用了 iptables 的主機(RHEL、CentOS 等),您可以使用 iptables 命令來啟用進入特定端口的所有流量。 使用以下命令允許 訪問 9000 端口
iptables -A INPUT -p tcp --dport 9000 -j ACCEPT
service iptables restart
# 下面的命令啟用所有傳入端口的流量,范圍從 9000 到 9010。
iptables -A INPUT -p tcp --dport 9000:9010 -j ACCEPT
service iptables restart
預先存在的數據
當部署在單個驅動器上時,MinIO 服務器允許客戶端訪問數據目錄中的任何預先存在的數據。例如,如果 MinIO 是用命令 minio server /mnt/data 啟動的,/mnt/data 目錄中的任何預先存在的數據都可以被客戶端訪問。
上述語句也適用於所有網關后端。
使用 MinIO 控制台進行測試
MinIO Server 帶有一個基於 Web 的嵌入式對象瀏覽器。將您的 Web 瀏覽器指向 http://127.0.0.1:9000 以確保您的服務器已成功啟動。
注意:默認情況下,MinIO 在隨機端口上運行控制台,如果您希望選擇特定端口,請使用 --console-address 來選擇特定接口和端口。
升級 MinIO
MinIO 服務器支持滾動升級,即您可以在分布式集群中一次更新一個 MinIO 實例。 這允許在不停機的情況下進行升級。 升級可以通過用最新版本替換二進制文件並以滾動方式重新啟動所有服務器來手動完成。 但是,我們建議所有用戶從客戶端使用 mc admin update。 這將同時更新集群中的所有節點並重新啟動它們,如來自 MinIO 客戶端 (mc) 的以下命令所示:
mc admin update <minio alias, e.g., myminio>
MinIO 升級期間要記住的重要事項
- mc admin update 僅在運行 MinIO 的用戶對二進制文件所在的父目錄具有寫訪問權限時才有效,例如,如果當前二進制文件位於 /usr/local/bin/minio,則需要寫入訪問/usr/local/bin。
- mc admin update 同時更新和重啟所有服務器,應用程序會在升級后重試並繼續各自的操作。
- mc admin update 在 kubernetes/container 環境中被禁用,容器環境提供自己的機制來推出更新。
- 在聯合設置的情況下,mc admin update 應該單獨針對每個集群運行。在所有集群成功更新之前,避免將 mc 更新為任何新版本。
- 如果使用 kes 作為 MinIO 的 KMS,只需替換二進制文件並重新啟動 kes 有關 kes 的更多信息可以在 here 中找到
- 如果將 Vault 作為 KMS 與 MinIO 一起使用,請確保您已遵循此處概述的 Vault 升級過程:https://www.vaultproject.io/docs/upgrading/index.html
- 如果將 etcd 與 MinIO 用於聯合,請確保您已遵循此處概述的 etcd 升級過程:https://github.com/etcd-io/etcd/blob/master/Documentation/upgrades/upgrading-etcd.md