记一次因硬盘故障导致的docker服务无法启动
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了记一次因硬盘故障导致的docker服务无法启动相关的知识,希望对你有一定的参考价值。
早上刚到公司,老大说,运行着gogs代码库和mariadb数据库的宿主机崩溃了(ubuntu 18.04 LTS)。
重启电脑,默认方式启动,进入系统过程中抛出异常,信息为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)进入。可以见到恢复模式的粗糙页面。
选择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.此路不通
直接使用dockerd命令启动,有了新的收获,提示chmod /var/lib/docker: read-only file system
试了下,根目录所在分区变成了只读。执行mount -o remount rw,也不好使。
此时,已经大致确定了初步的方向,磁盘挂载失败。
再次进入恢复模式,进入root命令行,执行fsck -y /dev/sda2 (根目录挂载点),果然,有大量的修复提示
完成后再次重启,进入系统过程中一路顺利,未发现报错。docker服务也正常自启动。
事后总结:使用的是台式机,出现过突然断电、使用固态硬盘。故障原因可能与这几项有关。待后续确定
以上是关于记一次因硬盘故障导致的docker服务无法启动的主要内容,如果未能解决你的问题,请参考以下文章
记一次因 Redis 使用不当导致应用卡死 bug 的排查及解决!