Docker 启动失败 no such device storage-driver=overlay2

k8s集群中有几个pod的状态不正常,查看对应node机器上系统启动日志有reboot记录,kubelet启动失败,原因是docker没有正常启动,查看docker启动日志,看到如下报错:

failed to mount overlay: no such device storage-driver=overlay2

storage driver overlay2 failed: driver not supported

看着像是存储这块有问题,查看docker配置文件,磁盘都正常,查看overlay驱动加载发现这台机器上overlay驱动不存在了,和正常node对比下,最后定位到ecs机器底层有操作,重启后内核版本发生变化,导致overlay驱动丢失。

排查步骤参考:

  1. 检查内核模块: 确保 overlay2 存储驱动程序所需的内核模块已加载。

    • 使用 lsmod | grep overlay 命令查看已加载的模块。

    • 使用 modinfo overlay 命令查看 overlay 模块的信息,确认模块文件是否存在。

    • 如果没有加载,则需要手动加载模块:modprobe overlay

  2. 检查设备: 确保 Docker 能够访问 overlay2 存储驱动程序所需的设备。

    • 使用 dmesg 命令查看系统日志,以查找有关设备错误的信息。

    • 检查设备是否已正确挂载,并确保 Docker 进程具有访问权限。

  3. 检查磁盘空间: 确保 Docker 有足够的磁盘空间来创建 overlay2 存储驱动程序。

    • 使用 df -h 命令查看磁盘空间使用情况。

    • 确保 /var/lib/docker 目录有足够的可用空间。

  4. 检查权限: 确保 Docker 进程具有足够的权限访问 overlay2 存储驱动程序所需的设备。

    • 确保当前用户具有加载内核模块的权限。

    • 使用 sudo modprobe overlay 命令以管理员权限加载模块。

    • 检查 /lib/modules/<内核版本>/modules.builtin.bin 文件的权限,确保 Docker 进程具有读取权限。

    • 使用 id -u 和 id -g 命令查看 Docker 进程的 UID 和 GID。

    • 确保 Docker 进程具有访问 /var/lib/docker 目录的权限。

  5. 检查内核版本: 确保 Docker 进程具有足够的权限访问 overlay2 存储驱动程序所需的设备。

    • 确保 overlay 模块与当前内核版本兼容。

    • 使用 uname -r 命令查看当前内核版本。

    • 如果内核版本过旧,则需要更新内核。

  6. 检查配置文件: 确保 Docker 配置文件 /etc/docker/daemon.json 中的 storage-driver 设置为 overlay2

    • 如果配置文件不存在,则创建一个新的配置文件,并添加以下内容:

      {
       "storage-driver": "overlay2"
      }

  7. 重启 Docker 服务: 重新启动 Docker 服务,以使更改生效。

    • 使用 systemctl restart docker 命令重启 Docker 服务。

  8. 尝试其他存储驱动程序: 如果以上方法都无法解决问题,可以尝试使用其他存储驱动程序,例如 devicemapper 或 aufs

    • 在 Docker 配置文件中将 storage-driver 设置为其他驱动程序,并重新启动 Docker 服务。

  9. 更新 Docker 版本: 尝试更新 Docker 版本,以修复潜在的 bug。

    • 使用 docker version 命令查看当前 Docker 版本。

    • 访问 Docker 官方网站下载并安装最新版本的 Docker。

  10. 检查系统日志: 检查系统日志,以查找有关 Docker 启动失败的更多信息。

    • 使用 uptime,last -x查看系统是否重启日志。

    • 使用 journalctl -b --list-boots 命令查看系统启动日志。

    • 使用 journalctl -u docker 命令查看 Docker 日志。

    • 去 /var/log/ 目录上查找相关系统报错日志信息。


参考:

anzhihe 安志合个人博客,版权所有 丨 如未注明,均为原创 丨 转载请注明转自:https://chegva.com/6188.html | ☆★★每天进步一点点,加油!★★☆ | 

您可能还感兴趣的文章!

1 评论

发表评论

电子邮件地址不会被公开。 必填项已用*标注