
#云原生征文# 【Harbor故障排查篇】Harbor jobservice组件异常问 原创 精华
👨🏻🎓博主介绍:大家好!我是李大白,一名运维容器运维工程师,热爱分享知识🌟
🌈擅长领域:云原生、数据库、自动化运维
🙏🏻如果本文章对小伙伴们有帮助的话,🍭关注+👍🏻点赞+🗣评论+📦收藏!
🤝如果在文章描述时如有错,恳请各位大佬指正,在此感谢!!!
🍂 落叶而知秋,博闻而强识!
📕 精品专栏: Harbor进阶实战
问题描述
在Harbor UI管理界面执行垃圾回收时出现报错:
处理过程
查看Harbor各个组件的服务状态
可以看到harbor-jobservice异常退出状态,说明harbor-jobservice组件有问题。接下来查看这个组件的日志来进行进一步的分析。
获取harbor-jobservice组件的日志
从harbor-log日志组件中将harbor-jobservice的日志从容器提取到当前目录进行分析。也可以进容器harbor-log容器里面查看日志,但是容器里面无法使用vim打开日志文件,不好分析,可以将日志文件导出来。
Jobservice日志分析
意思就是:
Redis配置为保存RDB快照,但它目前无法在磁盘上持久化。可能修改数据集的命令被禁用,因为此实例配置为在RDB快照失败时报告写入期间的错误(在bgsave error选项上停止写入)。有关RDB错误的详细信息,请查看Redis日志。
看来是Redis缓存组件有异常,需要进一步分析redis缓存组件的日志来排错。
获取Redis组件的日志
将redis缓存组件的日志也导出来进行分析。
查看日志
无法打开RDB文件转储。用于保存的rdb(在服务器根目录/var/lib/redis中):设备上没有磁盘空间。
清理磁盘空间
找到对应分区中占用磁盘较多的数据移走或者删除来释放磁盘空间。
重启Harbor控制台
查看Harbor服务是否正常
服务正常,再到Harbor UI管理界面进行“垃圾清理”操作!可以成功,问题成功解决。
原因总结
从分析jobservice任务组件和Redis缓存组件的日志可以发现,主要原因是主机的磁盘空间不足,导致Redis缓存组件中的数据在做持久化rbd文件时失败,jobservice任务组件在执行“垃圾清理”任务时失败。
【本文正在参加云原生有奖征文活动】,活动链接:https://ost.51cto.com/posts/12598
