频道栏目
首页 > 资讯 > 云计算 > 正文

Ceph,healthHEALTH_ERR错误

18-06-23        来源:[db:作者]  
收藏   我要投稿

本来头一天晚上还是正常的ceph存储集群,经历了一个不明真相的夜晚之后启动机器发现集群的健康检查状态已经是HEALTH_ERR了:

[root@node1 ~]# ceph -s
    cluster 056c396d-639c-4312-9ea0-794c92e57329
     health HEALTH_ERR
            38 pgs are stuck inactive for more than 300 seconds
            64 pgs degraded
            38 pgs stuck inactive
            26 pgs stuck unclean
            64 pgs undersized
     monmap e1: 3 mons at {node1=192.168.4.1:6789/0,node2=192.168.4.2:6789/0,node3=192.168.4.3:6789/0}
            election epoch 16, quorum 0,1,2 node1,node2,node3
     osdmap e53: 6 osds: 2 up, 2 in; 64 remapped pgs
            flags sortbitwise
      pgmap v122: 64 pgs, 1 pools, 0 bytes data, 0 objects
            69636 kB used, 20389 MB / 20457 MB avail
                  38 undersized+degraded+peered
                  26 active+undersized+degraded

于是查看了集群内的机器中被使用于集群中的硬盘的所有者和所属组:

[root@node1 ~]# for host in node{1..3}; do ssh $host ls -ld /dev/vdb?; done
brw-rw----. 1 root disk 252, 17 6月  21 08:47 /dev/vdb1
brw-rw----. 1 root disk 252, 18 6月  21 08:47 /dev/vdb2
brw-rw----. 1 root disk 252, 17 6月  21 08:47 /dev/vdb1
brw-rw----. 1 root disk 252, 18 6月  21 08:47 /dev/vdb2
brw-rw----. 1 root disk 252, 17 6月  21 09:23 /dev/vdb1
brw-rw----. 1 root disk 252, 18 6月  21 09:23 /dev/vdb2

果然,是硬盘的所有者和所属组出了问题,虽然设置了所有者和所属组,但是在机器重启之后会变回原来的所有者和所属组。

先用命令修改一下集群的所有硬盘:

[root@node1 ~]# for host in node{1..3}; do ssh $host chown ceph.ceph /dev/vdb?; done
[root@node1 ~]# for host in node{1..3}; do ssh $host ls -ld /dev/vdb?; done
brw-rw----. 1 ceph ceph 252, 17 6月  21 08:47 /dev/vdb1
brw-rw----. 1 ceph ceph 252, 18 6月  21 08:47 /dev/vdb2
brw-rw----. 1 ceph ceph 252, 17 6月  21 08:47 /dev/vdb1
brw-rw----. 1 ceph ceph 252, 18 6月  21 08:47 /dev/vdb2
brw-rw----. 1 ceph ceph 252, 17 6月  21 09:23 /dev/vdb1
brw-rw----. 1 ceph ceph 252, 18 6月  21 09:23 /dev/vdb2

添加配置文件,让硬盘的所有者和所属组在机器重启后不会恢复成默认:

[root@node1 ~]# vim /etc/udev/rules.d/90-mydisk.rules
ACTION=="add", KERNEL=="vdb[12]", OWNER="ceph", GROUP="ceph"
[root@node2~]# vim /etc/udev/rules.d/90-mydisk.rules
ACTION=="add", KERNEL=="vdb[12]", OWNER="ceph", GROUP="ceph"
[root@node3~]# vim /etc/udev/rules.d/90-mydisk.rules
ACTION=="add", KERNEL=="vdb[12]", OWNER="ceph", GROUP="ceph"

重启ceph:

[root@node1 ~]# for host in node{1..3}; do ssh  $host  systemctl restart ceph\*.service  ceph\*.target ; done

再查看健康检查:

[root@node1 ~]# ceph -s
    cluster 056c396d-639c-4312-9ea0-794c92e57329
     health HEALTH_OK
     monmap e1: 3 mons at {node1=192.168.4.1:6789/0,node2=192.168.4.2:6789/0,node3=192.168.4.3:6789/0}
            election epoch 22, quorum 0,1,2 node1,node2,node3
     osdmap e61: 6 osds: 6 up, 6 in
            flags sortbitwise
      pgmap v137: 64 pgs, 1 pools, 0 bytes data, 0 objects
            205 MB used, 61168 MB / 61373 MB avail
                  64 active+clean

问题解决。

相关TAG标签
上一篇:Linux系统下虚拟机的封装教程
下一篇:jetty的控制台打印信息改为输出到文件 以及启动debug模式供远程调试
相关文章
图文推荐

关于我们 | 联系我们 | 广告服务 | 投资合作 | 版权申明 | 在线帮助 | 网站地图 | 作品发布 | Vip技术培训 | 举报中心

版权所有: 红黑联盟--致力于做实用的IT技术学习网站