Skip to content

yuanzhongqiao/minio

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

MinIO 快速入门指南

松弛 Docker 拉取 执照

最小IO

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。

GNU/Linux

使用以下命令在运行 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 纠删码概述

微软Windows

要在 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

对于启用了 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 附带一个嵌入式基于 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.nethttps://console.minio.example.net并使用将端口 :9000 和 :9001 上的流量分别转发到内部网络上的 MinIO 和 MinIO 控制台的规则。设置MINIO_BROWSER_REDIRECT_URLhttps://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"

仪表板 创建存储桶
仪表板 仪表板

使用 MinIO 客户端进行测试mc

mc提供了 UNIX 命令(如 ls、cat、cp、mirror、diff 等)的现代替代方案。它支持文件系统和 Amazon S3 兼容的云存储服务。请按照 MinIO 客户端快速入门指南获取更多说明。

升级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贡献者指南

执照

About

AI 数据基础设施的对象存储

Resources

License

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Go 99.2%
  • Other 0.8%