Linux MinIO安装后的配置指南
小樊
41
2025-11-28 21:01:41
Linux MinIO安装后的配置指南
一 基础配置与环境变量
- 创建数据与证书目录,建议使用独立磁盘或分区挂载到数据目录,便于容量扩展与权限隔离:
- 示例:mkdir -p /mnt/data;如需挂载新盘:fdisk 创建分区 → mkfs.ext4 → mount → 写入 /etc/fstab(使用 blkid 获取 UUID)。
- 创建系统用户与权限(安全最佳实践):
- groupadd -r minio-user;useradd -M -r -g minio-user minio-user;chown -R minio-user:minio-user /mnt/data;chmod -R 755 /mnt/data。
- 配置环境变量(推荐写入环境文件,便于 systemd 加载):
- 编辑 /etc/default/minio,设置:
- MINIO_ROOT_USER=admin(至少 8 位)
- MINIO_ROOT_PASSWORD=StrongPassw0rd!(至少 8 位)
- MINIO_VOLUMES=/mnt/data
- MINIO_OPTS=“–address :9000 --console-address :9001”
- 说明:旧变量名 MINIO_ACCESS_KEY / MINIO_SECRET_KEY 仍可用,但建议使用新的根用户变量;首次未设置时,控制台默认账号/密码为 minioadmin/minioadmin。
二 以 systemd 托管并设置开机自启
- 创建服务文件 /etc/systemd/system/minio.service:
- [Unit]
- Description=MinIO
- Documentation=https://docs.min.io
- Wants=network-online.target
- After=network-online.target
- [Service]
- Type=notify
- EnvironmentFile=/etc/default/minio
- ExecStart=/usr/local/bin/minio server $MINIO_OPTS $MINIO_VOLUMES
- ExecReload=/bin/kill -s HUP $MAINPID
- Restart=on-failure
- RestartSec=5
- [Install]
- WantedBy=multi-user.target
- 启动与开机自启:
- systemctl daemon-reload
- systemctl enable --now minio
- systemctl status minio
- 日志排查:
- journalctl -u minio.service -xe
- 如采用前台日志或自定义路径,可用 tail -f /var/log/minio.log 或实际日志文件路径。
三 网络访问与安全配置
- 防火墙放行端口(示例):
- firewalld:firewall-cmd --zone=public --add-port=9000/tcp --permanent;firewall-cmd --zone=public --add-port=9001/tcp --permanent;firewall-cmd --reload
- ufw:ufw allow 9000,9001/tcp
- 访问控制台:浏览器打开 http://服务器IP:9001;API 端口 9000 用于 S3 兼容接口。
- 启用 TLS/HTTPS(自签名或 CA 签发证书):
- 方式一:将证书放入目录并启动指定证书目录
- mkdir -p /etc/minio/certs
- cp server.crt /etc/minio/certs/public.crt;cp server.key /etc/minio/certs/private.key
- 在 /etc/default/minio 添加:MINIO_OPTS=“–address :9000 --console-address :9001 --certs-dir /etc/minio/certs”
- 方式二:启动时直接指定证书文件
- minio server /data --certs /etc/ssl/certs/minio-cert.pem,/etc/ssl/private/minio-key.pem
- 反向代理与域名接入(可选,便于对外统一域名与证书管理):
- 使用 Nginx 反向代理 9000/9001,设置 client_max_body_size 0、proxy_buffering off、X-Forwarded-Proto $scheme 等,支持大对象与控制台 WebSocket。
四 客户端 mc 与常见运维操作
- 安装与添加别名:
- 下载 mc,chmod +x,mv 至 /usr/local/bin
- mc alias set myminio http://服务器IP:9000 MINIO_ROOT_USER MINIO_ROOT_PASSWORD
- 常用命令:
- mc ls myminio
- mc mb myminio/mybucket
- mc cp /path/file myminio/mybucket/
- mc cp myminio/mybucket/file /path/dir
- 权限与策略(示例):
- 为应用创建用户与策略:mc admin user add myminio appuser StrongPass!
- 通过控制台或 mc 设置 Bucket Policy(只读/读写/自定义)以适配业务最小权限原则。
五 性能优化与分布式扩展
- 单机多盘与性能调优:
- 多数据目录可提升并发与吞吐:minio server /data1 /data2 /data3
- 在 /etc/default/minio 中结合硬件调整:MINIO_OPTS 可加入 –server-threads、–worker-threads 等参数;确保 MINIO_VOLUMES 覆盖所有数据目录。
- 纠删码与高可用:
- 单节点多盘默认使用 纠删码(非简单多副本),可在启动命令中加入 –enable-erasure-coding 明确启用;生产建议至少 4 盘以获得更优容错与空间效率。
- 分布式部署要点(多节点多盘):
- 准备 ≥4 节点(推荐 ≥3 节点,每节点 ≥2 块盘),低时延网络(建议 <10ms)
- 各节点创建数据目录并以相同用户运行,使用统一启动命令指定所有卷地址:
- minio server http://node{1…4}/mnt/data{1…2}
- 通过域名或负载均衡暴露 9000/9001,证书与反向代理策略与单机一致。