前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >ceph rbd在k8s中挂载卡住导致应用无法启动的问题

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

作者头像
domain0
发布2019-09-12 13:38:08
2.7K0
发布2019-09-12 13:38:08
举报
文章被收录于专栏:运维一切运维一切

故障现象

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

故障表现

  1. rbd map进程卡住无法正常退出
代码语言:javascript
复制
rbd map rbd19 --id admin -m xxxx --key=xxxxx
  1. 应用启动报错
代码语言:javascript
复制
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

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 故障现象
  • 故障表现
  • 故障的原因
  • 解决办法
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档