在 Linux 上排查 MinIO 问题,一般从 服务状态、日志、端口、磁盘、权限、配置、客户端 这几个方向入手。下面给你一套实用排查清单,从最常见到进阶。
systemctl status minio
journalctl -u minio -f
常见状态:
active (running) ✅failed ❌(看日志)docker ps -a
docker logs minio
minio server /data
journalctl -u minio -n 100
docker logs -f minio
重点看:
ERRORUnable to initialize backenddisk is fullpermission deniedport already in usess -lntp | grep 9000
ss -lntp | grep 9001
默认:
9000:API9001:Console(新版)curl http://127.0.0.1:9000/minio/health/live
返回:
OK
✅ 说明服务正常
df -h
lsblk
MinIO 不支持磁盘满运行。
ls -ld /data
MinIO 启动用户必须能写:
chown -R minio-user:minio-user /data
chmod -R 755 /data
⚠️ 不要用 root 启动 MinIO,但数据目录又没权限
MINIO_ROOT_USER
MINIO_ROOT_PASSWORD
MINIO_VOLUMES
MINIO_OPTS
[Service]
Environment="MINIO_ROOT_USER=minioadmin"
Environment="MINIO_ROOT_PASSWORD=minioadmin"
检查:
systemctl cat minio
mc alias set local http://127.0.0.1:9000 minioadmin minioadmin
mc admin info local
mc ls local
错误示例:
Access Denied → 用户名/密码错误Connection refused → 服务没起来| 现象 | 原因 |
|---|---|
| 启动失败 | 端口被占用 |
| 403 | 用户名/密码错误 |
| 500 | 磁盘权限或磁盘损坏 |
| Console 打不开 | 9001 未监听 |
| mc 连不上 | 防火墙 / SELinux |
| 上传失败 | 磁盘满 |
getenforce
setenforce 0 # 临时关闭测试
firewall-cmd --list-ports
firewall-cmd --add-port=9000/tcp --permanent
firewall-cmd --add-port=9001/tcp --permanent
firewall-cmd --reload
systemctl status minio
journalctl -u minio -n 50
ss -lntp | grep 9000
df -h
mc admin info local
你可以直接贴:
minio server 的完整启动命令df -h 输出我可以 直接帮你定位是哪一步出问题 ✅