执行ceph命令出错了,安装包有问题
写在前面
松鼠哥的ceph专业课程上线啦!
面向新手同学,从0实战,全面入门ceph安装部署与运维,有需要的同学赶紧扫码订购吧:
开始之前,照例还是要打一波招聘广告,我们这边是天翼云科技的媒体存储组,目前我们仍在招聘存储研发、存储运维及相关组件开发的人才,有意向换工作的老铁可以试试,简历发一发,我们这边还是很不错的,千万不要错过
开始
现象就是执行ceph
命令出现段错误
1 | [twj@osd-node-008 ~]$ sudo ceph -s |
从执行的几次命令来看,应该是在很早的阶段产生的错误,因为后面没有带sudo也直接报错,就是说连keyring都没有读
一开始用什么gdb调试,发现什么也查不到,猛然想起/usr/bin/ceph
是个python文件 =.=
python就好办了,使用pdb调试就行,进入调试后,一直按n,直到报错
1 | [twj@osd-node-008 ~]$ python -m pdb /usr/bin/ceph -s |
看来是缺so,查一下是不是确实没有
1 | [twj@Rosd-node-008 ~]$ sudo find / -name libibverbs.so.1 |
确实没有,那在正常的机器上再看看
1 | [twj@mon-node-001 ~]$ sudo find / -name libibverbs.so.1 |
有了,看来确实是缺包导致的,查一下是哪个rpm的
1 | [twj@mon-node-001 ~]$ sudo yum provides libibverbs.so.1 |
那就是了,ceph命令因为缺少这个包提供的so文件,导致异常,其实这个包在创建集群之前安装阶段肯定是装上了的,因为不装上根本无法正常使用ceph命令,osd也不可能起来,所以,这个rpm包大概是后来被卸载的。
再到出故障的机器安装一下包,然后问题解决
总结
还是第一次见这种问题,/usr/bin/ceph
是一个python文件,调试起来其实还是很方便的。
- 本文作者: 奋斗的松鼠
- 本文链接: http://www.strugglesquirrel.com/2023/01/17/ceph命令Segmentation-fault/
- 版权声明: 本博客所有文章除特别声明外,创作版权均为作者个人所有,未经允许禁止转载!