2つのノードを使用する:
両方のサーバーにインストールされているHAツール:
yum install pacemaker pcs
(インストールcorosyncが含まれます)
両方のサーバーで:
passwd hacluster
クラスタに同じパスワードを設定します。
両方のサーバーで:
systemctl enable pcsd.service
systemctl start pcsd.service
クラスターノードの認証:
node1# pcs cluster auth 192.168.0.1 192.168.0.2
それらはすべて認証に成功しました。
Corosync構成の生成:
node1# pcs cluster setup --name mycluster 192.168.0.1 192.168.0.2
クラスターの起動:
node1# pcs cluster start --all
成功。
ステータスを確認:
pcs status corosync
Output
Membership information
----------------------
Nodeid Votes Name
2 1 192.168.0.2
1 1 192.168.0.1 (local)
クラスターの現在のステータスに関する詳細情報を取得します。
pcs cluster status
Output
Cluster Status:
...
Stack: corosync
...
2 nodes and 0 resources configured
Online: [ node1 node2 ]
PCSD Status:
node1 (192.168.0.1): Online
node2 (192.168.0.2): Online
両方のサーバーでcorosyncおよびpacemakerサービスを有効にします。
systemctl enable corosync.service
systemctl enable pacemaker.service
STONITHを無効にする
node1# pcs property set stonith-enabled=false
フロートIPを作成してpcsリソースに追加したら、フェイルオーバーをテストします。
Node1:
reboot
その後、問題が発生しました。再起動後、pcs cluster status
を再度実行すると、次のように表示されます。
Cluster Status:
Stack: corosync
Current DC: centos7lb1 (version 1.1.15-11.el7_3.5-e174ec8) - partition WITHOUT quorum
Last updated: Sun Jul 23 23:47:53 2017 Last change: Fri Jul 21 05:56:32 2017 by hacluster via crmd on node1
1 node and 0 resources configured
PCSD Status:
node1 (192.168.0.1): Online
*Unknown* (192.168.0.2): Online
Node1でpcs status
を実行します。
Cluster name: mycluster
WARNING: corosync and pacemaker node names do not match (IPs used in setup?)
Stack: corosync
Current DC: node1 (version 1.1.15-11.el7_3.5-e174ec8) - partition WITHOUT quorum
Last updated: Sun Jul 23 23:58:22 2017 Last change: Fri Jul 21 05:56:32 2017 by hacluster via crmd on node1
1 node and 0 resources configured
Online: [ node1 ]
No resources
Daemon Status:
corosync: active/disabled
pacemaker: active/disabled
pcsd: active/enabled
クラスター内にnode2
が見つかりません。同時に、node2のステータスを確認し、ノード(node2
)も1つだけ取得しました。 node1と同じですが、クラスター内に別のノードを見つけることができません。
ペースメーカー、corosync、pcsを削除して、もう一度やり直してみました。しかし、その後は次のようにします。
yum remove pacemaker pcs
次に、それらを認証します。
pcs cluster auth node1 node2
彼らにAlready authorized
を見せた。
この時点で、2つのノードを再びクラスタに正しく結合する方法を教えてください。それらを明確に削除したいのですが、どうすればよいですか?
その理由はファイアウォールでした。
Corosyncはポート5404と5405でUDPトランスポートを使用するため、次のように追加しました。
iptables -I INPUT -m state --state NEW -p udp -m multiport --dports 5404,5405 -j ACCEPT
iptables -I OUTPUT -m state --state NEW -p udp -m multiport --sports 5404,5405 -j ACCEPT
service iptables save
すべてのクラスターを停止/開始します。
pcs cluster stop --all
pcs cluster start --all
また実行しました:
service corosync restart
クラスターが機能します。すべてのノードが表示され、すべてがオンラインになっています。