corosync 多心跳网络配置

0.前言

    corosync作为HA方案中的心跳层,管理着集群间信息传递的方式和协议。一旦心跳网络断开,对于双节点容易发生脑裂问题。尽管在前面的文章中,我给出了解决方案。作为企业级的应用,在配置心跳网络还得考虑HA的方案。


1.网卡bond-mode

       多网卡bond模式,网上资料较多,可以参考http://support.huawei.com/ecommunity/bbs/10155553.html                                                     

推荐用bond4和bond6。

注:bond模式,大部分需要交换机的支持。

2.直连网络HA

     在主备结点间分别配置两个直连网络。例如A主机:eth0:192.168.2.105  eth1:192.168.2.106 B主机:eth0:192.168.2.115  eth1:192.168.2.116,eth0间,eth1间分别作为一直连网络。然后配置corosync.conf

2.1  配置方式1

   这种方式把四个网卡当做是4个结点的集群方式,corosync 会组合成多条心跳线,必然包含Aetho----Beth0 Aeth1---Beth1两条心跳线,这样自然达到了HA的目的。这种方式是我自己琢磨,后来去官网找到2.2的配置方式。

 

totem {
        version: 2
        secauth: off
        interface {
                member {
                        memberaddr: 192.168.2.105
                }
                member {
                        memberaddr: 192.168.2.115
                }
                member {
                        memberaddr: 192.168.2.106
                }
                member {
                        memberaddr: 192.168.2.116
                }
                ringnumber: 0
                bindnetaddr: 192.168.2.0
                mcastport: 5405
        }
        transport: udpu
}
logging {
        fileline: off
        to_stderr: no
        to_logfile: yes
        to_syslog: yes
        logfile: /var/log/cluster/corosync.log
        debug: off
        timestamp: on
        logger_subsys {
                subsys: AMF
                debug: off
        }
}

2.2 配置方式2

   这种方式比较标准,避免了同一主机间多网卡的心跳信息回流。注意ringnumber递增。这种方式实际是rrp (The Totem Redundant Ring Protocol)mode

totem {
        version: 2
        secauth: off
        rrp_mode:active
        interface {
                member {
                        memberaddr: 192.168.2.105
                }
                member {
                        memberaddr: 192.168.2.115
                }
                ringnumber: 0
                bindnetaddr: 192.168.2.0
                mcastport: 5405
        }
        interface {
                member {
                        memberaddr: 192.168.2.106
                }
                member {
                        memberaddr: 192.168.2.116
                }
                ringnumber: 1
                bindnetaddr: 192.168.2.0
                mcastport: 5415
        }
        transport: udpu
}
logging {
        fileline: off
        to_stderr: no
        to_logfile: yes
        to_syslog: yes
        logfile: /var/log/cluster/corosync.log
        debug: off
        timestamp: on
        logger_subsys {




你可能感兴趣的:(HA,corosync,心跳网络,rrp_mode)