Drbdcorosyncクラスターの問題に直面しています。
プライマリである1つのノードでは、すべてのリソース(mysql services、drbd)が正常に機能しています。しかし、2番目のノードは常にプライマリになろうとしています。
以下に示すように、2番目のノードのエラーログ:
lrmd: [25272]: info: RA output: (mysql-drbd:0:promote:stderr) 0: State change failed: (-1) Multiple primaries not allowed by config
Oct 1 16:39:39 node2 lrmd: [25272]: info: RA output: (mysql-drbd:0:promote:stderr) 0: State change failed: (-1) Multiple primaries not allowed by config
Oct 1 16:39:39 node2 lrmd: [25272]: info: RA output: (mysql-drbd:0:promote:stderr) Command 'drbdsetup 0 primary' terminated with exit code 11
Oct 1 16:39:39 node2 drbd[25416]: ERROR: mysql-disk: Called drbdadm -c /etc/drbd.conf primary mysql-disk
Oct 1 16:39:39 node2 drbd[25416]: ERROR: mysql-disk: Called drbdadm -c /etc/drbd.conf primary mysql-disk
Oct 1 16:39:39 node2 drbd[25416]: ERROR: mysql-disk: Exit code 11
Oct 1 16:39:39 node2 drbd[25416]: ERROR: mysql-disk: Exit code 11
Oct 1 16:39:39 node2 drbd[25416]: ERROR: mysql-disk: Command output:
Oct 1 16:39:39 node2 drbd[25416]: ERROR: mysql-disk: Command output:
corosyncマスター/スレーブのステータスは完全ではありません。以下のcorosyncステータスを参照してください。
Node1
[root@node1 ~]# crm status
============
Last updated: Thu Oct 2 09:01:30 2014
Stack: openais
Current DC: node1 - partition WITHOUT quorum
Version: 1.0.10-da7075976b5ff0bee71074385f8fd02f296ec8a3
2 Nodes configured, 2 expected votes 4 Resources configured.
============
Online: [ node1 ]
OFFLINE: [ node2 ]
mysql-vip (ocf::heartbeat:IPaddr2): Started node1
Master/Slave Set: mysql-drbd-ms
Masters: [ node1 ]
Stopped: [ mysql-drbd:1 ]
mysql-fs (ocf::heartbeat:Filesystem): Started node1
mysql-server (ocf::heartbeat:mysql): Started node1
You have new mail in /var/spool/mail/root
Node2
[root@node2 ~]# crm status
============
Last updated: Thu Oct 2 09:03:04 2014
Stack: openais
Current DC: node2 - partition WITHOUT quorum
Version: 1.0.10-da7075976b5ff0bee71074385f8fd02f296ec8a3
2 Nodes configured, 2 expected votes 4 Resources configured.
============
Online: [ node2 ]
OFFLINE: [ node1 ]
Master/Slave Set: mysql-drbd-ms
mysql-drbd:0 (ocf::linbit:drbd): Slave node2 (unmanaged) FAILED
Stopped: [ mysql-drbd:1 ]
Failed actions:
mysql-drbd:0_promote_0 (node=node2, call=7, rc=-2, status=Timed Out): unknown exec error
mysql-drbd:0_stop_0 (node=node2, call=13, rc=6, status=complete): not configured
DRBDステータスは両方のノードで正常に表示されています
Node1(プライマリ):
[root@node1 ~]# service drbd status
drbd driver loaded OK; device status:
version: 8.3.8 (api:88/proto:86-94)
GIT-hash: d78846e52224fd00562f7c225bcc25b2d422321d build by
[email protected], 2010-06-04 08:04:09
m:res cs ro ds p mounted fstype
0:mysql-disk Connected Primary/Secondary UpToDate/UpToDate C
ノード2(セカンダリ):
[root@node2 ~]# service drbd status
drbd driver loaded OK; device status:
version: 8.3.8 (api:88/proto:86-94)
GIT-hash: d78846e52224fd00562f7c225bcc25b2d422321d build by
[email protected], 2010-06-04 08:04:09
m:res cs ro ds p mounted fstype
0:mysql-disk Connected Secondary/Primary UpToDate/UpToDate C
これが発生するのは、クラスターフェンシングが構成されていないため(stonith)、クラスターがスプリットブレインになっているためです。
Now you have a cluster with two DC and every node are trying to start the resource
各ノードのcorosyncが相互に通信できないようです。そのため、すべてのノードがそのノードをオンラインとしてマークしています。
マルチキャストオプションの代わりにユニキャストを試してみることをお勧めします。
メンバー{
memberaddr: <node1 IP> } member { memberaddr: <node2 IP> } ringnumber: 0 bindnetaddr: <Network address of your nodes> mcastport: 5405 }
輸送:udpu
と言う行にコメントしてください
mcastaddr
ポート5404と5405がIptableファイアウォールを通過できるようにし、両方のノードでcorosyncを開始します。
ありがとう。