Outils pour utilisateurs

Outils du site


doc:keepalived

keepalived

Supports de présentation des nocturnes 2018 : keepalived-prez-2018-12-08.pdf

Le guide utilisateur officiel est bien fait : http://www.keepalived.org/pdf/UserGuide.pdf
La documentation officielle : http://keepalived.org/documentation.html

Présentation

Keepalived est une solution incontournable de la HA sous Linux. Il s’agit d’un loadbalancer et d’un manager de VIP, écrit en C.

Il se base sur le module Linux Virtual Server pour le LB, et le protocole VRRP pour la partie ip virtuelle.

La première version publique (0.2.1) date du 22-12-2000 et la première version stable du 13-01-2003. Si vous cherchez des nouvelles fonctionnalités funky, passez votre chemin.

Configuration du démon (systemd)

Avec le fichier /etc/default/keepalived (ou /etc/sysconfig/keepalived sous redhat).

les options suivantes se révèlent souvent utiles au quotidien :

  1. D : Detailed log messages

–log-facility=0 : syslog facility (il faut couper ce règlage à une configuration du daemon syslog)

En cas de problème, les options suivantes sont très pratiques :

  1. d : Dump the configuration on startup
  2. l : Log messages to the local console

Configuration des VIP

Voici un exemple :

global_defs {

  notification_email {
  truc@truc.fr
  }
  notification_email_from machineenpanne@truc.fr
  smtp_server 127.0.0.1
  smtp_connect_timeout 30

}
vrrp_script 23c1ddc2-8091-5efc-aecc-9dd80657bfe0 {

  script "killall -0 haproxy"
  interval 2
  fall 2
  rise 4

}
vrrp_sync_group sync-group {

  group {
  ws-bi-vrrp
  ws-lb-vrrp
  }

}
vrrp_instance ws-bi-vrrp {

  interface eth2
  state BACKUP
  nopreempt
  advert_int 2
  virtual_router_id 16
  smtp_alert
  priority 118
  authentication {
      auth_type PASS
      auth_pass xxxxxxxxxx
  }
  track_interface {
  eth2
  }
  virtual_ipaddress {
  172.16.10.16
  }
  track_script {
      23c1ddc2-8091-5efc-aecc-9dd80657bfe0
  }

}
vrrp_instance ws-lb-vrrp {

  interface eth1
  state BACKUP
  nopreempt
  advert_int 2
  virtual_router_id 20
  smtp_alert
  priority 118
  authentication {
      auth_type PASS
      auth_pass xxxxxxxxxx
  }
  track_interface {
  eth1
  eth2
  }
  virtual_ipaddress {
  172.16.2.20
  }
  track_script {
      23c1ddc2-8091-5efc-aecc-9dd80657bfe0
  }

}

Utilisations pratiques en réseau étudiant

C'est très utile pour un routeur : on peut le redonder très simplement et éviter les coupures en cas de maintenance.

En général, il faut utiliser quelque chose de “stateless” (sans état) ; une base de donnée sera très complexe à redonder avec keepalived, ça n'est pas fait pour

Alternatives

HeartBeat + MON

C’est une ancienne alternative (aussi vieille que keepalived). Heartbeat fait du ping sur l’interface des deux machines du cluster, et bascule la VIP en cas de non réponse.

MON permet une configuration plus fine, par exemple en effectuant une requête HTTP pour vérifier le statut d’un serveur Web. En cas de problème, il commande à Heartbeat de basculer la VIP

Corosync + Pacemaker

C’est la solution choisie par RedHat pour sa solution RedHatCluster (que plus personne n’utilise d’ailleurs). Corosync gère l’infrastructure, l’état des noeuds et la gestion des groupes. Pacemaker gère les ressources.

Voir les explications de Willy Tarreau sur ce sujet : http://www.formilux.org/archives/haproxy/1003/3259.html

doc/keepalived.txt · Dernière modification: 2018/12/09 02:06 par lazouz