解决一次gitlab因异常关机导致启动失败

解决一次gitlab因异常关机导致启动失败
目录

  • 解决一次gitlab因异常关机导致启动失败
    • 1. 服务器异常关机
    • 2. gitlab服务
      • 2.1 进入gitlab容器内部
      • 2.2 检查gitlab各服务状态
      • 2.3 查看production.log日志
      • 2.4 检查gitlab相关日志
    • 3 小结

1. 服务器异常关机 【解决一次gitlab因异常关机导致启动失败】众所周知,服务器会因为内存不足或者cpu使用率过高而出现异常关机现象,笔者昨天经历了此车祸现场。造成的暂难就是gitlab代码托管服务起不来。想告诉各位读者的是,当你的gitlab服务遇到这种情况的时候,如何去定位问题,解决问题。
2. gitlab服务 容器启动成功,但是处于unhealthy状态,登录界面500。
需要说明的一点是我的gitlab服务部署在linux上.
2.1 进入gitlab容器内部
docker exec -it bd0 bash

2.2 检查gitlab各服务状态
gitlab-ctl status

解决一次gitlab因异常关机导致启动失败
文章图片

当时出现的是redis服务down了,当时没截图,网上找了个图,类似这样
解决一次gitlab因异常关机导致启动失败
文章图片

失败提示:
down:redis:0s,normally up,want up;run:log:(pid 1022)1302s
也就是gitlab之所以前端显示500起不来,是因为redis服务没起来,所以我们只需要重点关注redis服务没起来的相关日志。
2.3 查看production.log日志
tail -f /var/log/gitlab/gitlab-rails/production.log

解决一次gitlab因异常关机导致启动失败
文章图片

报错信息:Error connecting to Redis on /var/opt/gitlab/redis/redis.socket (Errno::ECONNREFUSED)):
从错误信息中只能看到redis连接失败,并不能得到更多的有效定位错误的信息,继续查看gitlab的运行日志来寻找信息,
2.4 检查gitlab相关日志
实时查看日志输出命令
gitlab-ctl tail

此处也可以在docker外面运行
docker logs gitlab

提示如下错误:
解决一次gitlab因异常关机导致启动失败
文章图片

初步分析是应用在运行状态下,redis被强制停止造成了数据文件不完整,重启redis就会失败。
因此,我找到了redis的数据文件,删掉了数据文件dump.rdb,然后重启gitlab就好了
我的redis数据路由设置(可在docker-compose.yml文件中设置)在docker 外面
/gitlab/data/redis#

至此,gitlab启动成功
解决一次gitlab因异常关机导致启动失败
文章图片

起初以为是文件夹权限问题,docker内部无法获取root权限,把docker外面redis的 overcommit_memory置1,然后重启gitlab的docker,overcommit_memory同步为1。但是gitlab还是启动失败
3 小结 可能gitlab报500错误的原因各种各样,但是查服务状态,查对应down服务的日志,想对应策略的方法一样,希望对你有所启发。
版权声明:本文为博主翻译文章+自己理解,部分代码自己写,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。 本文链接:https://www.cnblogs.com/JerryMouseLi/p/15542368.html

    推荐阅读