hd it learning m2
Post on 05-Jul-2018
220 Views
Preview:
TRANSCRIPT
-
8/16/2019 HD IT Learning M2
1/32
Mehdi Driba El Filali
La haute disponibilité viaHeartbeat
-
8/16/2019 HD IT Learning M2
2/32
Ce que l’on va voir…
Haute Disponibilité
2
Généralités sur la haute disponibilité
Concepts à maîtriser
Exemples d’applications
Heartbeat par la pratique
-
8/16/2019 HD IT Learning M2
3/32
Haute Disponibilité
3
Principesgénéraux
-
8/16/2019 HD IT Learning M2
4/32
La haute disponibilité, c’est quoi
Haute Disponibilité
4
« On appelle « haute disponibilité »toutes les dispositionsvisant à garantir la disponibilité d'un service et son bon
fonctionnement 24H/24. »
(www.commentcamarche.net)
-
8/16/2019 HD IT Learning M2
5/32
Pourquoi faire ?
Haute Disponibilité
5
Ces services peuvent pénaliser l’entreprise en cas de
défaillances (commandes en ligne par exemple) Employés au chômage technique Clients mécontents passant à la concurrence …
Manque à gagner pour l’entreprise (1/250ème des bénéfices par jour d’arrêt)
Un grand nombre d’entreprises proposent desservices à leurs salariés, clients, etc.
-
8/16/2019 HD IT Learning M2
6/32
Comment peut-on agir ?
Haute Disponibilité
6
Le terme « Haute disponibilité » couvre un grandnombre de domaines : Manipulations des serveurs « à chaud » :
Reconfiguration des services
Sauvegarde des données, …
Redondance du matériel
Répartition dynamique des données (RAID, etc.)
Stockage des données à un emplacement physique différent
Plan de secours
Fonctionnement en mode dégradé (fournir un service jugé
indispensable sans ses ressources habituelles humaines oumatérielles)
…
-
8/16/2019 HD IT Learning M2
7/32
Domaine de définition
Haute Disponibilité
7
Un seul point étudié ici : la détection automatique d'une défaillance d'un serveur, et la
reprise du service qu'il offrait par d'autres machines.
Réalisé par le programme Heartbeat, faisant partie de lasuite « The Linux Virtual Server » (LVS)
Question importante :
Ai-je besoin d’une seule machine active pourrépondre à tous les clients, ou de plusieurssimultanément ?
-
8/16/2019 HD IT Learning M2
8/32
Haute Disponibilité
8
Concepts àmaîtriser
-
8/16/2019 HD IT Learning M2
9/32
Si une seule machine suffit (1)
Haute Disponibilité
9
Une machine active, qui répond aux clients
Une machine configurée à l’identique : service arrêtés
surveillant la première en permanence
Lorsqu’elle détecte une panne : elle lance ses services
elle répond aux clients à la place de l’autre
Si la première est réparée :Soit elle se met à son tour en écoute
Soit elle demande à reprendre la main
-
8/16/2019 HD IT Learning M2
10/32
Si une seule machine suffit (2)
Haute Disponibilité
10
Une méthode de surveillance : la tachycardie (heartbeat)
-
8/16/2019 HD IT Learning M2
11/32
S’il faut plusieurs machines (1)
Haute Disponibilité
11
Il faut : Plusieurs serveurs proposant le même service
Pouvoir rediriger les requêtes des clients de manièreéquitable sur tous les serveurs
1ère approche : ‘Round Robin DNS’
-
8/16/2019 HD IT Learning M2
12/32
S’il faut plusieurs machines (2)
Haute Disponibilité
12
On peut faire mieux : le répartiteur de charge En Anglais : « load balancer »
Prendre en compte de la puissance des machines, le nombred’utilisateurs déjà connectés, etc.
-
8/16/2019 HD IT Learning M2
13/32
Algorithmes de load balancing
Haute Disponibilité
13
Pléthore d’algorithmes.
Ceux utilisés par « The Linux Virtual Server » (LVS): Least-Connection
Weighted Least Connection
Round-Robin
Weighted Round-Robin
Locality-Based Least-Connection
Destination-Hashing
Source-Hashing
Short Expected Delay Never Queue
-
8/16/2019 HD IT Learning M2
14/32
Cela fonctionne mais…
Haute Disponibilité
14
Gestionnaire unique = point de faiblesse
requêtes ?
Gestionnaire
Machines proposant
le même service
Client
requêtes répartition
de charge
Gestionnaires
(en haute disponibilité)
Client
Au final :
Machines proposantle même service
-
8/16/2019 HD IT Learning M2
15/32
Comment le gestionnaire redirige les clients ?
Haute Disponibilité
15
Machine active / machine passive
IP normale
IP virtuelle
requête
ClientMachine active
IP virtuelle = xxx
Haute disponibilité
Services
Client
Plusieurs machines actives
Routage Simple
Encapsulation IP-IP
N.A.T.
-
8/16/2019 HD IT Learning M2
16/32
Haute Disponibilité
16
Exemples
d’applications
« En théorie, il n'y a pas de différences entre la théorie et
la pratique. En pratique, il y en a. »
(Chuck Reid)
-
8/16/2019 HD IT Learning M2
17/32
Exemple : relais de messagerie
Haute Disponibilité
17
Echanges Haute disponibilité
Serveur mail n°1
(actif)
Serveur mail n°2
(passif)
-
8/16/2019 HD IT Learning M2
18/32
-
8/16/2019 HD IT Learning M2
19/32
Exemple : Serveurs Web
Haute Disponibilité
19
Echanges Haute disponibilité
Serveur web n°1
(actif)NFS. Accès aux :
- pages web
- données du site
- fichiers de sessions
Serveur web n°2
(passif)
Serveur de fichiers
-
8/16/2019 HD IT Learning M2
20/32
Plus dur : serveurs de fichiers
Haute Disponibilité
20
Serveur NFS
Serveur 1
lecture écriture
DRBD
Serveur NFS
(inactif)
écriture
Partition
Serveur 2
Réplication
Partition
DRBD
lecture écriture
-
8/16/2019 HD IT Learning M2
21/32
Haute Disponibilité
21
Heartbeat par lapratique…
« The box said: "install on Windows 95, NT 4.0 or better".
So I installed it on Linux. »
(Anonyme)
-
8/16/2019 HD IT Learning M2
22/32
Préparation de l’environnement
Haute Disponibilité
22
Préparation de l’environnement :
Editer le fichier hosts : il faut ajouter l’@ip virtuellequ’on va utiliser et les nodes.
Editer le fichier interfaces, les interfaces doivent être static :
# hostnamectl set-hostname NOM
# nano /etc/hosts
@ip Nom_machine
# nano /etc/network/interfaces
-
8/16/2019 HD IT Learning M2
23/32
Préparation de l’environnement
Haute Disponibilité
23
Exemple de fichier interfaces
auto lo
iface lo inet loopback
# The primary network interface
auto eth0
iface eth0 inet static
address 192.168.2.10
netmask 255.255.255.0
gateway 192.168.2.1
dns-nameservers 8.8.8.8 8.8.4.4
auto eth0:0
iface eth0:0 inet staticaddress 172.16.10.100
netmask 255.255.255.0
-
8/16/2019 HD IT Learning M2
24/32
-
8/16/2019 HD IT Learning M2
25/32
Préparation de l’environnement
Haute Disponibilité
25
Installation d’Apache 2
Tester l’installation en tapant localhost dans un
navigateur
Changement de l’index de la page web :
# apt-get install apache2
# nano /var/www/index.php
-
8/16/2019 HD IT Learning M2
26/32
Sous le capot d’heartbeat (1)
Haute Disponibilité
26
Installation (sous Ubuntu) :
Extraire les fichiers ha.cfg, haressources
Copier les fichiers dans /etc/ha.d
# apt-get update
# apt-get install heartbeat
# cd /usr/share/doc/heartbeat
# gunzip ha.cfg haressources
# cp auhtkeys ha.cfg haressources /etc/ha.d
-
8/16/2019 HD IT Learning M2
27/32
Sous le capot d’heartbeat (2)
Haute Disponibilité
27
/etc/ha.d/ha.cf
logfacility local0
keepalive 2
deadtime 10 bcast eth0
node ##nom_pc1## ##nom_pc2##
auto_failback no
-
8/16/2019 HD IT Learning M2
28/32
Sous le capot d’heartbeat (3)
Haute Disponibilité
28
/etc/ha.dt/authkeys
3 méthodes de protection crc (réseaux sûrs, comme un câble croisé) md5 (bonne alternative de sécurité)
sha1 (meilleure sécurité, utilise du temps CPU)
Ne pas oublier :
auth 3
3 md5 ###mot_de_passe###
# chmod 600 /etc/heartbeat/authkeys
-
8/16/2019 HD IT Learning M2
29/32
Sous le capot d’heartbeat (4)
Haute Disponibilité
29
/etc/ha.d/haresources
Pleins d’actions différentes possibles.
Paramètres d’une option séparés par 4 points :“::”
##nom_pc1## action1 action2 ... actionN
-
8/16/2019 HD IT Learning M2
30/32
Sous le capot d’heartbeat (5)
Haute Disponibilité
30
Activer une adresse IP virtuelle :
pc1 IPaddr::192.x.x.x/24/eth0
Monter un système de fichiers local :
pc1 Filesystem::/dev/sda1::/mnt/scsi::vfat
Monter un système de fichiers distant (NFS)
pc1 Filesystem::192.x.x.x:/src::/mnt/dest::nfs
Monter un système de fichiers distant (NFS) avec des options
pc1 Filesystem::192.x.x.x:/src::/mnt/dest::nfs::rsize=8192
-
8/16/2019 HD IT Learning M2
31/32
Sous le capot d’heartbeat (6)
Haute Disponibilité
31
Restrictions :Doit être dans /etc/init.d/ (ou /etc/heartbeat/ressource.d/)
Doit reconnaître les arguments ‘start’ et ‘stop’
Ne doit PAS être lancé automatiquement au démarrage de Linux :
Et enfin : lancer un service :
pc1 apache2
# update-rc.d –f apache2 remove
-
8/16/2019 HD IT Learning M2
32/32
Références / Annexes
Haute Disponibilité
32
Heartbeat :http://linux-ha.org/ConfiguringHeartbeat
Configurer Heartbeat (Ubuntu) :http://doc.ubuntu-fr.org/serveur/heartbeat
The Linux Virtual Server (LVS) :http://www.linuxvirtualserver.org/
Mécanismes de répartition de charges de LVS :http://www.ultramonkey.org/3/lvs.html
Mécanismes de redirection IP de LVS :http://www.linuxvirtualserver.org/how.htmlhttp://www.ultramonkey.org/3/lvs.html
Cluster Apache :http://www.howtoforge.com/high_availability_loadbalanced_apache_cluster
Cluster NFS :http://www.howtoforge.com/high_availability_nfs_drbd_heartbeat
Discussions sur la haute disponibilité :http://lea-linux.org/cached/index/Leapro-pro_sys-dispo.html
top related