CentOS 上 MinIO 故障排查与修复指南
一、快速定位
systemctl status minio -ljournalctl -u minio -n 50 --no-pagerss -tlnp | grep :9000 或 ss -tlnp | grep :9001curl -I http://127.0.0.1:9000nc -vz <服务器IP> 9000 或 telnet <服务器IP> 9000free -h、df -h、du -sh /your/minio/datafirewall-cmd --list-all;开放端口:firewall-cmd --permanent --add-port=9000/tcp --permanent && firewall-cmd --reloadsetenforce 0 验证;永久修改 /etc/selinux/config 的 SELINUX=permissive/disabled 后重启(生产谨慎)二、常见故障与修复
/etc/default/minio 中设置:MINIO_VOLUMES="/mnt/data"、MINIO_ROOT_USER、MINIO_ROOT_PASSWORD、MINIO_OPTS="--console-address :9001"User=minio 对应的系统用户存在:id minio;不存在则创建并赋权数据目录EnvironmentFile=/etc/default/miniosystemctl daemon-reload && systemctl start minio/usr/local/bin/minio --version--console-address=:9001--consoleaddress=:9001ExecStart 行并 systemctl daemon-reload && systemctl restart minioss -tlnp | grep :9000;释放或调整端口/etc/default/minio 与 systemd 的 ExecStart 参数一致性timedatectl set-ntp true 或 chronyc sources -v 检查同步状态df -h 清理或扩容;free -h 检查内存,必要时增加内存或配置交换分区,再重启服务三、最小可用配置示例
/usr/lib/systemd/system/minio.service(示例)[Unit]
Description=MinIO
Documentation=https://docs.min.io
Wants=network-online.target
After=network-online.target
[Service]
User=minio
Group=minio
EnvironmentFile=/etc/default/minio
ExecStartPre=/bin/bash -c 'if [ -z "${MINIO_VOLUMES}" ]; then echo "Variable MINIO_VOLUMES not set"; exit 1; fi'
ExecStart=/usr/local/bin/minio server $MINIO_VOLUMES --address :9000 --console-address :9001
Restart=always
LimitNOFILE=65536
[Install]
WantedBy=multi-user.target
/etc/default/minioMINIO_ROOT_USER=minioadmin
MINIO_ROOT_PASSWORD=minioadmin
MINIO_VOLUMES="/mnt/data"
# 可选:MINIO_OPTS="--console-address :9001"
mkdir -p /mnt/data
useradd -r -s /sbin/nologin minio
chown -R minio:minio /mnt/data
chmod -R 755 /mnt/data
systemctl daemon-reload
systemctl enable --now minio
firewall-cmd --permanent --add-port=9000/tcp
firewall-cmd --permanent --add-port=9001/tcp
firewall-cmd --reload
http://<服务器IP>:9000http://<服务器IP>:9001curl -I http://127.0.0.1:9000四、Docker 场景要点
docker run -d --name minio \
-p 9000:9000 -p 9001:9001 \
-v /mnt/data:/data \
-v /mnt/config:/root/.minio \
minio/minio server /data --console-address ":9001"
-v /mnt/data:/data:zdocker logs -f minio 与 ss -tlnp | grep :900[0|1]五、收集信息以便进一步定位
systemctl status minio -ljournalctl -u minio -n 200 --no-pagerss -tlnp | grep -E '(:9000|:9001)'firewall-cmd --list-allfree -h && df -h/usr/local/bin/minio --version/etc/default/minio 与 /usr/lib/systemd/system/minio.service 的相关片段