温馨提示×

如何在Linux部署MinIO

小樊
41
2026-07-28 16:36:50
栏目: 智能运维

下面给你一份在 Linux 上部署 MinIO 的完整指南,涵盖**单节点(最常用)分布式(生产)**两种方式,并附带常用配置与运维命令。


一、MinIO 简介

MinIO 是一个高性能、S3 兼容的对象存储系统,常用于:

  • 私有云存储
  • AI / 大数据存储
  • Kubernetes / Docker 存储后端

二、系统准备

1️⃣ 系统要求

  • Linux(CentOS / Rocky / Ubuntu / Debian 均可)
  • 64 位
  • 推荐 4GB+ 内存
  • 磁盘建议 XFS / ext4
# 查看系统
uname -a

三、单节点 MinIO 部署(最常用 ✅)

方式一:二进制部署(推荐)

1️⃣ 下载 MinIO

wget https://dl.min.io/server/minio/release/linux-amd64/minio
chmod +x minio
sudo mv minio /usr/local/bin/

验证:

minio --version

2️⃣ 创建存储目录

sudo mkdir -p /data/minio
sudo chown -R $USER:$USER /data/minio

3️⃣ 配置环境变量(账号密码)

export MINIO_ROOT_USER=minioadmin
export MINIO_ROOT_PASSWORD=minioadmin123

⚠️ 密码至少 8 位

也可以写入 /etc/profile.d/minio.sh 永久生效。


4️⃣ 启动 MinIO

minio server /data/minio --console-address ":9001"

访问:

  • API:http://服务器IP:9000
  • Web 控制台:http://服务器IP:9001

5️⃣ 后台运行(推荐)

nohup minio server /data/minio --console-address ":9001" > minio.log 2>&1 &

四、使用 systemd 管理(生产推荐 ✅)

1️⃣ 创建 systemd 服务文件

sudo vim /etc/systemd/system/minio.service

内容如下:

[Unit]
Description=MinIO
After=network.target

[Service]
User=root
Environment="MINIO_ROOT_USER=minioadmin"
Environment="MINIO_ROOT_PASSWORD=minioadmin123"
ExecStart=/usr/local/bin/minio server /data/minio --console-address ":9001"
Restart=always

[Install]
WantedBy=multi-user.target

2️⃣ 启动并设置开机自启

sudo systemctl daemon-reload
sudo systemctl start minio
sudo systemctl enable minio
sudo systemctl status minio

五、防火墙配置

# firewalld
sudo firewall-cmd --permanent --add-port=9000/tcp
sudo firewall-cmd --permanent --add-port=9001/tcp
sudo firewall-cmd --reload

# 或 iptables
iptables -I INPUT -p tcp --dport 9000 -j ACCEPT
iptables -I INPUT -p tcp --dport 9001 -j ACCEPT

六、使用 Docker 部署(可选)

docker run -d \
  -p 9000:9000 \
  -p 9001:9001 \
  -e MINIO_ROOT_USER=minioadmin \
  -e MINIO_ROOT_PASSWORD=minioadmin123 \
  -v /data/minio:/data \
  minio/minio server /data --console-address ":9001"

七、创建 Bucket 并测试

  1. 浏览器访问 http://IP:9001
  2. 使用 minioadmin / minioadmin123 登录
  3. 创建 Bucket(如 test
  4. 上传文件测试

八、S3 客户端测试(mc)

wget https://dl.min.io/client/mc/release/linux-amd64/mc
chmod +x mc
sudo mv mc /usr/local/bin/

配置:

mc alias set myminio http://localhost:9000 minioadmin minioadmin123

测试:

mc ls myminio
mc mb myminio/test2

九、分布式 MinIO(简要)

适用于 4 节点以上

minio server http://node{1...4}/data/minio

⚠️ 生产环境建议:

  • 多节点
  • 负载均衡(Nginx / HAProxy)
  • HTTPS
  • 纠删码(Erasure Code)

十、常见问题

❓ 端口被占用

netstat -tunlp | grep 9000

❓ 忘记密码

删除 /data/minio/.minio.sys 重新初始化(⚠️ 会清空数据)


十一、总结

学习 / 测试:单节点 + 二进制
生产环境:systemd + 多节点 + HTTPS
云原生:Kubernetes + Operator


如果你需要:

  • 生产级部署方案
  • HTTPS + Nginx
  • Kubernetes Helm 部署
  • MinIO + AI / Spark / Hive

可以直接告诉我你的使用场景,我可以给你定制方案。

0