GNU/Linux >> Tutoriels Linux >  >> Linux

Comment multi-maître MySQL avec Percona et Keepalived

Présentation

Dans cet article pratique, nous vous expliquerons les procédures d'installation et de maintenance d'une solution de cluster MySQL multi-maître sur un seul site avec des services d'équilibrage de charge. Nous utiliserons Percona XtraDB Cluster Server comme plate-forme de base de données MySQL de base, car il dispose de tous les composants nécessaires et d'une prise en charge intégrée d'une solution open source active/active à haute disponibilité et haute évolutivité pour le clustering MySQL. Il intègre Percona Server et Percona XtraBackup avec la bibliothèque Galera de solutions haute disponibilité MySQL dans un seul package, ce qui vous permet de créer un cluster haute disponibilité MySQL rentable. Nous utiliserons Keepalived pour gérer l'équilibrage de charge.

Percona fournit des référentiels yum et apt pour Red Hat/CentOS et Ubuntu/Debian. Ces référentiels incluent Percona Server, Percona XtraDB, Percona XtraBackup et Percona Toolkit.

Keepalived est un logiciel de routage open source qui offre un équilibrage de charge via LVS (Linux Virtual Server) et une haute disponibilité via VRRP (Virtual Router Redundancy Protocol).

Prérequis

Avant de commencer, nous devons d'abord mettre en place les éléments suivants.

  • Trois serveurs CentOS 6.x, tous sur le même réseau local (LAN). (Deux nœuds MySQL et un nœud d'équilibrage de charge.)
  • Les serveurs MySQL doivent disposer d'au moins 2 Go de RAM pour activer les services de synchronisation.
  • Trois mots de passe uniques et sécurisés pour les utilisateurs MySQL suivants :
    • Utilisateur root MySQL
    • Utilisateur de synchronisation des services SST (State Snapshot Transfer) ("sst-sync-user")
    • Utilisateur Keepalived ("keepalived")
  • Configuration sécurisée du pare-feu CentOS 6.x (Cet élément est une recommandation de bonne pratique et n'est pas strictement obligatoire. Nous utilisons iptables dans ce guide, donc si vous utilisez une solution alternative, ajustez-la si nécessaire. )

.

Présentation des packages et des étapes de configuration

  • Préparation de base du serveur Percona (nœuds 1 et 2)
  • Nœud MySQL 1 :configuration
  • Nœud MySQL 2 :configuration
  • Nœud Keepalived #3 :installation à partir du référentiel
  • Nœud Keepalived #3 :(facultatif) compilation à partir de la source

.

Schéma de configuration

Vous trouverez ci-dessous un diagramme des résultats attendus une fois que nous aurons terminé cet article. Veuillez garder à l'esprit que toutes les adresses IP utilisées dans cet article et le diagramme sont RFC 5737 - Blocs d'adresses IPv4 réservés à des fins de documentation uniquement.

Diagramme de réseau de cluster MySQL multi-maître

.

1 – Préparation de base du serveur Percona (nœuds 1 et 2)

Tout d'abord, nous nous assurerons que nous sommes connectés à votre serveur Web en tant que compte utilisateur racine.

sudo su -

Ensuite, nous allons installer les référentiels yum requis afin de pouvoir facilement installer et maintenir à jour les packages logiciels Percona.

yum install -y http://linux.mirrors.es.net/fedora-epel/6/i386/epel-release-6-8.noarch.rpmyum install -y http://www.percona.com /downloads/percona-release/redhat/0.1-3/percona-release-0.1-3.noarch.rpmyum clean allyum mise à jour
  • EPEL  :Extra Packages for Enterprise Linux est un groupe d'intérêt spécial Fedora qui crée, maintient et gère un ensemble de packages supplémentaires de haute qualité pour Enterprise Linux.
  • Percône  :Référentiel de logiciels Percona XtraDB.

.
Maintenant, nous allons désactiver SELINUX (Security-Enhanced Linux kernel), car il entre en conflit avec les services du cluster Percona XtraDB. Tout d'abord, ouvrez le fichier /etc/selinux/config fichier de configuration avec l'éditeur de texte de votre choix (nous utiliserons nano tout au long de cet article).

nano /etc/selinux/config

Ensuite, modifiez la variable de configuration SELINUX=enforcing à SELINUX=disabled , comme ci-dessous.

# Ce fichier contrôle l'état de SELinux sur le système.# SELINUX=peut prendre l'une de ces trois valeurs :# enforcing - La politique de sécurité de SELinux est appliquée.# permissive - SELinux affiche des avertissements au lieu de les appliquer.# disabled - No SELinux la politique est chargée.SELINUX=disabled# SELINUXTYPE=peut prendre l'une de ces deux valeurs :# Targeted - Les processus ciblés sont protégés,# mls - Protection de sécurité à plusieurs niveaux.SELINUXTYPE=targeted 

Redémarrez votre serveur pour que la modification prenne effet.

Si vous exécutez les services de pare-feu iptables (activés par défaut sur la plupart des installations CentOS 6.x ), vous devrez activer les ports de service requis sur chaque serveur de nœud pour permettre la connectivité MySQL et les services de synchronisation entre les nœuds en cluster.

iptables -I ENTRÉE 5 -m état --state NOUVEAU -m tcp -p tcp -m multiport --dports 4567:4568 -j ACCEPTiptables -I ENTRÉE 5 -m état --état NOUVEAU -m tcp -p tcp --dport 4444 -j ACCEPTER iptables -I ENTRÉE 5 -m état --state NOUVEAU -m tcp -p tcp --dport 3306 -j ACCEPTERservice iptables enregistrer

Remarque : Ces commandes inséreront chacune de ces règles de pare-feu juste après les règles INPUT par défaut, à la ligne numéro 5. Si vous avez apporté des modifications à vos règles iptables avant cette étape, assurez-vous d'ajuster ces commandes avec les numéros de ligne correspondant à votre configuration iptables . Consultez notre article sur les IPTables de base si vous avez besoin d'aide ou d'un rappel.

.
Nous sommes maintenant prêts à installer les packages Percona XtraDB Cluster sur chaque nœud de serveur MySQL.

yum install -y Percona-XtraDB-Cluster-56

.

2 – Nœud MySQL #1 :Configuration

Tout d'abord, assurez-vous d'avoir les mots de passe utilisateur MySQL (mentionnés ci-dessus dans la section des prérequis) à portée de main dans les étapes suivantes.

Nous devons maintenant créer le /etc/my.cnf fichier de configuration avec les paramètres de configuration de clustering.

nano /etc/mon.cnf

Ensuite, copiez et collez ces paramètres de configuration de base dans notre fichier de configuration.

Remarque : Dans les sections "CLUSTER CONFIGURATION" et "STATE SNAPSHOT TRANSFER" ci-dessous, vous devrez substituer les valeurs correspondant à votre réseau/configuration :

  • wsrep_cluster_name – le nom du cluster doit être le même sur tous les nœuds, mais vous pouvez substituer votre propre convention de dénomination.
  • wsrep_cluster_address – utiliser les adresses IP de chaque nœud participant (y compris cet hôte). Il doit être précédé de "gcomm://".)
  • wsrep_node_address – utiliser l'adresse IP de cet hôte.
  • wsrep_node_name – vous pouvez substituer votre propre convention de nommage.
  • wsrep_sst_auth – remplacez le mot de passe du compte utilisateur SST ci-dessus après le nom d'utilisateur et les deux-points dans ce champ. Vous pouvez également substituer votre propre convention de dénomination pour l'utilisateur SST. Assurez-vous simplement de mettre à jour le même nom d'utilisateur lors de l'ajout des utilisateurs à MySQL ci-dessous.

.

[mysqld]# GENERAL #datadir =/var/lib/mysqluser =mysql# LOGGING ## log-error =/var/log/mysql/error.log# log-queries-not-using-indexes =1# slow-query-log =1# slow-query-log-file =/var/log/mysql/mysql-slow.log # STOCKAGE DE DONNÉES #default_storage_engine =InnoDBbinlog_format =ROW# CONFIGURATION DU CLUSTER #wsrep_cluster_name =mysql_clstr01wsrep_cluster_address =gcomm://192.0 .2.11,192.0.2.12wsrep_node_address =192.0.2.11wsrep_node_name =mysql-node-01wsrep_provider =/usr/lib64/libgalera_smm.so# TRANSFERT D'INSTANTANÉ D'ÉTAT #wsrep_sst_method =xtrabackup-v2wsrep_sst_auth-password :%>"# Réplication de la base de données MyISAM ## Le moteur de stockage MyISAM n'a qu'un support expérimental pour le moment. ## wsrep_replicate_myisam =1# Settings / Tunning Options #innodb_locks_unsafe_for_binlog =1 innodb_autoinc_lock_mode =2 # innodb_flush_log_at_trx_commit =2# innodb_flush_method =O_DIRECT# innodb_file_per_table =1# innodb_buffer_pool_size =1386971136# innodb_buffer_pool_size =6G# innodb_log_file_size =256M# key_buffer =208045670# max_allowed_packet =67108864# thread_stack =192K# thread_cache_size =10# query_cache_limit =1M# query_cache_size =16M

Beaucoup de ces paramètres de configuration sont commentés. Ils sont inclus au cas où vous souhaiteriez modifier et/ou déboguer les performances de la base de données. Une fois terminé, enregistrez le fichier et quittez.

Nous sommes maintenant prêts à "amorcer" le nœud principal du cluster.

L'amorçage fait référence à l'initialisation et à l'exécution du nœud de cluster initial. En amorçant, nous définissons quel nœud possède les informations initiales et sur lequel tous les autres nœuds doivent se synchroniser (via SST). En cas de plantage (ou d'arrêt) à l'échelle du cluster, l'amorçage du nœud principal fonctionne de la même manière :en choisissant le nœud initial, nous décidons essentiellement quel nœud du cluster contient la base de données avec laquelle nous voulons aller de l'avant.

L'appartenance au cluster n'est pas définie par ce paramètre, mais est définie par les nœuds qui rejoignent le cluster avec le wsrep_cluster_name approprié réglage variable.

.

/etc/init.d/mysql bootstrap-pxc

Nous voudrons également nous assurer que nous configurons les services MySQL pour qu'ils démarrent automatiquement lors d'un redémarrage du serveur.

chkconfig mysql sur

Notre premier service de base de données de nœuds est maintenant opérationnel.

Nous sommes maintenant prêts à sécuriser l'installation de votre base de données MySQL. Par défaut, l'installation initiale d'une base de données MySQL n'est pas sécurisée par un mot de passe. Pour sécuriser notre installation MySQL, nous allons exécuter la commande suivante et suivre les invites en ligne. Au cours de ce processus, il nous sera demandé de saisir un mot de passe root. Utilisez le mot de passe root MySQL ci-dessus pendant ce processus. Nous pouvons appuyer sur Entrée pour accepter les valeurs par défaut des invites restantes afin de terminer l'installation sécurisée.

/usr/bin/mysql_secure_installation

Maintenant que nous avons sécurisé notre serveur de base de données, nous devons configurer quelques comptes utilisateur. Le premier compte sera utilisé pour les services de synchronisation SST et le deuxième compte sera utilisé pour le script de vérification du service Keepalived.

Connectez-vous à la console MySQL CLI.

mysql -u root -p

Ensuite, nous devrons créer les comptes d'utilisateurs et accorder des autorisations de sécurité aux comptes.

CRÉER L'UTILISATEUR 'sst-sync-user'@'localhost' IDENTIFIÉ PAR '<%mot de passe généré par sst%>' ; ACCORDER LE RECHARGEMENT, VERROUILLER LES TABLES, LE CLIENT DE RÉPLICATION SUR *.* À 'sst-sync-user'@' localhost';CREATE USER 'keepalived'@'%' IDENTIFIED BY '<%keepalived a généré le mot de passe%>';FLUSH PRIVILEGES;

Nous sommes maintenant prêts à configurer ce nœud pour répondre directement aux connexions MySQL reçues du serveur d'équilibrage de charge Keepalived. Dans une configuration Linux Virtual Server (LVS) à routage direct, le routeur LVS (votre serveur Keepalived) doit recevoir les demandes de connexion MySQL entrantes, puis les envoyer au serveur réel approprié pour traitement. Les vrais serveurs devront alors directement communiquer les données de réponse en retour au client demandant les données. Afin de configurer le routage direct, chaque serveur réel doit avoir l'adresse VIP (IP virtuelle) configurée sur l'hôte, mais ne pas répondre aux requêtes ARP sur le réseau local.

Tout d'abord, nous allons configurer le serveur pour qu'il ne réponde à aucune requête ARP pour l'adresse VIP.

echo "net.ipv4.conf.lo.arp_ignore =1">> /etc/sysctl.confecho "net.ipv4.conf.lo.arp_announce =2">> /etc/sysctl.confsysctl -p 

Ensuite, créez une adresse VIP sur l'adaptateur Loopback. Nous allons créer le lo:1 fichier de configuration de l'interface et configurez-le pour qu'il démarre automatiquement au démarrage.

nano /etc/sysconfig/network-scripts/ifcfg-lo:1

Collez la configuration suivante dans la configuration de l'interface. Assurez-vous de remplacer l'exemple d'adresse VIP par l'adresse que vous utiliserez.

DEVICE=lo:1BOOTPROTO=staticONBOOT=yesIPADDR=192.0.2.10NETMASK=255.255.255.255

Une fois que nous avons enregistré le fichier de configuration, nous pouvons afficher l'adresse VIP.

si jusqu'à 1 :1

Notre premier nœud MySQL Cluster est maintenant terminé.
.

3 - Nœud MySQL #2 :Configuration

Encore une fois, assurez-vous d'avoir les mots de passe utilisateur MySQL (mentionnés ci-dessus dans la section des prérequis) à portée de main dans les étapes suivantes.

Nous devons maintenant créer le /etc/my.cnf fichier de configuration avec les paramètres de configuration de clustering.

nano /etc/mon.cnf

Ensuite, copiez et collez ces paramètres de configuration de base dans notre fichier de configuration.

Remarque : Dans les sections "CLUSTER CONFIGURATION" et "STATE SNAPSHOT TRANSFER" ci-dessous, vous devrez substituer les valeurs correspondant à votre réseau/configuration :

  • wsrep_cluster_name – le nom du cluster doit être le même sur tous les nœuds, mais vous pouvez substituer votre propre convention de dénomination.
  • wsrep_cluster_address – utiliser les adresses IP de chaque nœud participant (y compris cet hôte). Il doit être précédé de "gcomm://".)
  • wsrep_node_address – utiliser l'adresse IP de cet hôte.
  • wsrep_node_name – vous pouvez substituer votre propre convention de nommage.
  • wsrep_sst_auth – remplacez le mot de passe du compte utilisateur SST ci-dessus après le nom d'utilisateur et les deux-points dans ce champ. Vous pouvez également substituer votre propre convention de dénomination pour l'utilisateur SST. Assurez-vous simplement de mettre à jour le même nom d'utilisateur lors de l'ajout des utilisateurs à MySQL ci-dessous.

.

[mysqld]# GENERAL #datadir =/var/lib/mysqluser =mysql# LOGGING ## log-error =/var/log/mysql/error.log# log-queries-not-using-indexes =1# slow-query-log =1# slow-query-log-file =/var/log/mysql/mysql-slow.log # STOCKAGE DE DONNÉES #default_storage_engine =InnoDBbinlog_format =ROW# CONFIGURATION DU CLUSTER #wsrep_cluster_name =mysql_clstr01wsrep_cluster_address =gcomm://192.0 .2.11,192.0.2.12wsrep_node_address =192.0.2.12wsrep_node_name =mysql-node-02wsrep_provider =/usr/lib64/libgalera_smm.so# STATE SNAPSHOT TRANSFER #wsrep_sst_method =xtrabackup-v2wsrep_sst_auth- password :%>"# Réplication de la base de données MyISAM ## Le moteur de stockage MyISAM n'a qu'un support expérimental pour le moment. ## wsrep_replicate_myisam =1# Settings / Tunning Options #innodb_locks_unsafe_for_binlog =1 innodb_autoinc_lock_mode =2 # innodb_flush_log_at_trx_commit =2# innodb_flush_method =O_DIRECT# innodb_file_per_table =1# innodb_buffer_pool_size =1386971136# innodb_buffer_pool_size =6G# innodb_log_file_size =256M# key_buffer =208045670# max_allowed_packet =67108864# thread_stack =192K# thread_cache_size =10# query_cache_limit =1M# query_cache_size =16M

Beaucoup de ces paramètres de configuration sont commentés. Ils sont inclus au cas où vous souhaiteriez modifier et/ou déboguer les performances de la base de données. Une fois terminé, enregistrez le fichier et quittez.

Nous sommes maintenant prêts à démarrer le deuxième nœud du cluster. Nous voudrons également nous assurer que nous configurons les services MySQL pour qu'ils démarrent automatiquement lors d'un redémarrage du serveur.

service mysql démarrer chkconfig mysql sur

Lors du démarrage initial, le deuxième serveur démarre le processus de synchronisation avec le nœud principal. Après quelques minutes, les services MySQL de notre deuxième nœud seront opérationnels.

Comme ci-dessus avec le nœud principal, nous allons maintenant configurer ce nœud pour répondre directement aux connexions MySQL reçues du serveur d'équilibrage de charge Keepalived. Tout d'abord, nous allons configurer le serveur pour qu'il ne réponde à aucune requête ARP pour l'adresse VIP.

echo "net.ipv4.conf.lo.arp_ignore =1">> /etc/sysctl.confecho "net.ipv4.conf.lo.arp_announce =2">> /etc/sysctl.confsysctl -p 

Ensuite, nous allons créer une adresse VIP sur l'adaptateur Loopback. Créez le lo:1 fichier de configuration de l'interface et configurez-le pour qu'il démarre automatiquement au démarrage.

nano /etc/sysconfig/network-scripts/ifcfg-lo:1

Collez la configuration suivante dans le fichier de configuration de l'interface. Assurez-vous de remplacer l'exemple d'adresse VIP par l'adresse que vous utiliserez.

DEVICE=lo:1BOOTPROTO=staticONBOOT=yesIPADDR=192.0.2.10NETMASK=255.255.255.255

Une fois que nous avons enregistré le fichier de configuration, nous pouvons afficher l'adresse VIP.

si jusqu'à 1 :1

Notre deuxième nœud de cluster MySQL est maintenant terminé.

Nous allons maintenant valider que les deux serveurs sont opérationnels et synchronisés. Depuis chaque nœud, exécutez la commande suivante (nous aurons besoin de notre mot de passe root MySQL) :

mysql -h localhost -u root -p -e "AFFICHER L'ÉTAT ;" | grep "wsrep_ready"

Nous devrions recevoir la réponse "ON". Si nous recevons une autre réponse, le nœud n'est pas membre du cluster.
.

4 – Nœud Keepalived #3 :installation à partir du référentiel

Cette section couvre l'installation de Keepalived à partir du référentiel CentOS. Cette version de Keepalived traîne plusieurs itérations derrière la version la plus récente. Bien que cela fonctionne pour des déploiements simples, si vous pensez avoir besoin de la dernière version et des correctifs de support qu'elle propose (comme une meilleure prise en charge d'IPv6 et VRRPv3, par exemple), consultez leur journal des modifications. Les instructions pour compiler la dernière version à partir de la source sont incluses ci-dessous.

Tout d'abord, si vous exécutez les services de pare-feu iptables (activés par défaut sur la plupart des installations CentOS 6.x ), vous devrez activer la connectivité MySQL.

iptables -I INPUT 5 -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPTservice iptables save

Remarque : Ces commandes inséreront chacune de ces règles de pare-feu juste après les règles INPUT par défaut, à la ligne numéro 5. Si vous avez apporté des modifications à vos règles iptables avant cette étape, assurez-vous d'ajuster ces commandes avec les numéros de ligne correspondant à votre configuration iptables . Consultez notre article sur les IPTables de base si vous avez besoin d'aide ou d'un rappel.

.

Maintenant, nous pouvons installer le package Keepalived.

yum install keepalived

Ensuite, nous allons créer un nouveau /etc/keepalived/keepalived.conf fichier de configuration. Vous pouvez supprimer la configuration par défaut installée ou la déplacer vers un fichier de sauvegarde pour référence ultérieure si vous le souhaitez. Dans cet exemple, nous allons le déplacer vers un fichier de sauvegarde.

mv /etc/keepalived/keepalived.conf /etc/keepalived/keepalived.conf.baknano /etc/keepalived/keepalived.conf

Maintenant, copiez et collez la configuration ci-dessous dans le keepalived.conf fichier.

Assurez-vous de remplacer les exemples d'adresses IP ci-dessous par les adresses IP virtuelles et réelles que vous avez configurées dans les étapes ci-dessus. De plus, vous devrez ajouter votre mot de passe d'utilisateur keepalived ci-dessus à l'endroit indiqué.

.

 ! Fichier de configuration pour keepalivedglobal_defs { router_id LVS_MYSQL_CLSTR1}### VRRP Virtual IP Configurationvrrp_instance VI_1 { state MASTER interface eth0 virtual_router_id 51 priority 100 advert_int 1 authentication { auth_type PASS auth_pass keepalived } virtual_ipaddress { 192.0.2.10 }}### LVS Configurationvirtual_server 192.0.30.1 { delay_loop 2 ## Mode LB :Round-Robin lb_algo rr ## Réponse de routage direct lb_kind Protocole DR TCP # Serveur réel à ajouter lorsque tous les serveurs réels sont en panne # désolé_serveur   serveur_réel 192.0.2.11 3306 { poids 10 MISC_CHECK { misc_path "/etc/keepalived/check_scripts/check_db 192.0.2.11 keepalived <%keepalived password%>" misc_timeout 5 misc_dynamic } } real_server 192.0.2.12 3306 { poids 10 MISC_CHECK { misc_path "/etc/keepalived/check_scripts/check_db 192.0.2.12 keepalived <%mot de passe gardé rd%>" misc_timeout 5 misc_dynamic } }}

Nous allons maintenant créer le MISC_CHECK script que cette configuration appelle (il n'existe pas par défaut). Tout d'abord, nous allons créer le répertoire, puis nous allons créer le fichier de script et définir le mode de fichier sur exécutable.

mkdir -p /etc/keepalived/check_scriptstouch /etc/keepalived/check_scripts/check_dbchmod +x /etc/keepalived/check_scripts/check_dbnano /etc/keepalived/check_scripts/check_db

Maintenant, copiez et collez le code bash ci-dessous dans le fichier check_db .

#!/bin/bashmysql_host="${1}";mysql_user="${2}";mysql_pass="${3}";node_response=$(mysql -h ${mysql_host} -u ${ mysql_user} -p${mysql_pass} -e "AFFICHER LES VARIABLES GLOBALES ;" | grep "wsrep_node_address" | awk '{ print $2 }');if [ "${node_response}" =="${mysql_host}" ]then # echo "Nom d'hôte correspondant" ; exit 0;else # echo "Le nom d'hôte ne correspond pas" ; sortie 1;fi

Enregistrez le fichier et quittez.

Nous sommes maintenant prêts à démarrer les services Keepalived. Nous les configurerons également pour qu'ils démarrent automatiquement lors d'un redémarrage du système.

chkconfig keepalived on/etc/init.d/keepalived start

Notre serveur Keepalived est maintenant opérationnel. Pour des instructions détaillées sur la personnalisation de votre configuration Keepalived, veuillez consulter le guide de l'utilisateur.

Nous devrions maintenant avoir un cluster MySQL multi-maître entièrement fonctionnel, avec un seul VIP pour la connectivité. Nous pouvons faire pointer les connexions client vers notre adresse VIP (192.0.2.10) et la connexion sera transmise à chaque serveur réel de notre cluster en mode tourniquet.

Étant donné que nous avons utilisé Keepalived avec une configuration VIP VRRP, vous pouvez facilement ajouter un deuxième serveur Keepalived au réseau pour assurer une redondance complète de votre configuration Load-Balancer et de votre cluster MySQL.
.

Nœud Keepalive #3 :(Facultatif) Compilation à partir de la source

Si nous voulons la dernière version de Keepalived, nous devrons installer les outils nécessaires pour créer le package Keepalived à partir de la source.

yum install -y kernel-headers kernel-devel gcc make popt-devel openssl-devel ipvsadm net-snmp-devel git mysql ;
  • popt-devel :utilisé pour l'analyse de la ligne de commande
  • OpenSSL :cette bibliothèque est nécessaire pour le support MD5 et SSL
  • ipvsadm :utilisé pour maintenir ou inspecter la table des serveurs virtuels dans le noyau Linux
  • net-snmp :fournit une surveillance SNMP

.
Avec les dépendances maintenant en place, nous devrons télécharger la version la plus récente du code source. Nous pouvons trouver la version la plus récente sur la page de téléchargement Keepalived.org, ou nous pouvons utiliser le référentiel GIT pour télécharger la dernière version. Nous utiliserons le dépôt GIT pour cette installation.

mkdir -p /tmp/keepalivedgit clone https://github.com/acassen/keepalived.git /tmp/keepalivedcd /tmp/keepalived

Maintenant que nous avons téléchargé et extrait le code source, nous sommes prêts à compiler le package Keepalived pour notre noyau Linux.

./configure --enable-snmpmakemake install

Après chaque commande, nous devons revérifier la sortie pour nous assurer qu'il n'y a pas eu d'erreurs lors de chaque processus. Une fois que tout sera correctement compilé, nous serons prêts à créer les liens symboliques nécessaires.

ln -s /usr/local/etc/sysconfig/keepalived /etc/sysconfig/ln -s /usr/local/etc/rc.d/init.d/keepalived /etc/init.d/ln -s /usr/local/etc/keepalived/ /etc/keepalived

Ensuite, nous devons mettre à jour le /etc/init.d/keepalived script de démarrage pour appeler le chemin correct pour le démon.

nano /etc/init.d/keepalived

Ici, remplacez la ligne d'appel de l'application daemon keepalived avec le chemin complet vers l'application, comme ci-dessous.

#!/bin/sh## Script de démarrage pour le démon Keepalived#...start() { echo -n $"Starting $prog :" daemon /usr/local/sbin/keepalived ${KEEPALIVED_OPTIONS} RETVAL=$ ? echo [ $RETVAL -eq 0 ] &&touch /var/lock/subsys/$prog}...

Nous devrions maintenant pouvoir démarrer le démon Keepalived et reprendre la configuration comme ci-dessus.

Atlantique.Net

Atlantic.net propose un hébergement VPS ainsi que des services d'hébergement de serveurs gérés qui incluent une couche de services gérés essentiels à vos forfaits d'hébergement. Contactez-nous dès aujourd'hui pour plus d'informations.


Linux
  1. Comment créer une base de données dans MySQL avec MySQL Workbench

  2. Comment installer Lighttpd avec PHP5 FastCGI et MySQL sur Fedora 16

  3. Comment installer Nginx avec PHP-FPM et MySQL sur Fedora 16 "Verne"

  4. Comment installer Nginx avec PHP5 et MySQL sur Ubuntu 11.10

  5. Comment installer Lighttpd avec PHP5 et MySQL sur Ubuntu 11.04

Comment installer Lighttpd avec PHP-FPM 7 et MySQL 5.7 sur Ubuntu 18.04 LTS

Comment installer Lighttpd avec PHP-FPM et MySQL sur Ubuntu 20.04 LTS

Comment configurer Percona Cluster avec HAproxy Loadbalancer sur CentOS 7

Comment construire un cluster actif-actif-actif avec RHEL 8 et Percona MySQL

Comment déployer une application PHP avec Nginx et MySQL à l'aide de Docker et Docker Compose

Comment installer et configurer WordPress avec Ansible