天天看點

解決一次gitlab因異常關機導緻啟動失敗

目錄

解決一次gitlab因異常關機導緻啟動失敗

1. 伺服器異常關機

2. gitlab服務

2.1 進入gitlab容器内部

2.2 檢查gitlab各服務狀态

2.3 檢視production.log日志

2.4 檢查gitlab相關日志

3 小結

衆所周知,伺服器會因為記憶體不足或者cpu使用率過高而出現異常關機現象,筆者昨天經曆了此車禍現場。造成的暫難就是gitlab代碼托管服務起不來。想告訴各位讀者的是,當你的gitlab服務遇到這種情況的時候,如何去定位問題,解決問題。

容器啟動成功,但是處于unhealthy狀态,登入界面500。

需要說明的一點是我的gitlab服務部署在linux上.

解決一次gitlab因異常關機導緻啟動失敗

當時出現的是redis服務down了,當時沒截圖,網上找了個圖,類似這樣

解決一次gitlab因異常關機導緻啟動失敗

失敗提示:

down:redis:0s,normally up,want up;run:log:(pid 1022)1302s

也就是gitlab之是以前端顯示500起不來,是因為redis服務沒起來,是以我們隻需要重點關注redis服務沒起來的相關日志。

解決一次gitlab因異常關機導緻啟動失敗

報錯資訊:Error connecting to Redis on /var/opt/gitlab/redis/redis.socket (Errno::ECONNREFUSED)):

從錯誤資訊中隻能看到redis連接配接失敗,并不能得到更多的有效定位錯誤的資訊,繼續檢視gitlab的運作日志來尋找資訊,

實時檢視日志輸出指令

此處也可以在docker外面運作

提示如下錯誤:

解決一次gitlab因異常關機導緻啟動失敗

初步分析是應用在運作狀态下,redis被強制停止造成了資料檔案不完整,重新開機redis就會失敗。

是以,我找到了redis的資料檔案,删掉了資料檔案dump.rdb,然後重新開機gitlab就好了

我的redis資料路由設定(可在docker-compose.yml檔案中設定)在docker 外面

至此,gitlab啟動成功

解決一次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

The Sky is the limit.