3 votes

corosync se lie à 127.0.0.1 au lieu de l'interface correcte

Je rencontre le problème suivant lorsque j'essaie de mettre en place un cluster de basculement à deux nœuds, en utilisant Hetzner comme fournisseur d'hébergement.

mon corosync.conf est le suivant :

# Please read the corosync.conf.5 manual page
compatibility: whitetank

totem {
version: 2
secauth: off
interface {
    member {
        memberaddr: 144.76.91.XXX
    }
    member {
        memberaddr: 5.9.121.XXX
    }
    ringnumber: 0
    bindnetaddr: 5.9.121.0
    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
}
}

` le problème est que 5.9.121.XXX se lie correctement (et apparaît sous crm_mon comme faisant partie du cluster)

udp 0 0 5.9.121.XXX:5405 0.0.0.0:* 8281/corosync

mais 144.76.91.XXX échoue et se lie à localhost à la place.

udp 0 0 127.0.0.1:5405 0.0.0.0:* 7889/corosync

L'analyse des journaux tcpdump indique que 144.76.91.XXX répond à 5.9.121.XXX avec un ICMP de type 3 (destination inaccessible), code 3 (port inaccessible).

La sortie corosync -f s'imprimera de manière répétée :

Jun 24 12:53:28 corosync [TOTEM ] Totem n'est pas en mesure de former un cluster en raison d'une erreur du système d'exploitation ou du réseau. La cause la plus fréquente de ce message est que le pare-feu local est mal configuré.

Le trafic UDP est autorisé entre les deux hôtes, aucun pare-feu n'est actuellement en place et j'utilise Debian (donc pas de SELinux).

Des idées pour contourner ce problème ? Je ne sais pas si je peux créer un cluster avec 2 machines sur des sous-réseaux différents ou si je dois commander des serveurs dans le même sous-réseau. Merci d'avance pour toute réponse.

2voto

thanasisk Points 921

Extrait de la liste de diffusion (qui a résolu mon problème), avec l'aimable autorisation de Dan Friscu :

"Vous n'êtes pas censé utiliser le même bindnetaddr aux deux endroits, il n'est pertinent qu'au niveau du nœud pour UDPU (votre cas d'utilisation). Sur le nœud où vous avez l'adresse 144.*, utilisez-la comme bindnetaddr."

J'espère que cela sera utile à quelqu'un.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X