记一次因硬盘故障致使的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

相关文章
相关标签/搜索