使用drbd进行故障恢复时的起搏器错误

我的集群中有两个节点,drbd + pacemaker + corosync当第一个节点出现故障时,第二个节点假定服务正常,但是当我们必须执行故障回复(node1回到在线状态)时,它会显示一些错误,并且集群停止工作。

这是一个内核为2.6.32-504.12.2.el6.x86_64的CentOS 6集群和这些软件包:

kmod-drbd83-8.3.16-3,drbd83-utils-8.3.16-1,corosynclib-1.4.7-1,corosync-1.4.7-1,pacemaker-1.1.12-4,pacemaker-cluster-libs- 1.1.12-4,pacemaker-libs-1.1.12-4,pacemaker-cli-1.1.12-4。

Drbdconfiguration:

resource r0 { startup { wfc-timeout 30; outdated-wfc-timeout 20; degr-wfc-timeout 30; } net { cram-hmac-alg sha1; shared-secret sync_disk; max-buffers 512; sndbuf-size 0; } syncer { rate 100M; verify-alg sha1; } on XXX2 { device minor 1; disk /dev/sdb; address xx.xx.xx.xx:7789; meta-disk internal; } on XXX1 { device minor 1; disk /dev/sdb; address xx.xx.xx.xx:7789; meta-disk internal; } } 

Corosync:

 compatibility: whitetank totem { version: 2 secauth: on interface { member { memberaddr: xx.xx.xx.1 } member { memberaddr: xx.xx.xx.2 } ringnumber: 0 bindnetaddr: xx.xx.xx.1 mcastport: 5405 ttl: 1 } transport: udpu } logging { fileline: off to_logfile: yes to_syslog: yes debug: on logfile: /var/log/cluster/corosync.log debug: off timestamp: on logger_subsys { subsys: AMF debug: off } } 

起搏器:

 node XXX1 \ attributes standby=off node XXX2 \ attributes standby=off primitive drbd_res ocf:linbit:drbd \ params drbd_resource=r0 \ op monitor interval=29s role=Master \ op monitor interval=31s role=Slave primitive failover_ip IPaddr2 \ params ip=172.16.2.49 cidr_netmask=32 \ op monitor interval=30s nic=eth0 \ meta is-managed=true primitive fs_res Filesystem \ params device="/dev/drbd1" directory="/data" fstype=ext4 \ meta is-managed=true primitive res_exportfs_export1 exportfs \ params fsid=1 directory="/data/export" options="rw,async,insecure,no_subtree_check,no_root_squash,no_all_squash" clientspec="*" wait_for_leasetime_on_stop=false \ op monitor interval=40s \ op stop interval=0 timeout=120s \ op start interval=0 timeout=120s \ meta is-managed=true primitive res_exportfs_export2 exportfs \ params fsid=2 directory="/data/teste1" options="rw,async,insecure,no_subtree_check,no_root_squash,no_all_squash" clientspec="*" wait_for_leasetime_on_stop=false \ op monitor interval=40s \ op stop interval=0 timeout=120s \ op start interval=0 timeout=120s \ meta is-managed=true primitive res_exportfs_root exportfs \ params clientspec="*" options="rw,async,fsid=root,insecure,no_subtree_check,no_root_squash,no_all_squash" directory="/data" fsid=0 unlock_on_stop=false wait_for_leasetime_on_stop=false \ operations $id=res_exportfs_root-operations \ op monitor interval=30 start-delay=0 \ meta group rg_export fs_res res_exportfs_export1 res_exportfs_export2 failover_ip ms drbd_master_slave drbd_res \ meta master-max=1 master-node-max=1 clone-max=2 clone-node-max=1 notify=true clone cl_exportfs_root res_exportfs_root \ meta colocation c_nfs_on_root inf: rg_export cl_exportfs_root colocation fs_drbd_colo inf: rg_export drbd_master_slave:Master order fs_after_drbd Mandatory: drbd_master_slave:promote rg_export:start order o_root_before_nfs inf: cl_exportfs_root rg_export:start property cib-bootstrap-options: \ expected-quorum-votes=2 \ last-lrm-refresh=1427814473 \ stonith-enabled=false \ no-quorum-policy=ignore \ dc-version=1.1.11-97629de \ cluster-infrastructure="classic openais (with plugin)" 

错误:

 res_exportfs_export2_stop_0 on xx.xx.xx.1 'unknown error' (1): call=47, status=Timed Out, last-rc-change='Tue Mar 31 12:53:04 2015', queued=0ms, exec=20003ms res_exportfs_export2_stop_0 on xx.xx.xx.1 'unknown error' (1): call=47, status=Timed Out, last-rc-change='Tue Mar 31 12:53:04 2015', queued=0ms, exec=20003ms res_exportfs_export2_stop_0 on xx.xx.xxx.2 'unknown error' (1): call=52, status=Timed Out, last-rc-change='Tue Mar 31 12:53:04 2015', queued=0ms, exec=20001ms res_exportfs_export2_stop_0 on xx.xx.xx.2 'unknown error' (1): call=52, status=Timed Out, last-rc-change='Tue Mar 31 12:53:04 2015', queued=0ms, exec=20001ms 

还有其他的日志可以检查吗?

我检查了第二个节点/ dev / drbd1不会在故障恢复时卸载。 如果我重新启动NFS服务并应用规则,一切工作正常。

编辑:感谢Dok现在正在工作,我只需要调整时间到120s,并设置启动超时!

     res_exportfs_export2_stop_0 on xx.xx.xx.1 'unknown error' (1): call=47, status=Timed Out, last-rc-change='Tue Mar 31 12:53:04 2015', queued=0ms, exec=20003ms 

    显示您的res_exportfs2资源由于超时而无法停止。 它可能只是它需要更长的超时时间。 尝试为此资源configuration停止超时,如下所示:

     primitive res_exportfs_export2 exportfs \ params fsid=2 directory="/data/teste1" options="rw,async,insecure,no_subtree_check,no_root_squash,no_all_squash" clientspec="*" wait_for_leasetime_on_stop=true \ op monitor interval=30s \ op stop interval=0 timeout=60s 

    如果超时无助于在线索错误中显示的时间检查消息日志和/或corosync.log(2015年3月31日12:53:04)。