今天作iptables策略,重启集群中的一台机器后,输入ceph -s发现以下情况: java
[root@deploynode ~]# ceph -s 2015-09-10 13:50:57.688516 7f6a6b8cc700 0 monclient(hunting): authenticate timed out after 300 2015-09-10 13:50:57.688553 7f6a6b8cc700 0 librados: client.admin authentication error (110) Connection timed out Error connecting to cluster: TimedOut
以前集群运做良好,后来因为添加了iptables相关策略,就没法经过ceph client链接至集群并获取
集群状态。第一反应是相关IP或者端口号是否是被策略禁掉,致使数据包没法正常到达相关进程。经过命令netstat -ntpl 没有发现ceph-mon进程对于的端口号。 node
在策略脚本中添加以下内容: shell
#添加容许访问的IP地址 allowip=(58.220.*.*) #开放ceph mon端口号6789 $IPT -A INPUT -p tcp --dport 6789 -j ACCEPT
从新执行后执行命令netstat -ntpl tcp
执行ceph-s命令后 spa
-------------------------------------New Added----------------------------------------------------- code
后来OSD节点也出了问题,症状体如今osd节点的状态处于up / down 不停变化,到最后只有一个节点up。
可是检查各主机后发现各osd.$i节点都在运行当中,后一样担忧是osd进程通讯端口被策略影响。后在添加以下
内容: 进程
$IPT -A INPUT -p tcp -m multiport --dports 6800:6820 -j ACCEPT在每一个节点上,开放6800-6820的端口,这些端口是给osd进程使用的,后经过ceph osd tree检查osd状态。 俱OK。