ubuntu

Ubuntu MinIO故障排查步骤

小樊
37
2025-12-10 22:01:33
栏目: 智能运维

Ubuntu 上 MinIO 故障排查步骤

一 快速定位流程

二 常见故障与修复要点

三 配置与权限检查清单

四 性能与网络专项排查

五 一键健康自检脚本

#!/usr/bin/env bash
set -Eeuo pipefail

echo "=== MinIO 健康自检与修复建议 ==="

# 1) 服务状态
echo -e "\n[1/8] 服务状态"
systemctl is-active --quiet minio && echo "● minio 运行中" || { echo "● minio 未运行,尝试启动..."; systemctl start minio; }
systemctl status minio --no-pager -l

# 2) 端口
echo -e "\n[2/8] 端口监听"
ss -tlnp | grep -E ':9000|:9001' || echo "● 9000/9001 未监听"

# 3) 资源
echo -e "\n[3/8] 资源使用"
free -h
df -h | grep -E 'Filesystem|/data'

# 4) 进程
echo -e "\n[4/8] 进程"
pgrep -x minio && echo "● 发现 minio 进程" || echo "● 未发现 minio 进程"

# 5) 环境变量
echo -e "\n[5/8] 环境变量 MINIO_VOLUMES"
grep -E '^MINIO_VOLUMES=' /etc/default/minio 2>/dev/null || echo "● 未设置 MINIO_VOLUMES"

# 6) 服务文件关键项
echo -e "\n[6/8] systemd 关键项"
grep -E '^EnvironmentFile=|^User=|^ExecStart=' /etc/systemd/system/minio.service 2>/dev/null || echo "● 缺失关键项"

# 7) 数据目录权限
echo -e "\n[7/8] 数据目录权限"
DATA_DIR=$(grep -E '^MINIO_VOLUMES=' /etc/default/minio 2>/dev/null | cut -d= -f2- | tr -d '"')
if [[ -n "$DATA_DIR" && -d "$DATA_DIR" ]]; then
  ls -ld "$DATA_DIR"
else
  echo "● 未找到有效数据目录"
fi

# 8) 日志错误线索
echo -e "\n[8/8] 日志错误线索"
journalctl -u minio -n 50 --no-pager | grep -iE "error|fail|panic|killed|oom" || echo "● 未发现明显错误关键词"

echo -e "\n=== 修复建议 ==="
echo "1) 若未设置 MINIO_VOLUMES,请在 /etc/default/minio 中设置,例如:"
echo "   MINIO_VOLUMES=/data/minio"
echo "   MINIO_ROOT_USER=minioadmin"
echo "   MINIO_ROOT_PASSWORD=StrongPassw0rd!"
echo "   MINIO_OPTS=\"--address :9000 --console-address :9001\""
echo "2) 若服务文件缺少 EnvironmentFile,请添加并 reload:"
echo "   EnvironmentFile=/etc/default/minio"
echo "   systemctl daemon-reload && systemctl restart minio"
echo "3) 若权限异常,请授权运行用户(示例为 minio-user):"
echo "   chown -R minio-user:minio-user $DATA_DIR && chmod -R 755 $DATA_DIR"
echo "4) 若端口未监听或访问被拒,请放行防火墙:"
echo "   firewall-cmd --permanent --add-port=9000/tcp --add-port=9001/tcp && firewall-cmd --reload"
echo "5) 若出现 OOM,请清理空间或临时增加 swap,再重启服务。"

0
看了该问题的人还看了