我的群集中有两个节点,带有drbd pacemaker corosync
当第一个节点发生故障时,第二个节点就会服务并且没关系,但是当我们必须进行故障恢复(node1重新联机)时,它会显示一些错误并且集群停止工作.解决方法@H_301_33@
当第一个节点发生故障时,第二个节点就会服务并且没关系,但是当我们必须进行故障恢复(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.
Drbd配置:
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,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,fsid=root,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,exec=20003ms res_exportfs_export2_stop_0 on xx.xx.xxx.2 'unknown error' (1): call=52,exec=20001ms res_exportfs_export2_stop_0 on xx.xx.xx.2 'unknown error' (1): call=52,exec=20001ms
还有其他我可以检查的日志吗?
我检查了第二个节点/ dev / drbd1在故障恢复时没有卸载.
如果我重新启动NFS服务并应用规则,一切正常.
编辑:感谢Dok现在正在工作,我只需要将时间调整为120秒并设置启动超时!
@H_403_31@解决方法@H_301_33@
res_exportfs_export2_stop_0 on xx.xx.xx.1 'unknown error' (1): call=47,exec=20003ms
显示您的res_exportfs2资源由于超时而无法停止.它可能只是需要更长的超时.尝试为此资源配置停止超时,如下所示:
primitive res_exportfs_export2 exportfs \
params fsid=2 directory="/data/teste1" options="rw,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).
@H_403_31@
@H_403_31@ 原文链接:https://www.f2er.com/linux/398655.html
res_exportfs_export2_stop_0 on xx.xx.xx.1 'unknown error' (1): call=47,exec=20003ms
显示您的res_exportfs2资源由于超时而无法停止.它可能只是需要更长的超时.尝试为此资源配置停止超时,如下所示:
primitive res_exportfs_export2 exportfs \ params fsid=2 directory="/data/teste1" options="rw,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).
@H_403_31@ @H_403_31@ 原文链接:https://www.f2er.com/linux/398655.html