前回は、Pacemaker にリソースを登録して、Apacheクラスタを構築しました。
今回は、Pacemaker の動作確認をします。
1.クラスタ状態の確認
"pcs status" で状態を見ようとしたところ、反応が鈍くて、下記表示で少し待ちます。
[root@pm01 ~]# pcs status Cluster name: cluster_test Last updated: Sun Nov 1 08:43:48 2015 Last change: Sun Nov 1 08:42:10 2015 by root via crm_resource on pm02 Stack: corosync Current DC: pm01 (version 1.1.13-a14efad) - partition with quorum 2 nodes and 5 resources configured Online: [ pm01 pm02 ] Full list of resources: Resource Group: WebGroup vipcheck_res (ocf::myres:VIPCheck): Started pm01 vip_res (ocf::heartbeat:IPaddr2): Started pm01 httpd_res (ocf::heartbeat:apache): Started pm01 Clone Set: ping-clone [ping] Started: [ pm01 pm02 ] PCSD Status: pm01: OnlineVIPのDNSの逆ひきで遅くなってたようなので、pm01とpm02の hosts にVIPを登録したら、反応が良くなりました。
10.1.0.70 pm00 10.1.0.71 pm01 10.1.0.72 pm02
なお、もう一つ、検証時に使える確認方法があります。
"crm_mon" コマンドを使用すると、クラスタの状態をリアルタイムで監視できます。
pm01 の仮想IPアドレスは以下のとおり。
[root@pm01 ~]# ip a 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 inet 127.0.0.1/8 scope host lo valid_lft forever preferred_lft forever inet6 ::1/128 scope host valid_lft forever preferred_lft forever 2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000 link/ether 4a:73:98:ab:45:82 brd ff:ff:ff:ff:ff:ff inet 10.1.0.71/32 brd 10.1.0.71 scope global eth0 valid_lft forever preferred_lft forever inet 10.1.0.70/24 scope global eth0 valid_lft forever preferred_lft forever inet6 fe80::4873:98ff:feab:4582/64 scope link valid_lft forever preferred_lft foreverApacheのプロセスは以下のとおり。
[root@pm01 ~]# ps -ef | grep httpd root 17503 1 0 09:56 ? 00:00:00 /sbin/httpd -DSTATUS -f /etc/httpd/conf/httpd.conf -c PidFile /var/run//httpd.pid apache 17506 17503 0 09:56 ? 00:00:00 /sbin/httpd -DSTATUS -f /etc/httpd/conf/httpd.conf -c PidFile /var/run//httpd.pid apache 17507 17503 0 09:56 ? 00:00:00 /sbin/httpd -DSTATUS -f /etc/httpd/conf/httpd.conf -c PidFile /var/run//httpd.pid apache 17509 17503 0 09:56 ? 00:00:00 /sbin/httpd -DSTATUS -f /etc/httpd/conf/httpd.conf -c PidFile /var/run//httpd.pid apache 17510 17503 0 09:56 ? 00:00:00 /sbin/httpd -DSTATUS -f /etc/httpd/conf/httpd.conf -c PidFile /var/run//httpd.pid apache 17512 17503 0 09:56 ? 00:00:00 /sbin/httpd -DSTATUS -f /etc/httpd/conf/httpd.conf -c PidFile /var/run//httpd.pid root 17935 2102 0 09:57 pts/0 00:00:00 grep --color=auto httpd
2.ApacheプロセスKILLによるF/Oの確認
Apache のプロセスを KILL してF/Oするかどうか確認します。
以下のようにして pm01 で httpd をKILLします。
[root@pm01 ~]# pkill httpdしばらく待つと、以下のように pm02 にフェイルオーバしました。
[root@pm01 ~]# pcs status Cluster name: cluster_test Last updated: Sun Nov 1 09:53:00 2015 Last change: Sun Nov 1 09:45:44 2015 by root via crm_attribute on pm01 Stack: corosync Current DC: pm01 (version 1.1.13-a14efad) - partition with quorum 2 nodes and 5 resources configured Online: [ pm01 pm02 ] Full list of resources: Resource Group: WebGroup vipcheck_res (ocf::myres:VIPCheck): Started pm02 vip_res (ocf::heartbeat:IPaddr2): Started pm02 httpd_res (ocf::heartbeat:apache): Started pm02 Clone Set: ping-clone [ping] Started: [ pm01 pm02 ] Failed Actions: * httpd_res_monitor_10000 on pm01 'not running' (7): call=139, status=complete, exitreason='none', last-rc-change='Sun Nov 1 09:51:23 2015', queued=0ms, exec=0ms PCSD Status: pm01: Online pm02: Online Daemon Status: corosync: active/disabled pacemaker: active/disabled pcsd: active/enabled
リソース再起動の回数を変えて、もう一度試してみます。
まず、エラーをクリアします。
[root@pm01 ~]# pcs resource cleanup httpd_res Resource: httpd_res successfully cleaned up
pm02 を OFFLINE にして、リソースの移動を確認した後、ONLINEにもどします。
[root@pm01 ~]# rpcs cluster standby pm02
[root@pm01 ~]# pcs status
[root@pm01 ~]# pcs cluster unstandby pm02リソースの再起動回数を "2" にします。
[root@pm01 ~]# pcs resource defaults resource-stickiness=INFINITY migration-threshold=2これで、再テストできるようになったので、また、httpd を KILL します。
今度は、pm01 で httpd が再起動されました。
[root@pm01 ~]# pkill httpd [root@pm01 ~]# pcs status Cluster name: cluster_test Last updated: Sun Nov 1 10:25:16 2015 Last change: Sun Nov 1 10:24:51 2015 by root via crm_attribute on pm01 Stack: corosync Current DC: pm01 (version 1.1.13-a14efad) - partition with quorum 2 nodes and 5 resources configured Online: [ pm01 pm02 ] Full list of resources: Resource Group: WebGroup vipcheck_res (ocf::myres:VIPCheck): Started pm01 vip_res (ocf::heartbeat:IPaddr2): Started pm01 httpd_res (ocf::heartbeat:apache): Started pm01 Clone Set: ping-clone [ping] Started: [ pm01 pm02 ] Failed Actions: * httpd_res_monitor_10000 on pm01 'not running' (7): call=271, status=complete, exitreason='none', last-rc-change='Sun Nov 1 10:25:12 2015', queued=0ms, exec=0ms PCSD Status: pm01: Online pm02: Online Daemon Status: corosync: active/disabled pacemaker: active/disabled pcsd: active/enabled
この状態で、また、httpd をKILL すると、こんどは、pm02 にF/Oしました。
[root@pm01 ~]# pkill httpd [root@pm01 ~]# pcs status Cluster name: cluster_test Last updated: Sun Nov 1 10:26:11 2015 Last change: Sun Nov 1 10:24:51 2015 by root via crm_attribute on pm01 Stack: corosync Current DC: pm01 (version 1.1.13-a14efad) - partition with quorum 2 nodes and 5 resources configured Online: [ pm01 pm02 ] Full list of resources: Resource Group: WebGroup vipcheck_res (ocf::myres:VIPCheck): Started pm02 vip_res (ocf::heartbeat:IPaddr2): Started pm02 httpd_res (ocf::heartbeat:apache): Started pm02 Clone Set: ping-clone [ping] Started: [ pm01 pm02 ] Failed Actions: * httpd_res_monitor_10000 on pm01 'not running' (7): call=275, status=complete, exitreason='none', last-rc-change='Sun Nov 1 10:25:53 2015', queued=0ms, exec=0ms PCSD Status: pm01: Online pm02: Online Daemon Status: corosync: active/disabled pacemaker: active/disabled pcsd: active/enabled
3.ネットワーク障害によるF/Oの確認
デフォルトGWへの疎通障害でF/Oするかどうか確認します。
pm01で以下のようにして、デフォルトGWへの ping が失敗するようにします。
[root@pm01 ~]# iptables -I INPUT -p icmp -j DROP -s 10.1.0.254しばらくすると、以下のように pm02 にF/Oします。
[root@pm01 ~]# pcs status Cluster name: cluster_test Last updated: Sun Nov 1 10:34:39 2015 Last change: Sun Nov 1 10:31:09 2015 by root via crm_attribute on pm01 Stack: corosync Current DC: pm01 (version 1.1.13-a14efad) - partition with quorum 2 nodes and 5 resources configured Online: [ pm01 pm02 ] Full list of resources: Resource Group: WebGroup vipcheck_res (ocf::myres:VIPCheck): Started pm02 vip_res (ocf::heartbeat:IPaddr2): Started pm02 httpd_res (ocf::heartbeat:apache): Started pm02 Clone Set: ping-clone [ping] Started: [ pm01 pm02 ] PCSD Status: pm01: Online pm02: Online Daemon Status: corosync: active/disabled pacemaker: active/disabled pcsd: active/enabled