专栏首页运维一切ceph rbd在k8s中挂载卡住导致应用无法启动的问题

ceph rbd在k8s中挂载卡住导致应用无法启动的问题

故障现象

服务挂上rbd正常读写,经过很长时间之后再次发布就会出现timeout的错误,导致服务无法启动,但是如果强制把服务缩容到0,然后再发布改成1,这样就能启动成功,短时间内再次进行发布操作,rbd挂载 卸载又很正常了,故障再不会出现了

故障表现

  1. rbd map进程卡住无法正常退出
rbd map rbd19 --id admin -m xxxx --key=xxxxx
  1. 应用启动报错
timeout expired waiting for volumes to attach or mount for pod

挂载rbd超时

故障的原因

ceph版本小于ceph version 12.2.8-291时, rbd在低版本中有瑕疵, rbd map后需要检查内核udev返回的两个事件,一个事件是rbd,一个事件是block,这2个事件不一定是有序的,但是rbd命令里检查这2个事件是有序的,就会导致可能漏掉了一个检查,永远在等待,其实rbd已经map上了。

rbd map进程卡住之后,kubelet迟迟等不到进程的正常返回,进而判断map超时,于是就是打印'timeout expired waiting for volumes to attach or mount for pod'

解决办法

升级ceph-common

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • ceph rbd resize之后文件系统的调节

    ###ceph的rbd是可以进行调节大小的,但是调节需要进行一些操作,否则你看不到调节之后的效果,等于没调节,因为rbd就相当一块硬盘,但是文件系统一经初始化,...

    domain0
  • 研究rbd挂载之后ext4文件损坏的问题 原

    http://docs.ceph.com/docs/master/rbd/rbd-config-ref/

    domain0
  • 让k8s使用nbd挂载ceph的块存储 原

    细节决定一切 网上很多文档默认都是只安装ceph-common然后直接rbd来跑ceph的rbd。 其实ceph的rbd块设备本地映射有两种方式: 盗个图...

    domain0
  • 初试 Kubernetes 集群使用 Ceph RBD 块存储

    版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.n...

    哎_小羊
  • QEMU3 - 使用ceph来存储QEMU镜像

    ceph简介 Ceph是一个PB级别的分布式软件定义存储系统,为用户提供了块存储、对象存储以及符合POSIX标准的文件系统接口。目前,Ceph已经成为Opens...

    用户1214695
  • Docker CE 镜像源站

    其他关于旧版本Docker卸载以及测试开发版本Docker安装的帮助,可以参考官方文档的说明进行安装

    拓荒者
  • 知新 | koa框架入门到熟练第二章

    [wp_editor_md_211ccaf408f127f491c28c16e945e4cd.jpg]

    mySoul
  • DDD究竟是个啥?怎么落地?

    领域驱动设计(Domain Driven Design,以下简称DDD)这个话题,经常会出现在各大技术圈。特别是微服务出现后,海内外的大佬们又把微服务和DDD放...

    ImportSource
  • Flask 设置个性化的响应体、响应头、状态码

    在api设计中,基于restful的设计原则,一个http的响应应该包含执行的响应信息以及状态码。

    Devops海洋的渔夫
  • [deepin][docker]deepin-docker爬坑之路

    landv

扫码关注云+社区

领取腾讯云代金券