现象
Harbor上的同步任务都是失败的:
且点击任务看不到日志:
查看harbor日志
到harbor服务器的 /var/log/harbor 上查看日志,找到 postgresql.log 里有一些错误日志:
到harbor-db 查看Lock表
最终在 postgres database里找到lock表:
|
|
把这个表清空。
问题依旧。
查看其他日志
看到 jobservice.log 有以下日志:
但是时间不匹配。
尝试重启harbor
|
|
发现 harbor-jobservice 删除不掉,于是强制删除:
|
|
然后再启动harbor:
|
|
得到提示:
尝试删除 harbor_harbor network:
|
|
得到提示:
观察这个network:
|
|
看到上面存在幽灵容器 harbor-jobservice的注册记录,而这个容器之前已经删除了。因为docker network rm
没有 --force
选项,所以重启docker看看能不能修复数据。
|
|
之后再观察harbor_harbor network 就正常了。
然后重启harbor成功,同步任务也能顺利执行。
总结
排查的过程中走了一些弯路,其实如果一开始就观察harbor容器的状况就有可能定位问题所在。
这个事情发生的原因是 harbor-jobservice 处于一种不健康的状态,具体原因因为破坏了现场,所以不无法知晓了,有可能和5月11号redis通信异常有关。
评论