記一次因硬盤故障致使的docker服務沒法啓動

早上剛到公司,老大說,運行着gogs代碼庫和mariadb數據庫的宿主機崩潰了(ubuntu 18.04 LTS)。docker

重啓電腦,默認方式啓動,進入系統過程當中拋出異常,信息爲end Kernel panic - not syncing: No working init found.
使用恢復模式啓動,可選的啓動項有6個,分別對應3個內核版本(Linux 4.15.0-118, Linux 4.15.0-117和Linux 4.15.0-112,以及各自對應的recovery mode)。
挑了個低版本的恢復模式(Linux 4.15.0-112)進入。能夠見到恢復模式的粗糙頁面。
記一次因硬盤故障致使的docker服務沒法啓動
選擇resume,繼續引導過程。途中出現好多報錯,待載入完成後使用journalctl -xe命令查看。例如/bin/mount for / exited with exit status 32, 例如Failed to start Remount Root and Kernel File Systems,例如Failed to start Message of the Day 。數據庫

既然進了系統,確定得先確認下docker服務的狀態。
切到root,使用docker ps ,提示服務未啓動。
systemctl status docker,提示Failed to start Docker Application Container Engine.此路不通ubuntu

直接使用dockerd命令啓動,有了新的收穫,提示chmod /var/lib/docker: read-only file system
試了下,根目錄所在分區變成了只讀。執行mount -o remount rw,也很差使。
此時,已經大體肯定了初步的方向,磁盤掛載失敗。
再次進入恢復模式,進入root命令行,執行fsck -y /dev/sda2 (根目錄掛載點),果真,有大量的修復提示ide

完成後再次重啓,進入系統過程當中一路順利,未發現報錯。docker服務也正常自啓動。命令行

過後總結:使用的是臺式機,出現過忽然斷電、使用固態硬盤。故障緣由可能與這幾項有關。待後續肯定blog

相關文章
相關標籤/搜索