MinIO 是根据 GNU Affero 通用公共许可证 v3.0 发布的高性能对象存储。它与 Amazon S3 云存储服务 API 兼容。使用 MinIO 为机器学习、分析和应用程序数据工作负载构建高性能基础架构。
本自述文件提供了有关在裸机硬件上运行 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 Console(MinIO Server 中内置的嵌入式对象浏览器)来测试部署。将主机上运行的 Web 浏览器指向http://127.0.0.1:9000并使用 root 凭据登录。您可以使用浏览器创建存储桶、上传对象以及浏览 MinIO 服务器的内容。
您还可以使用任何 S3 兼容工具进行连接,例如 MinIO Clientmc命令行工具。有关使用命令行工具的更多信息,请参阅
使用 MinIO 客户端进行测试mcmc。对于应用程序开发人员,请参阅https://min.io/docs/minio/linux/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
注意:如果您之前使用过安装过 minio,
brew install minio那么建议您从minio/stable/minio官方仓库重新安装 minio。
brew uninstall minio brew install minio/stable/minio
MinIO 部署使用默认 root 凭据启动minioadmin:minioadmin。您可以使用 MinIO Console 来测试部署,MinIO Console 是 MinIO Server 中内置的基于 Web 的嵌入式对象浏览器。将主机上运行的 Web 浏览器指向http://127.0.0.1:9000并使用 root 凭据登录。您可以使用浏览器创建存储桶、上传对象以及浏览 MinIO 服务器的内容。
您还可以使用任何 S3 兼容工具进行连接,例如 MinIO Clientmc命令行工具。有关使用命令行工具的更多信息,请参阅使用 MinIO 客户端进行测试mcmc。对于应用程序开发人员,请参阅https://min.io/docs/minio/linux/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 Console 来测试部署,MinIO Console 是 MinIO Server 中内置的基于 Web 的嵌入式对象浏览器。将主机上运行的 Web 浏览器指向http://127.0.0.1:9000并使用 root 凭据登录。您可以使用浏览器创建存储桶、上传对象以及浏览 MinIO 服务器的内容。
您还可以使用任何 S3 兼容工具进行连接,例如 MinIO Clientmc命令行工具。有关使用命令行工具的更多信息,请参阅使用 MinIO 客户端进行测试mcmc。对于应用程序开发人员,请参阅https://min.io/docs/minio/linux/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
下表列出了支持的架构。将wgetURL 替换为您的 Linux 主机的体系结构。
| 建筑学 | 网址 |
|---|---|
| 64 位英特尔/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 |
| IBM Z 系列 (S390X) | https://dl.min.io/server/minio/release/linux-s390x/minio |
MinIO 部署使用默认 root 凭据启动minioadmin:minioadmin。您可以使用 MinIO Console 来测试部署,MinIO Console 是 MinIO Server 中内置的基于 Web 的嵌入式对象浏览器。将主机上运行的 Web 浏览器指向http://127.0.0.1:9000并使用 root 凭据登录。您可以使用浏览器创建存储桶、上传对象以及浏览 MinIO 服务器的内容。
您还可以使用任何 S3 兼容工具进行连接,例如 MinIO Clientmc命令行工具。有关使用命令行工具的更多信息,请参阅使用 MinIO 客户端进行测试mcmc。对于应用程序开发人员,请参阅https://min.io/docs/minio/linux/developers/minio-drivers.html查看支持语言的 MinIO SDK。
注意:独立的 MinIO 服务器最适合早期开发和评估。某些功能(例如版本控制、对象锁定和存储桶复制)需要使用纠删码进行分布式部署 MinIO。对于扩展开发和生产,部署启用纠删码的 MinIO - 具体来说,每个 MinIO 服务器至少有 4 个驱动器。有关更完整的文档,请参阅MinIO 纠删码概述。
要在 64 位 Windows 主机上运行 MinIO,请从以下 URL 下载 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 Console 来测试部署,MinIO Console 是 MinIO Server 中内置的基于 Web 的嵌入式对象浏览器。将主机上运行的 Web 浏览器指向http://127.0.0.1:9000并使用 root 凭据登录。您可以使用浏览器创建存储桶、上传对象以及浏览 MinIO 服务器的内容。
您还可以使用任何 S3 兼容工具进行连接,例如 MinIO Clientmc命令行工具。有关使用命令行工具的更多信息,请参阅使用 MinIO 客户端进行测试mcmc。对于应用程序开发人员,请参阅https://min.io/docs/minio/linux/developers/minio-drivers.html查看支持语言的 MinIO SDK。
注意:独立的 MinIO 服务器最适合早期开发和评估。某些功能(例如版本控制、对象锁定和存储桶复制)需要使用纠删码进行分布式部署 MinIO。对于扩展开发和生产,部署启用纠删码的 MinIO - 具体来说,每个 MinIO 服务器至少有 4 个驱动器。有关更完整的文档,请参阅MinIO 纠删码概述。
使用以下命令从源代码编译并运行独立的 MinIO 服务器。源安装仅适用于开发人员和高级用户。如果您没有可用的 Golang 环境,请按照如何安装 Golang进行操作。所需的最低版本是go1.19
go install github.com/minio/minio@latest
MinIO 部署使用默认 root 凭据启动minioadmin:minioadmin。您可以使用 MinIO Console 来测试部署,MinIO Console 是 MinIO Server 中内置的基于 Web 的嵌入式对象浏览器。将主机上运行的 Web 浏览器指向http://127.0.0.1:9000并使用 root 凭据登录。您可以使用浏览器创建存储桶、上传对象以及浏览 MinIO 服务器的内容。
您还可以使用任何 S3 兼容工具进行连接,例如 MinIO Clientmc命令行工具。有关使用命令行工具的更多信息,请参阅使用 MinIO 客户端进行测试mcmc。对于应用程序开发人员,请参阅https://min.io/docs/minio/linux/developers/minio-drivers.html查看支持语言的 MinIO SDK。
注意:独立的 MinIO 服务器最适合早期开发和评估。某些功能(例如版本控制、对象锁定和存储桶复制)需要使用纠删码进行分布式部署 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的主机(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 Server 附带一个嵌入式基于 Web 的对象浏览器。将 Web 浏览器指向http://127.0.0.1:9000以确保服务器已成功启动。
注意:MinIO 默认在随机端口上运行控制台,如果您希望选择特定端口,请使用
--console-address选择特定接口和端口。
MinIO 将浏览器访问请求重定向到配置的服务器端口(即127.0.0.1:9000)到配置的控制台端口。MinIO 在构建重定向 URL 时使用请求中指定的主机名或 IP 地址。客户端必须可以访问URL 和端口才能使重定向发挥作用。
对于负载均衡器、代理或入口规则后面的部署(其中 MinIO 主机 IP 地址或端口不是公共的),请使用MINIO_BROWSER_REDIRECT_URL环境变量指定重定向的外部主机名。LB/Proxy 必须具有专门将流量定向到控制台端口的规则。
例如,考虑在代理后面部署 MinIO https://minio.example.net,https://console.minio.example.net并使用将端口 :9000 和 :9001 上的流量分别转发到内部网络上的 MinIO 和 MinIO 控制台的规则。设置MINIO_BROWSER_REDIRECT_URL为https://console.minio.example.net以确保浏览器收到有效的可访问 URL。
同样,如果您的 TLS 证书没有 MinIO 服务器主机的 IP SAN,MinIO 控制台可能无法验证与服务器的连接。使用MINIO_SERVER_URL环境变量并指定 MinIO 服务器的代理可访问主机名,以允许控制台通过 TLS 证书使用 MinIO 服务器 API。
例如:export MINIO_SERVER_URL="https://minio.example.net"
| 仪表板 | 创建存储桶 |
|---|---|
mc提供了 UNIX 命令(如 ls、cat、cp、mirror、diff 等)的现代替代方案。它支持文件系统和 Amazon S3 兼容的云存储服务。请按照 MinIO 客户端快速入门指南获取更多说明。
升级要求 MinIO 中的零停机时间,所有升级都是无中断的,MinIO 上的所有事务都是原子的。因此,同时升级所有服务器是升级 MinIO 的推荐方法。
注意:需要访问互联网才能直接从https://dl.min.io进行更新,您也可以选择在https://my-artifactory.example.com/minio/托管任何镜像
- 对于手动安装 MinIO 服务器二进制文件的部署,请使用
mc admin update
mc admin update <minio alias, e.g., 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/.
- 在应用于生产之前,请在较低环境(DEV、QA、UAT)中测试所有升级。在生产环境中执行盲目升级会带来巨大风险。
- 在执行任何升级之前,请阅读 MinIO 的发行说明,没有强制要求在每个版本上升级到最新版本。某些版本可能与您的设置无关,请避免不必要地升级生产环境。
- 如果您计划使用
mc admin update,MinIO 进程必须对主机系统上二进制文件所在的父目录具有写访问权限。 mc admin update在 kubernetes/container 环境中不支持且应避免使用,请通过升级相关容器镜像来升级容器。- 我们不建议一次升级一台 MinIO 服务器,该产品旨在支持并行升级,请遵循我们建议的指南。
请遵循 MinIO贡献者指南
- MinIO 源代码已获得GNU AGPLv3许可。
- MinIO文档已获得CC BY 4.0许可。
- 许可合规性