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 实现,支持多租户、自动扩缩容与升级;单机模式建议先确保磁盘与网络稳定后再迁移。