Ubuntu 上 MinIO 启动失败的排查与修复
一、快速定位
systemctl status minio -ljournalctl -u minio -n 50 --no-pagerss -tlnp | grep -E ':9000|:9001'free -h、df -h、uptimecat /usr/lib/systemd/system/minio.service | grep -E 'User|ExecStart|EnvironmentFile'cat /etc/default/miniodocker ps -a | grep miniodocker logs <容器ID> 或 docker-compose logs minio二、常见原因与修复
Variable MINIO_VOLUMES not set in /etc/default/minio 或 status=217/USERsudo nano /etc/default/minio
MINIO_VOLUMES="/mnt/data"MINIO_OPTS="--address :9000 --console-address :9001"MINIO_ROOT_USER="minioadmin"MINIO_ROOT_PASSWORD="minioadmin123"EnvironmentFile=/etc/default/miniosudo systemctl daemon-reloadsudo systemctl start miniostatus=217/USER 或 权限拒绝sudo useradd -r -s /sbin/nologin minio-usersudo mkdir -p /mnt/data && sudo chown -R minio-user:minio-user /mnt/dataUser=minio-user,请确保该用户存在且目录属主匹配MINIO_OPTS 或 ExecStart 中改为未占用端口),再重启服务Out of memory / Killed processsudo fallocate -l 2G /swapfile && sudo chmod 600 /swapfile && sudo mkswap /swapfile && sudo swapon /swapfilemv ~/.minio/config.json ~/.minio/config.json.bak三、最小可用配置示例
User=minio-user、Group=minio-userEnvironmentFile=/etc/default/minioExecStart=/usr/local/bin/minio server $MINIO_OPTS $MINIO_VOLUMESMINIO_VOLUMES="/mnt/data"MINIO_OPTS="--address :9000 --console-address :9001"MINIO_ROOT_USER="minioadmin"MINIO_ROOT_PASSWORD="StrongPassw0rd!"sudo mkdir -p /mnt/datasudo chown -R minio-user:minio-user /mnt/datasudo systemctl daemon-reloadsudo systemctl enable --now miniosystemctl status minio -l && journalctl -u minio -n 50 --no-pager四、Docker 场景的要点
sudo mkdir -p /data/minio/{data,config}sudo chown -R 1001:1001 /data/miniodocker-compose.yml 中临时使用 privileged: true(仅测试环境建议)MINIO_ROOT_USER / MINIO_ROOT_PASSWORD 的正确设置docker-compose logs minio 或 docker logs <容器ID>