温馨提示×

MinIO在Ubuntu上的存储配置

小樊
41
2025-11-29 02:44:47
栏目: 云计算

Ubuntu 上 MinIO 存储配置实操指南

一 环境准备与目录规划

  • 更新系统并创建专用系统用户与数据目录(强烈建议不以 root 运行):
    • sudo apt update && sudo apt upgrade -y
    • sudo useradd -r -s /sbin/nologin minio-user
    • sudo mkdir -p /data/minio
    • sudo chown -R minio-user:minio-user /data/minio
  • 选择高性能后端磁盘(如 NVMe SSD),并挂载到数据目录;避免使用 /tmp 或网络挂载点(NFS 等)承载生产数据,以减少抖动与锁争用。
  • 规划端口:对象存储 API 默认 9000/TCP,控制台默认 9001/TCP(也可自定义为 9090 等)。防火墙需放行对应端口。

二 安装方式与最小可用配置

  • 方式 A 二进制安装(通用、可控)

    • 下载并安装二进制:
      • wget https://dl.min.io/server/minio/release/linux-amd64/minio
      • chmod +x minio && sudo mv minio /usr/local/bin/
    • 配置环境变量(推荐写入文件而非全局 export):
      • sudo nano /etc/default/minio
        • MINIO_ROOT_USER=admin
        • MINIO_ROOT_PASSWORD=StrongPassw0rd!(长度≥8
        • MINIO_VOLUMES=/data/minio
        • MINIO_OPTS=“–address :9000 --console-address :9001”
    • 启动服务并自启:
      • sudo systemctl daemon-reload
      • sudo systemctl start minio && sudo systemctl enable minio
    • 验证:
      • curl -I http://127.0.0.1:9000
      • 浏览器访问 http://<服务器IP>:9001 使用上述账号登录控制台。
  • 方式 B APT 或 Snap 安装(便捷)

    • APT 仓库(示例):
      • wget -qO - https://dl.min.io/server/minio/release/linux/amd64/minio-release.gpg.key | sudo apt-key add -
      • echo “deb https://dl.min.io/server/minio/release/linux/amd64/archive/ /” | sudo tee /etc/apt/sources.list.d/minio.list
      • sudo apt update && sudo apt install minio
      • sudo systemctl start minio && sudo systemctl enable minio
    • Snap 安装:
      • sudo apt install snapd
      • sudo snap install minio --classic
      • sudo systemctl start minio && sudo systemctl enable minio

三 systemd 服务与环境变量模板

  • 推荐服务文件:/etc/systemd/system/minio.service
    • [Unit]
      • Description=MinIO Server
      • Documentation=https://docs.min.io
      • Wants=network-online.target
      • After=network-online.target
    • [Service]
      • Type=notify
      • User=minio-user
      • Group=minio-user
      • EnvironmentFile=/etc/default/minio
      • ExecStart=/usr/local/bin/minio server $MINIO_OPTS $MINIO_VOLUMES
      • Restart=always
      • LimitNOFILE=1048576
      • TasksMax=infinity
      • ProtectProc=invisible
    • [Install]
      • WantedBy=multi-user.target
  • 环境变量模板:/etc/default/minio
    • MINIO_ROOT_USER=admin
    • MINIO_ROOT_PASSWORD=StrongPassw0rd!
    • MINIO_VOLUMES=/data/minio
    • MINIO_OPTS=“–address :9000 --console-address :9001”
    • 可选

    • MINIO_REGION=cn-north-1
    • MINIO_DOMAIN=minio.example.com
  • 注意:
    • 若使用旧变量名(MINIO_ACCESS_KEY / MINIO_SECRET_KEY),建议迁移到 MINIO_ROOT_USER / MINIO_ROOT_PASSWORD
    • 控制台端口与 API 端口需不同,避免端口冲突。

四 网络与反向代理及 TLS

  • 防火墙放行(UFW 示例):
    • sudo ufw allow 9000,9001/tcp
  • Nginx 反向代理与 HTTPS(示例域名:minio.example.com)
    • 安装:sudo apt install nginx
    • 站点配置 /etc/nginx/sites-available/minio.example.com
      • server {
        • listen 80;
        • server_name minio.example.com;
        • location / {
          • proxy_pass http://127.0.0.1:9000;
          • 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;
        • }
      • }
    • 启用站点并申请证书(以 Certbot 为例):
      • sudo ln -s /etc/nginx/sites-available/minio.example.com /etc/nginx/sites-enabled/
      • sudo certbot --nginx -d minio.example.com
    • 访问:控制台 https://minio.example.com,API 通过 9000 端口(或按代理规则调整)。

五 常见问题与运维要点

  • 权限与用户:服务以 minio-user 运行,数据目录必须属主匹配;否则会启动失败或无法写入。
  • 端口与连通性:确认云安全组/本机防火墙放行 9000/9001;如经 Nginx/负载均衡,确保回源地址与协议正确。
  • 控制台与 API 端口:两者需区分(如 9000/9001),避免冲突;命令行与 SDK 使用 9000,浏览器管理用 9001
  • 资源与句柄:生产建议将 LimitNOFILE 提升到至少 65536,并按负载调整内存与 CPU 限额。
  • 分布式扩展:单机到多节点的演进可通过官方 Operator/Helm 实现,支持多租户、自动扩缩容与升级;单机模式建议先确保磁盘与网络稳定后再迁移。

0