Ceph
yiyeguzhou100
专注,探索,分享
展开
-
读取bluestore数据crc检验失败,排除内核态出问题的方法
在ceph存储测试中,发现用户态通过aio读取到的bluestore数据crc检验失败,业务怀疑是内核态返回给用户的数据有问题,可在块设备的bio完成回调函数中直接读取bio对应page的数据,与用户态读取的数据比较,排除内核态的问题。上述代码中,设计proc接口aio_dev用来过滤特定块设备的数据;上述代码中,用到用户态读写操作的buffer,在io_submit_one函数中记录:首先需要在kiocb结构中,添加buf变量,...原创 2020-06-10 23:13:57 · 640 阅读 · 0 评论 -
ceph集群销毁卡住问题分析
ceph集群销毁时,对ceph文件系统进行了umount,然后调用sgdisk -o清除分区信息,由于umount没有成功,导致sgdisk线程被卡住,原因是:下图umount线程3384374调用的deactivate_super函数占用了读写锁的写锁:down_write(&s->s_umount);而线程3544214调用的iterate_super函数将要申请读写锁的读锁...原创 2020-01-06 23:15:30 · 1113 阅读 · 0 评论 -
使用perf 分析ceph CPU usage High
前言今天早晨QA来报,我们自己的集群环境里,124~128集群里面,128节点ceph-osd cpu load重,CPU使用率是200%~400% 之间。我用strace 粗略地看了下,没看出什么端倪。只能上perf了。排查perf top首先用perf top查看下:CPU消耗大户是ceph-osd,其中用户态的operator«操作罪魁祸首,其中operato...转载 2019-10-30 22:32:51 · 1165 阅读 · 0 评论 -
Kernel bypass技术及其在Ceph中的应用介绍
Ceph是当前最流行的开源分布式统一存储,在一套基础架构中同时支持块存储、对象存储和文件存储,支持PB级别的扩展能力,广泛用于云环境中;Ceph来源于Sage Weil博士一项关于存储系统的PhD研究项目,最初被设计为一个分布式文件系统,整体架构基于低速设备而构建,提供毫秒(ms)级别的IO延迟。 从1956年第一块机械硬盘(HDD)诞生至今,存储介质的容量和性能都取得了长足的发展,特别...转载 2019-10-13 20:23:31 · 710 阅读 · 0 评论 -
记一次Ceph OSD处理包时延产生原因
Ceph集群中节点A向节点B的OSD发tcp包,发现B节点的OSD处理该包的时间与该包中携带的A节点发送该包的时间差大于10ms,经过查看业务代码,发现OSD使用epoll_wait有问题,在每次调用epoll_wait获取tcp包处理完毕后,会串行处理其他的事件,某些情况下,由于其他事件处理耗时较多,导致下一次调用epoll_wait的时候增加了一定时延,这个时延就导致了OSD处理包的时延。...原创 2019-08-04 00:03:22 · 1086 阅读 · 0 评论 -
when OSD full, 我们该怎么做
前言随着时间的流逝,ceph集群中的数据越来越多,OSD的使用率会越来也高。我在维护客户集群时遇到过一些危急的case。比如集群中某个OSD写满了。 如何处理这种情况。分析mon会监控ceph集群中OSD空间使用情况,首先时有两个参数 "mon_osd_full_ratio": "0.95", "mon_osd_nearfull_ratio": "0.85",默认情况...转载 2019-09-08 22:31:59 · 1077 阅读 · 1 评论