今天作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。