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 :
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
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
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
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
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 :
Installer Keepalived
Exécutez la commande suivante sur chaque nœud à installer :
$ sudo apt-get install keepalived
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 } }
Démarrez Keepalived
Exécutez la commande suivante sur chaque nœud pour démarrer le service Keepalived :
$ sudo systemctl start keepalived
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 :
Installer Pacemaker et Corosync
Exécuter la commande suivante sur chaque nœud à installer :
$ sudo apt-get install pacemaker corosync
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 }
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
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 :
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
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
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 } }
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
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!