记一次因硬盘故障导致的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服务无法启动的主要内容,如果未能解决你的问题,请参考以下文章

记一次网络故障——pod间无法通信

记一次zimbra服务器故障导致mysql起不来问题

记一次因 Redis 使用不当导致应用卡死 bug 的排查及解决!

记一次因 Redis 使用不当导致应用卡死 bug 的排查及解决!

记一次Linux磁盘空间占满无法删除的故障

记一次,关于思杰虚拟化XEN-API服务无法启动