脚本宝典收集整理的这篇文章主要介绍了解决一次gitlab因异常关机导致启动失败,脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
众所周知,服务器会因为内存不足或者cpu使用率过高而出现异常关机现象,笔者昨天经历了此车祸现场。造成的暂难就是gitlab代码托管服务起不来。想告诉各位读者的是,当你的gitlab服务遇到这种情况的时候,如何去定位问题,解决问题。
容器启动成功,但是处于unhealthy状态,登录界面500。 需要说明的一点是我的gitlab服务部署在linux上.
docker exec -it bd0 bash
gitlab-ctl status
当时出现的是redis服务down了,当时没截图,网上找了个图,类似这样
失败提示: down:redis:0s,normally up,want up;run:log:(pid 1022)1302s 也就是gitlab之所以前端显示500起不来,是因为redis服务没起来,所以我们只需要重点关注redis服务没起来的相关日志。
tail -f /var/log/gitlab/gitlab-rails/production.log
报错信息:Error connecting to Redis on /var/opt/gitlab/redis/redis.socket (Errno::ECONNREFUSED)):
从错误信息中只能看到redis连接失败,并不能得到更多的有效定位错误的信息,继续查看gitlab的运行日志来寻找信息,
实时查看日志输出命令
gitlab-ctl tail
此处也可以在docker外面运行
docker logs gitlab
提示如下错误:
初步分析是应用在运行状态下,redis被强制停止造成了数据文件不完整,重启redis就会失败。
因此,我找到了redis的数据文件,删掉了数据文件dump.rdb,然后重启gitlab就好了
我的redis数据路由设置(可在docker-compose.yml文件中设置)在docker 外面
/gitlab/data/redis#
至此,gitlab启动成功
起初以为是文件夹权限问题,docker内部无法获取root权限,把docker外面redis的 overcommit_memory置1,然后重启gitlab的docker,overcommit_memory同步为1。但是gitlab还是启动失败
可能gitlab报500错误的原因各种各样,但是查服务状态,查对应down服务的日志,想对应策略的方法一样,希望对你有所启发。
版权声明:本文为博主翻译文章+自己理解,部分代码自己写,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。 本文链接:https://www.cnblogs.com/JerryMouseLi/p/15542368.html
以上是脚本宝典为你收集整理的解决一次gitlab因异常关机导致启动失败全部内容,希望文章能够帮你解决解决一次gitlab因异常关机导致启动失败所遇到的问题。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。