ext4 – 使用drbd进行故障恢复时的Pacemaker错误

我的群集中有两个节点,带有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.

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秒并设置启动超时!

解决方法

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).

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


查找全部容器的日志文件 $ sudo find /var/lib/docker/containers -name *.log 查看日志位置 $ docker inspect --format='{{.LogPath}}' <container_name> 实时查询内容 $
Linux日志文件中列属性的详细解析
在Linux系统中没有duf命令,如何有效地管理磁盘空间?
深入探讨EncryptPad在Linux操作系统中的功能和优势
原理和应用场景:Linux中ttyload工具的工作原理和实际用途
深度解析SELinux的三种策略类型
评估Linux系统性能的ttyload工具使用效果
分享在Linux系统中检测SSH版本的方法
介绍Linux平台上的数据加密工具EncryptPad
在Linux系统中,如何查看和诊断块设备信息?
在Linux环境下如何查看块设备信息?
探索Linux操作系统下的数据加密工具EncryptPad
学会在Linux系统中查看硬盘信息
分析SELinux:原理与实践
掌握SELinux策略类别
技巧:有效解读和管理Linux日志文件
查看Linux系统中的所有用户
了解Linux系统中各种不同类型的日志文件
深入理解Linux PS命令
方法:在Linux操作系统中查看用户