Après cette introduction à Asterisk, passons maintenant à la partie concrète de la mise en place de notre solution haute disponibilité (HA). Dans cet exemple nous considérons que nous avons deux serveurs organisés comme suis :
- SrvAsterisk-1 : 192.168.1.201
- SrvAsterisk-2 : 192.168.1.202
- L’adresse P virtuelle pour y accéder sera : 192.168.1.200
Nous allons dans cet article nous atteler a mettre en place une IP virtuelle qui assura une continuité de service lors de la perte d’un des serveurs.
Méthode 1 : Utilisation de Heartbeat
Tout d’abord il est nécessaire de l’installer : sudo apt-get install heartbeat
Sa configuration repose sur 3 fichiers :
- /etc/ha.d/ha.cf
- /etc/ha.d/haresources
- /etc/ha.d/authkeys
Voici en détail comment configurer ces trois fichiers.
- /etc/ha.d/ha.cf
bcast eth0
node SrvAsterisk-1
node SrvAsterisk-2
auto_failback off
keepalive 2
deadtime 30
warntime 5
initdead 60
udpport 694
debugfile /var/log/ha-debug
logfile /var/log/ha-logQuelques éléments pour comprendre ce fichier de configuration :
Bcast : Interface réseau
Node : Spécifier ici vos serveurs a intégrer dans le cluster
auto_failback : Si » On » lorsque SrvAsterisk-1 revient, il reprend le relai, si » Off « , SrvAsterisk-2 continu l’intérim jusqu’à une intervention humaine
Keepalive : Fréquence de pouls
Deadtime : Temps avant qu’on considère que le node est HS
Warntime : Temps avant d’envoyer une alerte
Initdead : Temps avant que le 2nd serveur prenne le relai
Udpport : Port utiliser entre les deux serveurs pour communiquer
debugfile/logfile : Emplacement des logs
- /etc/ha.d/haresources (Identique sur les deux serveurs)
SrvAsterisk-1Â IPaddr::192.168.1.200Nous définissons ici que le serveur principal est SrvAsterisk-1
- /etc/ha.d/authkeys
auth 1
1 md5 « !#@ClusterAsterisk/\ »
2 crcCe fichier contient le nécessaire pour que les deux serveurs puissent communiquer entre eux. Nous utilisons utiliser du md5 et la clé est » !#@ClusterAsterisk/\ « .
Une fois toutes ces modifications effectuées il est nécessaire de relancer le service avec la commande : sudo /etc/init.d/heartbeat reload
Cependant, un pouls toute les deux secondes peut vite polluer votre réseau, c’est pourquoi je vous conseil grandement un lien dédié entre votre deux serveurs Asterisk.
Méthode 2 : Cron+Nmap+Arping
Gregg Hansen, auteur du site thiscoolsite a créé deux scripts (Flip1405) se plaçant en concurrent de Heartbeat. Je vous explique ici leurs fonctionnements.
Tout d’abord il est nécessaire de récupérer les deux fichiers
Ces fichiers sont configurés avec les IP spécifiés au début de ce post, il vous faut les changer pour adapter à vos serveurs. Copier chaque fichier sur le serveur adapté, puis éditer le contenu de contab (crontab –e)
- SrvAsterisk-1
*/2 * * * * /emplacement/fichier/flip1405_primary - SrvAsterisk-2
*/2 * * * * /emplacement/fichier/flip1405_secondary
Et voila ! Vos scripts seront lancés toutes les deux minutes. Si votre serveur principal venait à tomber, le serveur secondaire prendra le relai jusqu’au retour du serveur principal.
Ceci clos cet article sur la mise en place d’une adresse IP virtuelle de notre cluster Asterisk. Mon prochain article traitera de la mise en place de la synchronisation des données (Compte SIP/Messagerie) entre les différents noeuds.




Bonjour.
Je trouve votre site interessant, mais un très gros hic … tous les caracteres spéciaux apparaissent étrangement … et pas que sur mon poste ni meme que sur mon navigateur.
du coup cet article m’interesse mais je ne peux pas comprendre les fichiers de configurations …
Dans tous les cas jolie travail.
très bonne journée.
s’il vous plait j’aimerais mettre sur pieds un cluster asterisk sous redhat 4. puisse quelqu’un m’aider a me montrer etapes par etapes la configuration des fichiers, cest urgeant……………………………………………..merci d’avance.