温馨提示×

centos minio安装实战教程

小樊
40
2025-12-05 14:55:10
栏目: 智能运维

CentOS 上部署 MinIO 实战教程

一 环境准备与基础配置

  • 更新系统与安装依赖
    • 执行:sudo yum update -y && sudo yum install -y wget unzip
  • 创建系统用户与数据目录(推荐最小权限运行)
    • 执行:sudo groupadd --system minio
    • 执行:sudo useradd -s /sbin/nologin --system -g minio minio
    • 执行:sudo mkdir -p /data/minio/data
    • 执行:sudo chown -R minio:minio /data/minio
  • 内核与文件句柄优化
    • 建议将打开文件数设置为至少 65536:编辑 /etc/security/limits.conf 增加
      • * soft nofile 65536
      • * hard nofile 65536
    • 如需持久化,可结合 sysctl 或 systemd 服务 LimitNOFILE 配置
  • 防火墙放行端口
    • 放行 API 端口(默认 9000)与控制台端口(常用 9001
    • firewalld:sudo firewall-cmd --permanent --add-port=9000/tcp && sudo firewall-cmd --permanent --add-port=9001/tcp && sudo firewall-cmd --reload
    • 如为云服务器,还需在云安全组放行对应端口

二 单机部署与 systemd 服务

  • 下载并安装二进制
    • 执行:cd /usr/local/bin
    • 执行:sudo wget https://dl.min.io/server/minio/release/linux-amd64/minio -O minio
    • 执行:sudo chmod +x minio
  • 方式 A 环境变量文件 + systemd(推荐,便于维护)
    • 创建环境文件:sudo mkdir -p /etc/minio && sudo tee /etc/default/minio <<'EOF' MINIO_ROOT_USER=minioadmin MINIO_ROOT_PASSWORD=YourStrongP@ssw0rd MINIO_VOLUMES="/data/minio/data" MINIO_OPTS="--console-address :9001" EOF
    • 创建服务:`sudo tee /etc/systemd/system/minio.service <<‘EOF’ [Unit] Description=MinIO Object Storage Documentation=https://min.io/docs/minio/linux/index.html Wants=network-online.target After=network-online.target

[Service] Type=forking User=minio Group=minio EnvironmentFile=-/etc/default/minio ExecStart=/usr/local/bin/minio server $MINIO_OPTS $MINIO_VOLUMES ExecStop=/usr/bin/pkill minio Restart=always LimitNOFILE=65536 TasksMax=infinity TimeoutStopSec=infinity SendSIGKILL=no

[Install] WantedBy=multi-user.target EOF`

  • 方式 B 直接在 service 中写环境变量(等价)
    • EnvironmentFile 替换为:
      • Environment="MINIO_ROOT_USER=minioadmin"
      • Environment="MINIO_ROOT_PASSWORD=YourStrongP@ssw0rd"
      • Environment="MINIO_VOLUMES=/data/minio/data"
      • Environment="MINIO_OPTS=--console-address :9001"
  • 启动与开机自启
    • 执行:sudo systemctl daemon-reload
    • 执行:sudo systemctl start minio && sudo systemctl enable minio
    • 执行:sudo systemctl status minio(确保状态为 active (running)

三 访问控制台与 mc 客户端验证

  • 访问控制台
    • 打开浏览器访问:http://<服务器IP>:9001
    • 使用环境变量中配置的 MINIO_ROOT_USER / MINIO_ROOT_PASSWORD 登录
  • 使用 mc 验证(命令行)
    • 下载 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://<服务器IP>:9000 minioadmin 'YourStrongP@ssw0rd'
    • 查看存储桶:mc ls myminio
    • 创建测试桶:mc mb myminio/test-bucket
    • 简单上传测试:mc cp /etc/hosts myminio/test-bucket/hosts

四 常见问题与优化建议

  • 时间与时钟同步
    • 建议部署 NTPchrony 保持节点时间一致,避免分布式环境出现签名校验异常
  • 文件句柄与并发
    • 确保 nofile 至少为 65536,并在 systemd 中设置 LimitNOFILE=65536
  • 端口与访问
    • 默认 API 端口 9000,控制台端口 9001;如更改,请同步防火墙与安全组规则
  • 安全加固
    • 生产环境请使用强密码,并考虑通过反向代理(如 Nginx/Ingress)启用 TLS/HTTPS
  • 升级与维护
    • 升级时先备份 /etc/default/minio 与数据目录;使用二进制替换后执行 systemctl restart minio
  • 客户端工具
    • 推荐使用 mc 进行日常管理、策略与生命周期配置,便于与 S3 生态集成

0