Comment configurer la surveillance du cluster de bases de données à haute disponibilité sous Linux

WBOY
Libérer: 2023-07-05 11:13:36
original
811 Les gens l'ont consulté

Comment configurer la surveillance d'un cluster de bases de données à haute disponibilité sous Linux

Introduction :
Dans les systèmes d'entreprise modernes, les bases de données sont un composant essentiel. Afin de garantir la haute disponibilité et le fonctionnement stable et continu de la base de données, la configuration de la surveillance du cluster de bases de données à haute disponibilité sous Linux est une étape nécessaire. Cet article explique comment configurer la surveillance d'un cluster de bases de données à haute disponibilité dans un environnement Linux et fournit des exemples de code pertinents.

1. Installez et configurez le cluster de base de données
Avant de configurer la surveillance du cluster de base de données, vous devez d'abord créer un cluster de base de données fiable. En prenant la base de données MySQL comme exemple, voici les étapes pour installer et configurer le cluster de base de données MySQL :

  1. Téléchargez et installez la base de données MySQL
    Exécutez la commande suivante sur chaque nœud à installer :

    $ sudo apt-get update
    $ sudo apt-get install mysql-server
    Copier après la connexion
  2. Configurez le Nœud maître de la base de données MySQL
    Ouvrez le fichier de configuration MySQL du nœud maître (généralement dans /etc/mysql/my.cnf) et effectuez la configuration suivante :

    [mysqld]
    server-id=1
    log-bin=mysql-bin
    binlog-format=ROW
    Copier après la connexion
    Copier après la connexion
  3. Configurez le nœud esclave de la base de données MySQL
    Ouvrez le fichier de configuration MySQL de le nœud esclave et effectuez la configuration suivante :

    [mysqld]
    server-id=2
    relay-log=mysql-relay-bin
    log-bin=mysql-bin
    binlog-format=ROW
    read-only=1
    Copier après la connexion
    Copier après la connexion
  4. Démarrez la base de données
    Exécutez la commande sur chaque nœud pour démarrer le serveur de base de données :

    $ sudo systemctl start mysql
    Copier après la connexion

2. Utilisez Keepalived pour obtenir une haute disponibilité
Keepalived est un outil open source qui peut être utilisé pour atteindre une haute disponibilité des services. Voici les étapes pour configurer la haute disponibilité du cluster de bases de données à l'aide de Keepalived :

  1. Installer Keepalived
    Exécutez la commande suivante sur chaque nœud à installer :

    $ sudo apt-get install keepalived
    Copier après la connexion
  2. Configurer Keepalived
    Ouvrez le fichier de configuration Keepalived (généralement dans /etc/ keepalived/ keepalived.conf) et effectuez la configuration suivante :

    vrrp_script check_mysql {
        script "/usr/bin/mysqladmin ping"
        interval 2
        weight -1
        fall 3
        rise 2
    }
    
    vrrp_instance VI_1 {
        interface eth0
        state BACKUP
        virtual_router_id 51
        priority 100
        advert_int 1
        authentication {
            auth_type PASS
            auth_pass strongpassword
        }
        virtual_ipaddress {
            192.168.1.100
        }
        track_script {
            check_mysql
        }
    }
    Copier après la connexion
  3. Démarrez Keepalived
    Exécutez la commande suivante sur chaque nœud pour démarrer le service Keepalived :

    $ sudo systemctl start keepalived
    Copier après la connexion

3. Utilisez Pacemaker et Corosync pour implémenter la surveillance du cluster
Pacemaker. est un outil de clustering, des outils de gestion et de basculement automatique, et Corosync est le logiciel utilisé pour implémenter la communication en cluster. Voici les étapes pour configurer la surveillance du cluster de bases de données à l'aide de Pacemaker et Corosync :

  1. Installer Pacemaker et Corosync
    Exécuter la commande suivante sur chaque nœud à installer :

    $ sudo apt-get install pacemaker corosync
    Copier après la connexion
  2. Configurer Corosync
    Ouvrez le fichier de configuration Corosync (généralement dans / etc /corosync/corosync.conf) et effectuez la configuration suivante :

    totem {
        version: 2
        secauth: on
        cluster_name: my_cluster
        transport: udpu
    }
    
    nodelist {
        node {
            ring0_addr: node1_ip
            name: node1
            nodeid: 1
        }
        node {
            ring0_addr: node2_ip
            name: node2
            nodeid: 2
        }
        /* Add more nodes as necessary */
    }
    
    quorum {
        provider: corosync_votequorum
    }
    Copier après la connexion
  3. Configure Pacemaker
    Exécutez la commande suivante sur chaque nœud pour configurer Pacemaker :

    $ sudo crm configure
    crm(live)> property no-quorum-policy=ignore
    crm(live)> rsc_defaults resource-stickiness=100
    crm(live)> rsc_defaults migration-threshold=1
    crm(live)> configure primitive mysql lsb:mysql op monitor interval=30s
    crm(live)> configure clone mysql-clone mysql meta clone-max=2 clone-node-max=1
    crm(live)> configure group mysql-group mysql-clone
    crm(live)> verify
    crm(live)> commit
    Copier après la connexion
    Copier après la connexion

Conclusion :
Avec la configuration ci-dessus, nous l'avons implémentée avec succès sous Linux Surveillance de cluster de bases de données hautement disponible. De cette manière, notre système de base de données peut continuer à fonctionner même en cas de panne de nœud, garantissant ainsi la stabilité et la disponibilité du système.

Exemple de code de référence :

  1. Exemple de fichier de configuration de nœud maître MySQL (/etc/mysql/my.cnf) :

    [mysqld]
    server-id=1
    log-bin=mysql-bin
    binlog-format=ROW
    Copier après la connexion
    Copier après la connexion
  2. Exemple de fichier de configuration de nœud esclave MySQL (/etc/mysql/my.cnf) :

    [mysqld]
    server-id=2
    relay-log=mysql-relay-bin
    log-bin=mysql-bin
    binlog-format=ROW
    read-only=1
    Copier après la connexion
    Copier après la connexion
  3. Exemple de fichier de configuration Keepalived (/etc/keepalived/keepalived.conf) :

    vrrp_script check_mysql {
    script "/usr/bin/mysqladmin ping"
    interval 2
    weight -1
    fall 3
    rise 2
    }
    
    vrrp_instance VI_1 {
    interface eth0
    state BACKUP
    virtual_router_id 51
    priority 100
    advert_int 1
    authentication {
        auth_type PASS
        auth_pass strongpassword
    }
    virtual_ipaddress {
        192.168.1.100
    }
    track_script {
        check_mysql
    }
    }
    Copier après la connexion
  4. Exemple de commande de configuration Pacemaker :

    $ sudo crm configure
    crm(live)> property no-quorum-policy=ignore
    crm(live)> rsc_defaults resource-stickiness=100
    crm(live)> rsc_defaults migration-threshold=1
    crm(live)> configure primitive mysql lsb:mysql op monitor interval=30s
    crm(live)> configure clone mysql-clone mysql meta clone-max=2 clone-node-max=1
    crm(live)> configure group mysql-group mysql-clone
    crm(live)> verify
    crm(live)> commit
    Copier après la connexion
    Copier après la connexion

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!