ceph安装之fsid问题分析"/>
ceph安装之fsid问题分析
问题描述:
ceph-node1节点是monitor节点,但是这个节点上没有osd,在写配置的时候按照配置文件案例和网上所谓的安装手册(坑死人),傻乎乎的按照这些文档写了让我看了三天的配置文件,配置文件
里面写上了fsid的配置,生成fsid的方法也是该死的sample.ceph.conf文件给的,按照我的配置在执行完所有部署操作之后进行健康检查的时候出现了如下的错误:
[root@ceph-node1 manage]# ceph -scluster a3fa7253-63c2-4e98-a13c-9f9376157561health HEALTH_WARN 768 pgs stuck inactive; 768 pgs stuck unclean; 4/4 in osds are downmonmap e1: 1 mons at {0=10.10.2.171:6789/0}, election epoch 2, quorum 0 0osdmap e14: 4 osds: 0 up, 4 inpgmap v15: 768 pgs, 3 pools, 0 bytes data, 0 objects0 kB used, 0 kB / 0 kB avail768 creating
问题分析与解决:
看到这个之后直接就懵了,我找了安装文档上面居然有解决方法,我就按照安装文档上写的,我执行了“ceph pg dump_stuck stale &&ceph pg dump_stuck inactive &&ceph pg dump_stuck unclean”命令, 但是健康检查的时候仍然出现了上面的错误,再执行一遍这个显示的都是creating,我就想了,他是不是要等一会儿才完成,等了又等还是不行,于是就开始下面的找错之旅:
(后来看,得到上面健康检查的结果的情况有很多种,下面一种一种错误进行排查)
①查看执行安装操作有没有什么不正常的问题
a.有没有创建的文件或者文件夹存在,但是后面就会自己创建好,这个问题不用理会,在配置阶段只要不出现error错误基本上都是没有问题的(在创建文件夹的事情上还要吐槽一下网上的安装文档, 千万不要在充当osd盘的目录下面创建任何文件或者文件夹,特别是journal文件夹)
b.看看启动阶段执行是否有问题,启动之后各个服务都启动起来了,但是就是不对(这我只把一部分矛头转向安装文档),在执行"/etc/init.d/ceph -a start"命令的时候出现了让人百思不得其解的错误,错误如下:df: "/mnt/osd0/." No such file or directorydf: no file systems processed分析上面的错误,第一行没看懂,这里讲的不是挂载点不存在,先放过,第二个讲的是该主机上没有这种文件系统的盘 怎么看都没问题呀,"/mnt/osd0/."分明存在,我创建的盘我又格式化了一次,还换成btrfs试了试,错误是一样的,于是就想了,应该是配置的错,可关于osd的配置很简单,错不了,于是就陷入了僵局。
后来联想到Hadoop的安装,恍然大悟,osd服务应该是在osd所在的节点上开的,这样使用“-a”粗暴的启动了所有要启动的节点应该是不对的,后来我在monitor上执行了"/etc/init.d/ceph start",然后 在osd几点上执行“/etc/init.d/ceph start osd.0”,执行期间没有任何异常(其实执行“/etc/init.d/ceph start osd”这个也行,提倡括号里的,简单)
②我的操作异常解决了,再执行健康检查还是出现同样的错误,于是我就想通过其他方式来找问题,健康检查的粗糙了,于是就在网上找:
深入理解:a.重新设置pg和gpg,但是还是不能解决,具体操作见网址“/?p=86”,这篇文章写得很仔细,不过解决不了我的问题,但是在有部分pg没启起来的时候可以参看。b.观察“ceph osd tree”命令和“ceph health detail”命令的结果可发现osd服务一直上down掉的,于是我就开始想着怎么把down变成up,先当作故障来解决,找啊找找到“”这个网址讨论的问题,我在配置文件中添加了如下内容osd auto discovery = falsejournal collocation = falseraw multi journal = true问题还是没解决,但是楼主的问题按照这样解决了,我就重新找问题的所在了,找啊找,终于发现了点儿东西我按照“sudo ceph-disk activate {data-path} [--activate-key {path}]”命令,照葫芦画瓢执行了个命令,执行效果如下[root@ceph-node4 ~]# ceph-disk activate /mnt/osd0/ceph-disk: Error: No cluster conf found in /etc/ceph with fsid c5bf8efd-2aea-4e32-85ca-983f1e5b18e7顿时明白了,一看这条fsid跟我配置文件里面的不一样,一查配置果真不一样,于是就明白了,删掉配置里的fsid配置瞬间柳暗花明要问这条语句来自哪里,当然是伟大的官方文档“/”
因为我上面把osd down掉当作故障处理,要想解决故障,最简单的就是启动pg,这个时候怎么改都不行,因为创建pg的时候是认fsid的,ceph-node4节点认的时自己的fsid,而配置里面写的是ceph-node1的
fsid,能对才怪
参考网址:
①/
②
③/
④/?p=86
⑤
⑥健康的ceph osd tree是下面的样子
[root@ceph-node1 ~]# ceph osd tree
# id weight type name up/down reweight
-1 4 root default
-3 4 rack unknownrack
-2 2 host ceph-node4
0 1 osd.0 up 1
1 1 osd.1 up 1
-4 2 host ceph-node5
2 1 osd.2 up 1
3 1 osd.3 up 1
要是出现非osd节点出现在这个tree里面,肯定是启动错误
更多推荐
ceph安装之fsid问题分析
发布评论