endereço multicast use in corosync

3

Eu estou querendo saber sobre o propósito do endereço multicast no software de mensagens corosync:

Desde que nós temos que ligar cada interface de rede com um endereço IP e uma porta específica, e cada anel se comunica através desses IP,
eu não entendo porque temos que usar também um endereço multicast.

Alguém pode me esclarecer por favor?

Obrigado!

[EDITAR]

Ok, mas o corosync não inicia quando eu comento o endereço multicast:

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

Aqui está o meu arquivo de configuração, usei o guia Cluster do Scratch para configurar a solução e a maioria das configurações é padrão.

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
        }
}
    
por Kuruwan 25.04.2014 / 11:58

1 resposta

3

Você não precisa usar multicast no corosync.

Você pode usar unicast para realizar seu trabalho. Isso pode ser feito usando algo assim em /etc/corosync/corosync.conf para um cluster de dois membros:

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
        }
}
    
por 29.04.2014 / 12:58