「开源摘星计划」Harbor故障排查:用户名或者密码不正确?

1,415 阅读2分钟

作者 | 李大白


【摘要】Harbor UI登录提示用户或密码错误问题处理。
【文章来源】《Harbor进阶实战》公众号
开源摘星计划(WeOpen Star) 是由腾源会 2022 年推出的全新项目,旨在为开源人提供成长激励,为开源项目提供成长支持,助力开发者更好地了解开源,更快地跨越鸿沟,参与到开源的具体贡献与实践中。
不管你是开源萌新,还是希望更深度参与开源贡献的老兵,跟随“开源摘星计划”开启你的开源之旅,从一篇学习笔记、到一段代码的提交,不断挖掘自己的潜能,最终成长为开源社区的“闪亮之星”。
我们将同你一起,探索更多的可能性!
项目地址: WeOpen-Star:github.com/weopenproje…

1、环境说明

我的harbor环境为:

  • 操作系统:CentOS-7.8
  • Harbor版本:2.3.1
  • Harbor安装方式: 离线安装
  • Harbor主机IP:192.168.2.250
  • 使用安全加密的访问方式,admin密码是默认的Harbor12345。

2、问题描述


  快下班的时候,开发组的同事在将编译好的镜像上传到Harbor的时候,怎么都上传不成功,提示用户名或者密码不正确

  看到这你的想法是不是也认为密码输错了。 我当时也是这么认为的,跟开发说你密码错了,开发是很肯定的说密码没错,刚才还可以呢!

  于是我考虑到登录Harbor UI管理界面看看。登录时我也傻眼了,我admin都不能登录!报错截图:

3、问题排查

3.1 登录Harbor主机

$ ssh 192.168.2.250
$ cd /app/harbor/   #进入Harbor安装目录
$ ls 
common     docker-compose.yml  install.sh     metrics.txt   muli.com.key
common.sh  harbor.yml          LICENSE        muli.com.crt  prepare
data       harbor.yml.tmpl     manifest.json  muli.com.csr  repositories

3.2 查看Harbor的服务状态

$ docker-compose  ps

  看到harbor-db组件处于Restart退出状态,从Harbor的架构可以分析出:Harbor-db组件的服务异常,造成登录界面输入的用户名和密码无法与harbor-db中的用户名和密码进行“校验”,所以会提示“用户名或密码错误”,而非用户名或者密码输入不对。

  既然知道是harbor-db组件有问题,下面就继续通过查看harbor-db组件的日志来查看具体的原因了!

3.3 查看异常组件(harbor-db)的服务日志

$ vim + /var/log/harbor/postgresql.log

...
Failed to write all bytes for _asyncio.cpython-37m-x86_64-linux-gnu.so
fwrite: No space left on device
...

意思是: 无法写入_asyncio的所有字节。cpython-37m-x86_64-linux-gnu。设备上没有剩余空间。

3.4 问题解决

然后检查主机的磁盘空间发现磁盘使用率达99%,清理一些文件(或移动走)来释放空间,然后重启Harbor解决

$ docker-compose down
$ docker-compose up -d

故障总结

  本文以“用户名或者密码错误”的Harbor登录型问题,分析整个故障排查的过程,遇到Harbor其它问题也可以通过这几个步骤来进行故障定位和原因分析:

(1) 检查Harbor组件状态

  如果Harbor各个组件的服务都正常,可以从网络、主机资源等其它方面进行排查;

(2) 查看异常组件的日志

  harbor日志文件在/var/log/harbor/目录下。

$ ls  /var/log/harbor/
chartmuseum.log  exporter.log    notary-server.log  portal.log      proxy.log  registryctl.log  trivy-adapter.log
core.log         jobservice.log  notary-signer.log  postgresql.log  redis.log  registry.log

(3) 检查主机资源使用率

  检查主机的CPU、内存、磁盘等资源的使用率,判断是否是主机资源造成的问题。