Objectifs
Mettre en place une infrastructure haute disponibilité avec :
- HAProxy : répartition de charge (load balancing)
- NFS : partage de fichiers centralisé
- DRBD : réplication de disque (RAID réseau)
- DNS Round Robin : répartition DNS simpliste
1. HAProxy (Load Balancer)
Installation
apt install haproxy -y
Configuration
nano /etc/haproxy/haproxy.cfg
Configuration complète :
global log /dev/log local0 log /dev/log local1 notice chroot /var/lib/haproxy stats socket /run/haproxy/admin.sock mode 660 level admin stats timeout 30s user haproxy group haproxy daemon defaults log global mode http option httplog option dontlognull timeout connect 5000 timeout client 50000 timeout server 50000 frontend http_front bind *:80 stats uri /haproxy?stats default_backend web_pool backend web_pool balance roundrobin option httpchk GET / server web1 192.168.100.101:80 check server web2 192.168.100.102:80 check server webbackup 192.168.100.103:80 check backup
Explications :
- balance roundrobin : répartition circulaire
- check : vérification de santé (health check)
- backup : serveur utilisé uniquement si les autres tombent
Démarrage
systemctl enable haproxy systemctl restart haproxy systemctl status haproxy
Vérification
Accéder aux statistiques : http://IP_HAPROXY/haproxy?stats
2. NFS (Network File System)
Serveur NFS
# Installation apt install nfs-kernel-server -y # Création du répertoire partagé mkdir -p /srv/partagenfs chown nobody:nogroup /srv/partagenfs chmod 777 /srv/partagenfs # Configuration des exports nano /etc/exports
Contenu de /etc/exports :
/srv/partagenfs 192.168.100.0/24(rw,sync,no_subtree_check,no_root_squash)
Options :
- rw : lecture/écriture
- sync : écriture synchrone (sécurité)
- no_root_squash : préserve les droits root (attention sécurité !)
# Appliquer les changements exportfs -ra # Redémarrer NFS systemctl restart nfs-kernel-server
Client NFS
# Installation client apt install nfs-common -y # Montage manuel mkdir -p /mnt/nfs mount 192.168.100.10:/srv/partagenfs /mnt/nfs # Montage automatique (/etc/fstab) nano /etc/fstab 192.168.100.10:/srv/partagenfs /mnt/nfs nfs defaults 0 0
3. DRBD (Distributed Replicated Block Device)
IMPORTANT : DRBD n'est PAS un système de fichiers partagé ! C'est une réplication de disque en mode actif/passif uniquement.
Installation (sur les 2 nœuds)
apt install drbd-utils -y modprobe drbd
Configuration (exemple simplifié niveau BTS)
nano /etc/drbd.d/r0.res
Contenu :
resource r0 {
protocol C;
on node1 {
device /dev/drbd0;
disk /dev/sdb1;
address 192.168.100.101:7789;
meta-disk internal;
}
on node2 {
device /dev/drbd0;
disk /dev/sdb1;
address 192.168.100.102:7789;
meta-disk internal;
}
}
Protocoles DRBD :
- A : asynchrone (rapide, risque de perte)
- B : semi-synchrone
- C : synchrone (lent, sûr) ← recommandé
Initialisation (sur les 2 nœuds)
drbdadm create-md r0 drbdadm up r0
Définir le nœud primaire (nœud1)
drbdadm primary --force r0
Vérification
cat /proc/drbd drbdadm status r0
LIMITE DRBD : Un seul nœud peut accéder au disque en lecture/écriture à la fois. Pour du vrai partage actif/actif, utiliser GFS2, OCFS2 ou Ceph.
4. DNS Round Robin
Configuration BIND (exemple)
nano /etc/bind/db.example.com
Ajouter plusieurs enregistrements A avec le même nom :
www IN A 192.168.100.101 www IN A 192.168.100.102 www IN A 192.168.100.103
Les requêtes DNS seront réparties entre les 3 serveurs
LIMITE : DNS RR ne fait PAS de health check. Si un serveur tombe, le DNS continuera de le distribuer → privilégier HAProxy ou un vrai load balancer.
5. VRRP (Virtual Router Redundancy Protocol)
Concept
VRRP crée une IP virtuelle partagée entre plusieurs routeurs/serveurs. Si le maître tombe, un backup prend automatiquement le relais.
ATTENTION : VRRP n'est PAS du routage dynamique (OSPF, BGP). C'est uniquement de la redondance de gateway.
Configuration (exemple Cisco/pfSense)
vrrp 10 ip 192.168.1.1 vrrp 10 priority 120 vrrp 10 preempt
Paramètres :
- vrrp 10 : ID du groupe VRRP
- ip 192.168.1.1 : IP virtuelle partagée
- priority 120 : priorité (plus élevée = maître)
- preempt : reprendre le rôle de maître si priorité supérieure
Adresse multicast VRRP
224.0.0.18 : adresse multicast utilisée par VRRP pour les annonces
Points Clés pour l'Oral BTS
- HAProxy : load balancer L4/L7, round robin, least connections, health checks
- NFS : partage de fichiers réseau (pas de HA native)
- DRBD : RAID1 réseau, actif/passif uniquement, pas de FS partagé
- DNS RR : répartition DNS simpliste, pas de health check
- VRRP : redondance de gateway, IP virtuelle, multicast 224.0.0.18
- Différence : DRBD = stockage, NFS = fichiers, HAProxy = applicatif, VRRP = réseau
- HA réelle : combinaison de plusieurs technologies (HAProxy + Keepalived + DRBD ou GFS2)