记录一次因为意外断电造成gitlab(docker容器)重启之后无法访问的问题

容器启动成功,但是处于unhealthy状态,登录界面500。

docker logs gitlab

最终错误是

err="opening storage failed: open block /var/opt/gitlab/prometheus/data/01D2M4JGVWFJ33P8H7KF229PV4: invalid magic number 0"

起初以为是文件夹权限问题,但往上面看,发现其实是redis未能加载数据文件,启动失败造成的。

2019-04-21_06:15:49.62499 20813:M 21 Apr 06:15:49.624 # WARNING you have Transparent Huge Pages (THP) support enabled in your kernel. This will create latency and memory usage issues with Redis. To fix this issue run the command 'echo never > /sys/kernel/mm/transparent_hugepage/enabled' as root, and add it to your /etc/rc.local in order to retain the setting after a reboot. Redis must be restarted after THP is disabled.
2019-04-21_06:15:49.62500 20813:M 21 Apr 06:15:49.624 # Wrong signature trying to load DB from file
2019-04-21_06:15:49.62501 20813:M 21 Apr 06:15:49.624 # Fatal error loading the DB: Invalid argument. Exiting.

初步分析是应用在运行状态下,redis被强制停止造成了数据文件不完整,重启redis就会失败。

因此,我找到了redis的数据文件,删掉了数据文件dump.rdb,然后重启gitlab就好了

又可以愉快的玩耍啦。

 

posted @ 2019-04-21 14:44  阿尔AI艾尔  阅读(6913)  评论(0编辑  收藏  举报