muppy.io
  • ⛏️Qu'est ce que muppy.io ?
  • ⚒️Concepts Muppy
  • Quickstarts
    • ✏️Introduction
  • Guides
    • ⛏️Muppy Core
      • Hosts
        • Création et enrôlement d'un Host
          • ✏️Server Types
          • ✏️Configuration réseaux spécifiques
        • ⚒️Host's Users
        • ⚒️Host's Network information
        • ⚒️Host's Metrics
      • Tasks et Fact Collectors
        • ⚒️Exécution des Tasks (Task Runs)
          • ⚒️Exécution asynchrone des Tasks (Launch as Job)
        • ⚒️Synchronisation des Tasks et Scripts
        • ⚒️Liste des Scripts
        • ⚒️Liste des Tasks
        • ⚒️Création de Task "Shell Script"
        • ⚒️Liste des Fact Definitions
      • ⛏️Firewall UFW
        • Désactiver UFW globalement
        • ✏️Page 1
      • SSH Keys
        • Gestion des SSH Keys
        • Gestion des "authorized_keys"
        • Extraction Clef Privée d'un User User
      • ⚒️Systemd Service Units
        • ⚙️Liste des Systemd Units
        • ➕Création de Systemd Units
        • 📰Systemctl status et log
        • ✏️Edition des Systemd Units
    • 🐘PostgreSQL
      • PostgreSQL Base
        • Installation de PostgreSQL
        • Gestion des Clusters
          • Création
          • Configuration
          • Contrôle
          • Administration (basique)
        • Backup, Restore et Copy de Databases
          • Databases Backups (pg_dump)
          • PostgreSQL Backup
          • pg_dump Restore
          • Database Copy
          • pg_restore Callback Task
        • Backups Planifiés
        • Gestion rétention des Backups
      • PostgreSQL Replication
        • Créer un RCS
        • Visualiser un RCS
        • Suivre la Replication
        • Ajouter des Standbys
        • Restructurer un RCS
        • Intégration d'un RCS
        • Reconfigurer un RCS
      • PostgreSQL HA
        • Configuration
        • Activation et Désactivation
        • Monitoring
        • pglookout Heartbeat
      • PostgreSQL PITR
        • Configuration de WAL-G
        • Lancement des Clusters Backups
        • Liste des Clusters Backups (WAL-G)
        • Purge des fichiers de Backup PITR
        • Monitoring du PITR
        • Objets S3 stockés par WAL-G
        • Restauration PITR
      • PostgreSQL Tools
        • pgBadger - log analysis
    • Muppy Pack
      • ⛏️Packs
      • Concepts
      • ⛏️Muppy Cluster
        • Cluster Security
        • PostgreSQL Cluster Resources
      • ⛏️Reverse Proxy
    • ✏️Configuration
      • 👫Gestion des Users Muppy
      • 🏬S3 Buckets
      • 💬Notifications Teams
      • ✏️Notifications Slack
    • ⛏️Odizy
      • Odizy Workflow
        • Test Servers
      • Accéder à vos serveurs
      • Restaurer un backup sur le serveur de staging
      • Activer un serveur Standby
      • ⛏️Configuration LXC CI/CD
      • Activate and Launch remote Code-Server (VS Code from coder.com)
    • ⚒️Kubernetes
      • ⚒️Installer Tailscale
      • ⚒️Installer un cluster microk8s
      • ⚒️Installer PostgrSQL
      • ⚒️Installer les packages d'infrastructures
  • 📡Muppy Enterprise
    • Introduction
    • ⛏️Configuer une Instance Muppy Enterprise
    • 🌡️Monitoring Muppy Enterprise
  • ⛏️Work in progress
    • ⛏️Code Server
    • ⛏️Muppy Development Servers
      • Move Development Server
Powered by GitBook
On this page
  • Présentation de Muppy PostgreSQL HA
  • Mise en oeuvre
  1. Guides
  2. PostgreSQL

PostgreSQL HA

Muppy sait gérer la Haute Disponibilité / High Availability de vos RCS PostgreSQL

PreviousReconfigurer un RCSNextConfiguration

Last updated 3 years ago

Tandis que la PostgreSQL Replication permet de créer des Clusters Replica d'un Primary, PostgreSQL HA permet de surveiller les Clusters d'un RCS et de promouvoir automatiquement un nouveau Primary en cas de défaillance du Cluster Primary.

Muppy utilise pglookout () pour gérer la HA des RCS.

Présentation de Muppy PostgreSQL HA

Muppy installe un process pglookout (au minimum) sur chaque Cluster du RCS. Chaque process (ou Daemon) pglookout se connecte à intervalle régulier à tous les clusters du RCS et évalue celui dont le décalage en fait le meilleur candidat pour devenir le futur Primary. En cas de défaillance du Primary, à l'issue d'un délai paramétrable, pglookout déclenche la promotion du meilleur candidat en Primary. Tous les évènements liés à la HA sont journalisés dans Muppy.

Plus précisément PostgreSQL HA est implémenté via 3 fonctionnalités:

  • Collecter les statistiques de Replication

  • Evaluer ces statistiques pour déterminer le meilleur Primary

  • Réaliser automatiquement un Failover quand c'est nécessaire

    • Cette fonctionnalité peut être désactivée pendant les maintenances ou pour régler les paramètres de la HA.

Toutes ces fonctionnalités sont gérées depuis le formulaire des RCS Muppy.

L'interface de gestion de la HA est constitué de (cf. schéma):

  1. Les boutons Deactivate ou Activate High Availability qui permettent d'installer ou désinstaller la High Availability

  2. L'indicateur de statut de la High Availability (Active ou Inactive)

  3. Ouvre le journal des évènements de la High Availability

  4. Met à jour les statistiques de Réplication des Clusters à partir des daemons pglookout

  5. Contrôle du Failover automatique

  6. Contrôle de la surveillance des daemons pglookout par Muppy

  7. Lance une vérification de l'état des Daemons pglookout et actualise la liste des daemons pglookout avec le résultat

  8. La liste des daemons pglookout. Chaque ligne permet d'accéder au détail d'un daemon

  9. Les paramètres courants de la High Availability

  10. Les paramètres avancées de la High Availability

  11. Permet de lancer la reconfiguration de tous les daemons pglookout en cas de modification des paramètres de la High Availability.

N'hésitez pas à consulter l'aide contextuelle disponible sur les paramètres de la HA.

Mise en oeuvre

Les étapes de la mise en oeuvre de Muppy PostgreSQL HA sont:

  • Configuration

  • Activation

  • Monitoring

  • Désactivation

Enfin, Muppy implémente un mécanisme de la disponibilité des daemons pglookout et des Clusters nommé pglookout Heartbeat.

🐘
https://github.com/aiven/pglookout
Schéma de principe pglookout