MinIO 是一款高性能、兼容 S3 的对象存储解决方案,基于 GNU AGPL v3.0 许可证发布。它专为速度和可扩展性而设计,以业界领先的性能为 AI/ML、分析和数据密集型工作负载提供支持。
🔹 兼容 S3 API – 与现有 S3 工具无缝集成
🔹 专为 AI 和分析打造 – 针对大规模数据管道进行了优化
🔹 高性能 – 非常适合高要求的存储工作负载。
AI 存储文档 (https://min.io/solutions/object-storage-for-ai)。
本 README 文件提供了在裸机上运行 MinIO 的快速入门说明,包括基于容器的安装。对于 Kubernetes 环境,请使用 MinIO Kubernetes Operator。
使用以下命令将独立的 MinIO 服务器作为容器运行。
独立的 MinIO 服务器最适合早期开发和评估。某些功能(例如版本控制、对象锁定和存储桶复制)需要分布式部署支持纠删码的 MinIO。对于扩展开发和生产环境,请在部署 MinIO 时启用纠删码 - 具体来说,每个 MinIO 服务器至少需要 4 个驱动器。有关更完整的文档,请参阅 MinIO 纠删码概述。
运行以下命令,将最新的 MinIO 稳定版镜像作为使用临时数据卷的容器运行:
podman run -p 9000:9000 -p 9001:9001 \
quay.io/minio/minio server /data --console-address ":9001"
MinIO 部署使用默认的 root 凭据 minioadmin:minioadmin
启动。您可以使用 MinIO 控制台(MinIO 服务器内置的嵌入式对象浏览器)测试部署。在主机上运行的 Web 浏览器中访问 http://127.0.0.1:9000,并使用 root 凭据登录。您可以使用浏览器创建存储桶、上传对象以及浏览 MinIO 服务器的内容。
您也可以使用任何兼容 S3 的工具进行连接,例如 MinIO 客户端的 mc
命令行工具。有关使用 mc
命令行工具的更多信息,请参阅
使用 MinIO 客户端 mc
进行测试。对于应用程序开发者,
请参阅 https://docs.min.io/community/minio-object-store/developers/minio-drivers.html 查看支持语言的 MinIO SDK。
提示
要使用持久存储部署 MinIO,您必须使用podman -v
选项将本地持久目录从主机操作系统映射到容器。
例如,-v /mnt/data:/data
将主机操作系统驱动器/mnt/data
映射到容器上的/data
。
使用以下命令在 macOS 上运行独立的 MinIO 服务器。
独立的 MinIO 服务器最适合早期开发和评估。某些功能(例如版本控制、对象锁定和存储桶复制)需要使用纠删码技术分布式部署 MinIO。对于扩展开发和生产环境,请在部署 MinIO 时启用纠删码 - 具体来说,每个 MinIO 服务器至少需要 4 个驱动器。有关更完整的文档,请参阅 MinIO 纠删码概述。
运行以下命令,使用 Homebrew 安装最新的稳定 MinIO 软件包。将“/data”替换为您希望 MinIO 存储数据的驱动器或目录的路径。
brew install minio/stable/minio
minio server /data
提示
如果您之前使用brew install minio
安装 minio,建议您从minio/stable/minio
官方仓库重新安装 minio。
brew uninstall minio
brew install minio/stable/minio
MinIO 部署使用默认的 root 凭据 minioadmin:minioadmin
启动。您可以使用 MinIO 控制台(MinIO 服务器内置的嵌入式 Web 对象浏览器)测试部署。在主机上运行的 Web 浏览器中访问 http://127.0.0.1:9000,并使用 root 凭据登录。您可以使用浏览器创建存储桶、上传对象以及浏览 MinIO 服务器的内容。
您也可以使用任何兼容 S3 的工具进行连接,例如 MinIO 客户端的 mc
命令行工具。有关使用 mc
命令行工具的更多信息,请参阅使用 MinIO 客户端 mc
进行测试。对于应用程序开发者,请参阅 https://docs.min.io/community/minio-object-store/developers/minio-drivers.html/ 查看支持语言的 MinIO SDK。
使用以下命令在 macOS 上下载并运行独立的 MinIO 服务器。将“/data”替换为您希望 MinIO 存储数据的驱动器或目录的路径。
wget https://dl.min.io/server/minio/release/darwin-amd64/minio
chmod +x minio
./minio server /data
MinIO 部署使用默认的 root 凭据 minioadmin:minioadmin
启动。您可以使用 MinIO 控制台(MinIO 服务器内置的嵌入式 Web 对象浏览器)测试部署。在主机上运行的 Web 浏览器中访问 http://127.0.0.1:9000,并使用 root 凭据登录。您可以使用浏览器创建存储桶、上传对象以及浏览 MinIO 服务器的内容。
您也可以使用任何兼容 S3 的工具进行连接,例如 MinIO 客户端的 mc
命令行工具。有关使用 mc
命令行工具的更多信息,请参阅使用 MinIO 客户端 mc
进行测试。对于应用程序开发者,请参阅 https://docs.min.io/community/minio-object-store/developers/minio-drivers.html 查看支持语言的 MinIO SDK。
使用以下命令在运行 64 位 Intel/AMD 架构的 Linux 主机上运行独立的 MinIO 服务器。将“/data”替换为您希望 MinIO 存储数据的驱动器或目录的路径。
wget https://dl.min.io/server/minio/release/linux-amd64/minio
chmod +x minio
./minio server /data
下表列出了支持的架构。请将 wget
URL 替换为您的 Linux 主机的架构。
架构 | URL |
---|---|
64 位 Intel/AMD | https://dl.min.io/server/minio/release/linux-amd64/minio |
64 位 ARM | https://dl.min.io/server/minio/release/linux-arm64/minio |
64 位 PowerPC LE (ppc64le) | https://dl.min.io/server/minio/release/linux-ppc64le/minio |
MinIO 部署使用默认 root 凭据 minioadmin:minioadmin
启动。您可以使用 MinIO 控制台(MinIO 服务器内置的基于 Web 的对象浏览器)测试部署。在主机上运行的 Web 浏览器访问 http://127.0.0.1:9000,并使用 root 凭据登录。您可以使用浏览器创建存储桶、上传对象以及浏览 MinIO 服务器的内容。
您也可以使用任何兼容 S3 的工具进行连接,例如 MinIO 客户端的 mc
命令行工具。有关使用 mc
命令行工具的更多信息,请参阅使用 MinIO 客户端 mc
进行测试。对于应用程序开发者,请参阅 https://docs.min.io/community/minio-object-store/developers/minio-drivers.html 查看支持语言的 MinIO SDK。
提示
独立的 MinIO 服务器最适合早期开发和评估。某些功能(例如版本控制、对象锁定和存储桶复制)需要使用纠删码技术进行分布式部署。对于扩展开发和生产环境,请在部署 MinIO 时启用纠删码 - 具体来说,每个 MinIO 服务器至少配备 4 个驱动器。有关更完整的文档,请参阅 MinIO 纠删码概述。
要在 64 位 Windows 主机上运行 MinIO,请从以下网址下载 MinIO 可执行文件:
https://dl.min.io/server/minio/release/windows-amd64/minio.exe
使用以下命令在 Windows 主机上运行独立的 MinIO 服务器。将“D:\”替换为您希望 MinIO 存储数据的驱动器或目录的路径。您必须将终端或 PowerShell 目录更改为“minio.exe”可执行文件的位置,或将该目录的路径添加到系统“$PATH”:
minio.exe server D:\
MinIO 部署使用默认的 root 凭据“minioadmin:minioadmin”启动。您可以使用 MinIO 控制台(MinIO 服务器内置的嵌入式 Web 对象浏览器)测试部署。在主机上运行的 Web 浏览器中访问 http://127.0.0.1:9000,并使用 root 凭据登录。您可以使用浏览器创建存储桶、上传对象以及浏览 MinIO 服务器的内容。
您也可以使用任何兼容 S3 的工具进行连接,例如 MinIO 客户端的“mc”命令行工具。有关使用 mc
命令行工具的更多信息,请参阅使用 MinIO 客户端 mc
进行测试。对于应用程序开发者,请参阅 https://docs.min.io/community/minio-object-store/developers/minio-drivers.html 查看支持语言的 MinIO SDK。
[!NOTE]
独立的 MinIO 服务器最适合早期开发和评估。某些功能(例如版本控制、对象锁定和存储桶复制)需要使用纠删码技术进行分布式部署。对于扩展开发和生产环境,请在部署 MinIO 时启用纠删码 - 具体来说,每个 MinIO 服务器至少配备 4 个驱动器。有关更完整的文档,请参阅 MinIO 纠删码概述。
使用以下命令从源代码编译并运行独立的 MinIO 服务器。源代码安装仅适用于开发人员和高级用户。如果您没有可用的 Golang 环境,请按照如何安装 Golang 操作。最低要求版本为 go1.24
go install github.com/minio/minio@latest
MinIO 部署使用默认的 root 凭据 minioadmin:minioadmin
启动。您可以使用 MinIO 控制台(MinIO 服务器内置的嵌入式 Web 对象浏览器)测试部署。在主机上运行的 Web 浏览器中访问 http://127.0.0.1:9000,并使用 root 凭据登录。您可以使用浏览器创建存储桶、上传对象以及浏览 MinIO 服务器的内容。
您也可以使用任何兼容 S3 的工具进行连接,例如 MinIO 客户端的 mc
命令行工具。有关使用 mc
命令行工具的更多信息,请参阅使用 MinIO 客户端 mc
进行测试。对于应用程序开发者,请访问 https://docs.min.io/community/minio-object-store/developers/minio-drivers.html 查看支持语言的 MinIO SDK。
提示
独立的 MinIO 服务器最适合早期开发和评估。某些功能(例如版本控制、对象锁定和存储桶复制)需要使用纠删码技术进行分布式部署。对于扩展开发和生产环境,请在部署 MinIO 时启用纠删码技术 - 具体来说,每个 MinIO 服务器至少需要 4 个驱动器。请参阅 MinIO 纠删码概述 获取更完整的文档。
MinIO 强烈建议不要在生产环境中使用从源代码编译的 MinIO 服务器。
MinIO 默认使用 9000 端口监听传入连接。如果您的平台默认阻止该端口,则可能需要启用该端口的访问。
对于启用了 ufw 的主机(基于 Debian 的发行版),您可以使用 ufw
命令允许流向特定端口的流量。使用以下命令允许访问 9000 端口:
ufw allow 9000
以下命令允许所有流向 9000 至 9010 端口的传入流量:
ufw allow 9000:9010/tcp
###firewall-cmd
对于启用了 firewall-cmd
的主机(CentOS),您可以使用 firewall-cmd
命令允许流向特定端口的流量。使用以下命令允许访问端口 9000
firewall-cmd --get-active-zones
此命令获取活动区域。现在,将端口规则应用于上面返回的相关区域。例如,如果区域是“public”,请使用
firewall-cmd --zone=public --add-port=9000/tcp --permanent
提示
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 服务器自带一个基于 Web 的对象浏览器。请将 Web 浏览器指向 http://127.0.0.1:9000,以确保服务器已成功启动。
[!NOTE]
MinIO 默认在随机端口上运行控制台,如果您希望选择特定端口,请使用--console-address
来选择特定的接口和端口。
MinIO 会将浏览器访问请求重定向到配置的服务器端口(例如 127.0.0.1:9000
),再重定向到配置的控制台端口。MinIO 在构建重定向 URL 时会使用请求中指定的主机名或 IP 地址。客户端必须能够访问该 URL 和端口才能使重定向生效。
对于部署在负载均衡器、代理或入口规则之后,且 MinIO 主机 IP 地址或端口不公开的部署,请使用 MINIO_BROWSER_REDIRECT_URL
环境变量指定重定向的外部主机名。负载均衡器/代理必须具有专门用于将流量定向到控制台端口的规则。
例如,假设 MinIO 部署在代理 https://minio.example.net
和 https://console.minio.example.net
之后,并设置规则将端口 :9000 和 :9001 上的流量分别转发到内部网络上的 MinIO 和 MinIO 控制台。将 MINIO_BROWSER_REDIRECT_URL
设置为 https://console.minio.example.net
,以确保浏览器收到有效的可访问 URL。
mc
进行测试mc
提供了 ls、cat、cp、mirror、diff 等 UNIX 命令的现代替代方案。它支持文件系统和兼容 Amazon S3 的云存储服务。请参阅 MinIO 客户端 快速入门指南 获取更多说明。
MinIO 升级无需停机,所有升级操作均无中断,MinIO 上的所有事务都是原子的。因此,建议同时升级所有服务器。
提示
需要互联网访问才能直接从 https://dl.min.io 更新,您也可以选择在 https://my-artifactory.example.com/minio/ 托管任何镜像。
mc admin update
mc admin update <minio 别名,例如 myminio>
对于没有外部互联网访问的部署(例如,隔离环境),请从 https://dl.min.io 下载二进制文件并替换现有的 MinIO 二进制文件(例如 /opt/bin/minio
),应用可执行权限 chmod +x /opt/bin/minio
,然后执行 mc admin service restart alias/
。
对于使用 Systemd MinIO 服务的安装,请在所有服务器上并行使用 RPM/DEB 软件包进行升级,或者在所有节点上替换二进制文件(例如 /opt/bin/minio
),应用可执行权限 chmod +x /opt/bin/minio
并执行 mc admin service restart alias/
。
mc admin update
,MinIO 进程必须对主机系统上二进制文件所在父目录具有写权限。mc admin update
不受支持,应避免在 Kubernetes/容器环境中使用,请通过升级相关的容器镜像来升级容器。