cephfs shell cp 数据内容丢失问题分析

业务在使用cephfs共享存储的时候遇到一个诡异的问题,容器内执行了cp操作之后,在其他挂载目录能看到新的文件,但是数据内容为空,大小为0。但是在容器里观察和宿主机上观察一切正常。
A、B均挂载了同一个cephfs
宿主机A容器里执行cp aaa bbb
容器里:



B机器:




由于ceph是一个网络存储,拿到这个问题我的第一想法就是在A机器上抓包,看下cephfs的返回是否一样。于是用wireshark解析了抓到的包

好像对ceph协议的支持不怎么完善,此路不通。

于是选择根据日志去排查问题。
首先打开mds的日志:
ceph tell mds.* injectargs --debug-ms 5/5

确实有创建新文件的请求:



但是没有具体文件内容和大小的日志

然后打开osd的日志:
ceph tell osd.* injectargs --debug-osd 10/10
但是没有发现关联到新文件的日志,所以没法确认文件的内容是否被写入了

正当一筹莫展的时候,同事有了重大发现,当替换成其他镜像进行同样的操作时问题消失,查看了有问题的镜像系统为alpine,换成centos和ubuntu均没有该问题。我们又做了另一个试验,升级的client的内核,ceph官方推荐在4.*的内核下使用cephfs client的kernel模式,但是我们是用centos的默认3.10内核。我们把client的内核升级到4.14.15,再进行一样的操作问题也消失了!!!

到这里问题似乎付出了水面,初步判断是alpine的cp命令在3.10内核下面会触发cephfs的bug导致写入内容失败,我们方案是升级到4.*的内核。ceph的日志着实难懂,后续搞清楚了之后再补上结论 : )

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 一、深呼吸放松法:最简单见效快具体做法:采用鼻子呼吸,腹部吸气。双肩自然下垂,慢慢闭上双眼,然后慢慢地深深地吸气,...
    红了樱桃却没有绿了芭蕉阅读 2,607评论 0 0
  • 我说嘿嘿 你说呵呵 我说哈哈 你说呵呵 我说嘻嘻 你说呵呵 为你笑了那么多种 你还是那样 笑的冰冷
    e2f2e65e8022阅读 1,040评论 0 1
  • 文/叶小禾 01 李桂花和大强终于在一起了。 桂花端起酒杯,微笑着望着坐在对面的大强,大强正温柔地看着她,他们在对...
    叶小禾阅读 3,746评论 0 8
  • 《致青春•原来你还在这里》正在热映,不知道又有多少女孩为程铮心醉着,为苏韵锦心疼着,为莫郁华感动着…… 电影的结局...
    木子一叶阅读 6,646评论 12 15

友情链接更多精彩内容