温馨提示×

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,证书与反向代理策略与单机一致。

0