Académique Documents
Professionnel Documents
Culture Documents
SISR4
TP– Heartbeat
Contextualisation:
Au sein du lycée Saint Luc, il y a un portail intranet qui permet d’assurer le
service d’appel des élèves à chaque heure de cours. Le service est donc très
souvent utilisé à des heures précises. Pour éviter la non-réponse du service, nous
allons mettre en place une solution de haute disponibilité avec heartbeat.
Au cours de ce TP, nous allons découvrir comment mettre en œuvre les mécanismes
de la haute disponibilité. Cela sous-entend que l'on prendra connaissance de
l'intérêt de ces mécanismes, comprendre la façon de les mettre en oeuvre, prendre
connaissance des concepts utilisés, savoir les mettre correctement en place de
façon indépendante ou conjointement et en dégager les avantages et inconvénients
liés à ces concepts.
Plan d'adressage
Sources :
https://blog.foulquier.info/tutoriels/systeme/mise-en-place-dun-cluster-heartbeat-
apache
https://www.it-connect.fr/clustering-et-haute-disponibilite-sous-linux-avec-heartbeat
%EF%BB%BF/
http://www.sebastien-han.fr/blog/2011/07/04/introduction-au-cluster-sous-linux/
https://www.supinfo.com/articles/single/3318-mise-place-cluster-avec-heartbeat-
debian
[1/5]
M.FENETRE
SIO2 2019 / 2020
SISR4
2) Installation HeartBeat
HeartBeat permet de faire fonctionner de façons autonome deux ou plusieurs
serveurs afin qu'ils
forment un cluster et de ce fait, assurer la haute disponibilité des serveurs.
Pour l'installer, nous utilisons cette commande :
# apt-get install heartbeat
Pour l'installation de HeartBeat, veillons à disposer d'une adresse IP permettant
de se rendre sur internet ainsi qu'une passerelle valide. A la fin de l'installation,
tâchons de remettre les adresses IP et passerelles correspondant par rapport au
plan d'adressage. Puis, redémarrer les deux serveurs pour que les noms soient
correctement pris en compte.
[2/5]
M.FENETRE
SIO2 2019 / 2020
SISR4
3) Configuration du cluster
L'idée principale du cluster est de faire fonctionner au minimum deux machines
en même temps. Unis, elles forment un "cluster" dont chaque machine est un
node (élément) du cluster. Une fois ensemble, chacune à leur tour elles se
demandent si elles sont en vie. A partir du moment où l'une d'entre-elles ne
réponds plus, une machine prend le relais pour assurer la continuité du service.
Le cluster est accessible depuis une une seule et unique adresse IP (elle recense
le cluster avec les nodes qui le compose).
Nous commençons par déclarer le nom et l'adresse IP de l'autre serveur du
cluster dans le fichier de résolution locales de chaque serveur.
Nous éditons le fichier de résolution locale du SRV1 :
# gedit /etc/hosts
Arrivé dans le fichier, nous modifions les lignes suivantes :
127.0.0.1 localhost
127.0.1.1 SRV1
172.16.193.40 SRV2
Nous ajoutons l'adresse 127.0.1.1 afin de lui attribuer une propre adresse pour
qu'il réponde au nom de SRV1.
Puis, nous effectuons un ping de SRV1 vers SRV2.
# ping SRV2
Répéter cette operation pour le second serveur (SRV2) en inscrivant l'adresse IP
du poste SRV1, puisqu'il faut que les 2 serveurs communiquent ensemble. Grace
à ces commandes, nous pouvons désormais désigner les serveurs par leur nom à
la place de leur adresse IP.
[3/5]
M.FENETRE
SIO2 2019 / 2020
SISR4
Le fichier ha.cf
Vous devez lui préciser le nom de la carte sur laquelle vont arriver les trames de
broadcast (couche 2 du modèle OSI) :
bcast nomcarte
Vous précisez où vous voulez récupérer les logs :
debugfile /var/log/XXXXX
logfile /var/log/YYYY
Vous précisez le temps entre deux battements de coeur :
keepalive 2
Vous précisez le temps avant de déclarer que le serveur est mort
deadtime 10
Vous précisez le temps avant de prévenir les logs
initdead 10
Les noms de vos serveurs
node SRV1
node SRV2
Est-ce que le patron reprend la main tout seul ?
auto_failback off
Le fichier authkeys
Ce fichier décrit les modes d'authentification. Moi j’ai choisi md5
Le fichier haresources
Attention il faut l’écrire de façon particulière car les cartes ne s’appellent plus
eth0 !! Et on le complète avec l'adresse IP virtuelle que l'on a choisis pour le
cluster : pour nous, se sera 172.16.40.30.
SRV1 Ipaddr::172.16.40.30/16/enp0s3:0
La syntaxe indique dans un premier temps le nom du serveur puis l’adresse IP du
cluster et enfin le nom de l’interface.
Une fois les deux serveurs prêts, nous redémarrons les services HeartBeat dans
l'ordre suivant :
SRV1 :
# service hearbeat stop
# service heartbeat start
[4/5]
M.FENETRE
SIO2 2019 / 2020
SISR4
SRV2 :
# service hearbeat stop
# service heartbeat start
5) Test du cluster
Pour vérifier que les deux serveurs ne sont pas isolés, nous allons configuré une
hôte client (Client) pour s'assurer qu'il puisse communiquer avec les serveurs
placés dans le cluster. Pour commencer, nous allons essayer localement le
fonctionnement du cluster en essayant de pinger, l'adresse IP virtuelle.
Dans une invite de commande, nous lançons la commande suivante :
ping 172.16.40.30
Et nous devrions arriver sur la page d'accueil du serveur web sur SRV1
Puis, nous déclenchons une panne en éteignant la carte réseau du serveur SRV1
ou encore, en arrêtant le service Heartbeat.
[5/5]
M.FENETRE