记录由于redis启动失败导致Harbor服务崩溃的问题


背景

最近服务运行在k8s集群,为了省事儿,也把Harbor以及Harbor需要用到的组件也放到了k8s中。在最近的一次上线中发现节点不能更新镜像了。查看pod的状态时,发现Harbor需要用到的Redis服务的master节点状态异常(Error or Crash)。查看日志,发现有相应的报错信息:

Bad file format reading the append only file: make a backup of your AOF file, then use ./redis-check-aof --fix <filename>

原来是因为Redis在将aof文件load到内存时失败,导致Redis启动不起来。

解决方案

redis组件的日志已经提示的很清楚,需要备份aof文件,然后使用 redis-check-aof 工具来修复这个aof文件。 执行命令为:

redis-check-aof --fix appendonly.aof

执行完毕之后,重启相应的pod,问题解决。