Keyboard shortcuts

Press ← or → to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Actif/passif

Deux VM identiques sur le même réseau : l’active porte une IP flottante et rend le service, la passive tient une copie à jour et prend la main si l’active tombe. Le service revient en moins de 2 minutes ; les appels en cours sont perdus.

Ce qui est copié

  • La base, entière, en continu (réplication de PostgreSQL) : quelques secondes de retard au plus. Les enregistrements des téléphones en font partie : après une bascule, ils n’ont pas à se réenregistrer.
  • Les fichiers (messagerie, annonces, musiques, enregistrements) et le trousseau : chaque minute. Une bascule peut perdre la dernière minute de messages vocaux.
  • La configuration : copiée à l’appairage.

L’IP flottante est l’adresse du service : SIP, voix, portail, API et trunks. Le DNS, les téléphones et les fournisseurs ne voient qu’elle.

Mettre en place

Deux VM installées depuis l’image, chacune avec son adresse fixe, plus une adresse libre pour l’IP flottante. Entre elles : VRRP (protocole IP 112), PostgreSQL (5432) et SSH (22). En root :

# Active 192.0.2.11, passive 192.0.2.12, IP flottante 192.0.2.10.
centrex bascule cle            # sur la passive : affiche sa clé SSH publique
centrex bascule preparer --ip-flottante 192.0.2.10/24 --autre 192.0.2.12 \
    --cle-autre "ssh-ed25519 …"     # sur l'active
centrex bascule rejoindre --actif 192.0.2.11 --cle-actif "ssh-ed25519 …"   # sur la passive

preparer affiche la commande rejoindre complète. Options : --temoin (adresse que chaque VM doit joindre pour garder ou prendre l’IP ; par défaut la passerelle) et --routeur (identifiant VRRP, 51 par défaut, unique sur le réseau).

La réplication de PostgreSQL entre les deux VM n’est pas chiffrée : reliez-les par un réseau privé.

Bascule

  • L’active annonce sa présence chaque seconde ; après 3 secondes de silence, la passive prend l’IP.
  • Un contrôle de santé (PostgreSQL, FreeSWITCH, centrex) tourne sur l’active ; trois échecs de suite, et elle rend l’IP.
  • Une VM qui ne joint plus le témoin rend l’IP et s’arrête : une VM isolée ne se promeut jamais.
  • Une ancienne active qui revient reste passive : pas de retour automatique.

Exploiter

CommandePour
centrex bascule etatRôle de la VM, état des deux bases, témoin, services, retard de réplication, dernière copie des fichiers.
centrex bascule cederSur l’active : la passive prend la main (maintenance, mise à jour).
  • Journal : /var/log/centrex-bascule.log.
  • Mise à jour : la passive d’abord, puis ceder sur l’active, puis l’ancienne active (Mises à jour).
  • Supervision : sur l’active, centrex_bascule_passives_connectees (1 en régime établi) et centrex_replication_retard_secondes (Supervision).