文章目录
- 介绍
- 软件特点
- 下载
- 多机分布式集群部署
- 1.前提准备
- 2. 新建minio工作目录
- 3. 编写运行命令
- 4. 启动、测试
- 5. nginx配置
介绍
MinIO 是一款高性能、开源、云原生的分布式对象存储系统,专为私有云、公有云和边缘计算场景设计,完全兼容 Amazon S3 API,可无缝替代 AWS S3,适用于 AI/ML、大数据、备份归档等海量非结构化数据存储场景。
软件特点
- 高性能:基于 Golang 编写,单机可达数十 GB/s 吞吐,分布式线性扩展;采用纠删码(Reed-Solomon)与HighwayHash 位腐烂保护,兼顾速度与数据完整性。
- 云原生:40 MB 单二进制文件,可容器化部署,提供官方 Helm Chart,与Kubernetes、Prometheus、Grafana 生态深度集成,支持 PV/PVC 持久卷。
- S3 完全兼容:支持全部核心 S3 API(含 SSE-S3/SSE-C/KMS 加密、版本控制、生命周期、WORM 锁等),现有 S3 SDK、工具(如 Velero、Restic、Spark、Presto)无需修改即可使用。
- 多云/多站点:支持“连续复制”与“全局联邦”,可跨地域、跨云厂商构建统一命名空间,实现灾备与就近访问。
- 安全合规:内置 TLS、细粒度 IAM、OpenID/LDAP 集成、WORM 防篡改、审计日志,满足金融、医疗等合规要求。
- 轻量易运维:单进程、无中心元数据库,磁盘 JBOD 直挂即可;控制台提供 UI 与 mc 命令行,一键扩缩容、监控告警。
下载
官网下载页面:https://www.min.io/download?platform=windows
点击下载社区版的
社区版直达下载地址:https://www.min.io/open-source/download?platform=windows
注意:最新版的 MinIO 社区版中缺少用户设置,这是因为 MinIO 近期对其社区版的用户界面 (UI) 功能进行了重大调整。过去,MinIO 的 Web 控制台提供了账户和策略管理、配置设置等功能。然而,在最新的社区版中,这些功能已被移除。
如果下载历史版本的可访问:
https://dl.minio.org.cn/server/minio/release/windows-amd64/archive/
找到对应的版本进行下载即可
多机分布式集群部署
提前找好3台或多台机器,推荐最少4台,由于我们目前场景只有3台机器,就做3台的部署演示,多台可自行扩展即可。这些机器需要在同一个局域网内,可相互ping通。
MinIO 采用纠删码(Erasure Code) 技术来实现数据冗余和恢复,分布式 Minio 里所有的节点需要有同样的 access 秘钥和 secret 秘钥,这样这些节点才能建立联接。
1.前提准备
网络互通:所有服务器节点必须在同一网络并能通过 IP 相互解析和访问。
时间同步:所有节点的主机时间差不能超过 3 秒。
相同的凭据:在所有节点上设置完全相同的 MINIO_ROOT_USER 和 MINIO_ROOT_PASSWORD 环境变量。
干净的磁盘:确保每个节点上用于 MinIO 的磁盘目录是干净的(没有数据)。
2. 新建minio工作目录
分别在3台机器上在D盘新建minio工作目录,将下载好的minio,拷贝进去
然后在minio文件夹中新建 minio-data 文件夹,做为minio存储数据文件夹。
3. 编写运行命令
在minio文件夹下新建 start.bat,将以下命令粘贴进去进行保存。
set MINIO_ROOT_USER=minioadmin
set MINIO_ROOT_PASSWORD=minioadmin
minio.exe server --address ":9000" --console-address ":9001" ^
http://192.168.1.116/D:/minio/minio-data ^
http://192.168.1.112/D:/minio/minio-data ^
http://192.168.1.108/D:/minio/minio-data
在启动命令中,将IP替换为你自己的各节点的真实局域网 IP 地址。
4. 启动、测试
分别在3台机器上启动start.bat 正常启动成功后,即可访问minio的控制台(任意一台机器即可):http://192.168.1.116:9001
使用设置的用户名和密码登录:minioadmin/minioadmin
新建buckets 然后上传文件
分别查看各个机器上minio/minio-data文件夹下3台机器均存有数据。
5. nginx配置
使用 Nginx 配置负载均衡提供统一的访问入口并实现高可用。
下载nginx,然后修改nginx.conf配置文件
upstream minio_cluster {server 192.168.1.116:9000;server 192.168.1.112:9000;server 192.168.1.108:9000;# ... 添加所有节点的IP和端口
}server {listen 9000;server_name localhost;location / {proxy_pass http://minio_cluster;proxy_set_header Host $host;proxy_set_header X-Real-IP $remote_addr;proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;proxy_set_header X-Forwarded-Proto $scheme;client_max_body_size 0;chunked_transfer_encoding on;}
}
启动 Nginx(nginx.exe),之后应用程序只需访问 Nginx 的地址(如 http://<nginx_server_ip>:9000)即可。