3

I'm wondering about the purpose of the multicast address in the corosync messaging software :

Since we have to bind each net interface with an IP address and a specific port, and each ring communicate through those IP,
I don't understand why we have to use also a multicast address.

Someone can enlighten me please ?

Thank you !

[EDIT]

Ok, but corosync fail to start when I comment the multicast address :

[MAIN  ] parse error in config: No multicast address specified

Here is my config file, I used the guide Cluster from Scratch to configure the solution and most of settings are defaults ..

totem {
    version: 2
    token: 3000
    token_retransmits_before_loss_const: 10
    join: 60
    consensus: 3600
    vsftype: none
    max_messages: 20
    clear_node_high_bit: yes
    secauth: off
    threads: 0
    rrp_mode: passive

    interface {
            ringnumber: 0
            bindnetaddr: 10.55.54.1
            mcastaddr: 226.97.1.2
            mcastport: 5409
    }

    interface {
            ringnumber: 1
            bindnetaddr: 192.168.40.140
            mcastaddr: 226.96.1.1
            mcastport: 5408
    }
}

amf {
        mode: disabled
}

service {
        # Load the Pacemaker Cluster Resource Manager
        ver:       0
        name:      pacemaker
}

aisexec {
        user:   root
        group:  root
}

logging {
        fileline: off
        to_stderr: no
        to_logfile: yes
        to_syslog: yes
        syslog_facility: daemon
        debug: off
        timestamp: on
        logger_subsys {
                subsys: AMF
                debug: off
                tags: enter|leave|trace1|trace2|trace3|trace4|trace6
        }
}
Kuruwan
  • 91
  • 2
  • 2
  • 8

1 Answers1

3

You don't have to use multicast on corosync.

You may use unicast to do your job. This can be done by using something like this in /etc/corosync/corosync.conf for a two-member cluster:

compatibility: whitetank
totem {
        version: 2
        secauth: off
        interface {
                member {
                        memberaddr: 10.23.55.201
                }
                member {
                        memberaddr: 10.23.55.202
                }
                ringnumber: 0
                bindnetaddr: 10.23.55.0
                mcastport: 5405
        }
        transport: udpu
}
service {
        # Load the Pacemaker Cluster Resource Manager
        ver:            0
        name:           pacemaker
        use_mgmtd:      yes
        use_logd:       yes
}
logging {
        fileline: off
        to_logfile: yes
        to_syslog: yes
        debug: off
        logfile: /var/log/cluster/corosync.log
        debug: off
        timestamp: on
        logger_subsys {
                subsys: AMF
                debug: off
        }
}
trikelef
  • 488
  • 1
  • 7
  • 26