故障排查
节点接入层为 HashiCorp Nomad client(非 NATS)。服务名为
nomad,由 systemd 托管。
节点无法上线
症状:控制台显示节点 offline 或一直 pending_confirm。
排查步骤:
bash
# 1. 查看 Nomad 客户端日志
sudo journalctl -u nomad -n 80 --no-pager
# 2. 检查到 API 的连通性
curl -v https://api.arkcore.cloud/api/v1/health
# 3. 验证 node-secret 格式
sudo cat /etc/ark/node-secret | grep -E "^ns_[0-9a-f]{64}$" && echo "OK"
# 4. 查看本节点是否已加入 Nomad 集群
nomad node status -self 2>/dev/null常见原因:
| 现象 | 原因 | 解决 |
|---|---|---|
日志反复 retry_join 失败 | 出站到 Nomad Server 的 RPC :4647 / Serf :4648 被防火墙拦截 | 放行出站 4647/4648 |
invalid node secret | node-secret 损坏或被改 | 控制台重置 secret,重跑 setup.sh |
| 节点在线但不接单 | 节点被暂停 / 维护窗口 / 价格过高 | 控制台恢复节点、检查维护计划与定价 |
| 交互式实例无法打开 | cloudflared 隧道未起 / token 失效 | 查看 journalctl -u cloudflared,重跑 setup.sh 注入新 token |
节点缺少 CNI / pause 镜像导致实例起不来
bridge 网络需要 CNI 插件,pause 镜像在国内需换源——这两项已由 setup.sh 处理。若手动改过环境,重跑 setup.sh 修复。
bash
ls /opt/cni/bin # 应有 bridge、host-local 等插件实例一直 provisioning / pending
可能原因:
- 节点 GPU 已占满(多租户下被其他租用占用)。
- 镜像拉取超时(大镜像 / 网络慢)。
排查:
bash
# 当前运行的容器
docker ps
# GPU 占用
nvidia-smi
# 本节点上的 Nomad 分配
sudo nomad node status -selfGPU 不可用
症状:日志出现 no NVIDIA GPU found 或 CUDA 错误。
bash
# 验证 Docker 能访问 GPU
docker run --rm --gpus all nvidia/cuda:12.0-base nvidia-smi
# 重启 NVIDIA 持久化服务
sudo systemctl restart nvidia-persistenced
# 重新配置 NVIDIA Container Toolkit
nvidia-ctk --version
sudo nvidia-ctk runtime configure --runtime=docker
sudo systemctl restart docker磁盘空间不足
bash
df -h
# 清理 Docker 无用资源(不影响运行中的容器)
docker system prune -f
du -sh /var/lib/docker/*重启 / 重置节点
bash
# 重启 Nomad 客户端
sudo systemctl restart nomad
# 完全重新注册(重置 node-secret)
sudo systemctl stop nomad
sudo rm -f /etc/ark/node-secret
# 回控制台生成新 join-token,重跑 setup.sh联系支持
- 紧急问题:Discord #support
- 一般问题:support@arkcore.cloud
- 安全问题:security@arkcore.cloud
