4.3. オーバークラウドでのフェンシングのテスト
フェンシングが正しく機能することをテストするには、コントローラーノード上の全ポートを閉じ、サーバーを再起動してフェンシングをトリガーします。
重要
以下の手順では、コントローラーノードへの接続を意図的にすべて切断するので、ノードが再起動します。
前提条件
- フェンシングがオーバークラウドにデプロイされ、実行されている。フェンシングのデプロイ方法は、「オーバークラウドへのフェンシングのデプロイ」 を参照してください。
- 再起動にコントローラーノードを使用することができる。
手順
stackユーザーとしてコントローラーノードにログインし、source コマンドで認証情報ファイルを読み込みます。$ source stackrc $ openstack server list | grep controller $ ssh heat-admin@<controller-x_ip>
rootユーザーに切り替え、コントローラーノードへの接続をすべて閉じます。$ sudo -i iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT && iptables -A INPUT -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT && iptables -A INPUT -p tcp -m state --state NEW -m tcp --dport 5016 -j ACCEPT && iptables -A INPUT -p udp -m state --state NEW -m udp --dport 5016 -j ACCEPT && iptables -A INPUT ! -i lo -j REJECT --reject-with icmp-host-prohibited && iptables -A OUTPUT -p tcp --sport 22 -j ACCEPT && iptables -A OUTPUT -p tcp --sport 5016 -j ACCEPT && iptables -A OUTPUT -p udp --sport 5016 -j ACCEPT && iptables -A OUTPUT ! -o lo -j REJECT --reject-with icmp-host-prohibited
別のコントローラーノードから、Pacemaker のログファイルでフェンシングイベントの有無を確認します。
$ ssh heat-admin@<controller-x_ip> $ less /var/log/cluster/corosync.log (less): /fenc*
STONITH サービスがコントローラーでフェンシングアクションを実行していれば、ログファイルにフェンシングイベントが記録されます。
-
数分間待ってから
pcs statusコマンドを実行して、再起動したコントローラーノードがクラスター内で再度実行されていることを確認します。再起動したコントローラーノードが出力に表示される場合には、フェンシングが正しく機能しています。