Pour installer Heartbeat, il suffit d'installer le paquet "heartbeat".
IMPORTANT : Comme pour DRBD, les commandes proposées et les fichiers à créer devront être exécutées et créés sur les 2 serveurs (sauf mention contraire).
Bash
apt-get install heartbeat
Pour configurer Heartbeat, vous devrez créer 3 fichiers dans le dossier "/etc/ha.d/" :
- ha.cf : fichier de configuration de heartbeat
- haresources : fichier de configuration pour les ressources
- authkeys : fichier contenant une clé qui permettra aux serveurs de s'identifier l'un l'autre.
Pour commencer, créez le fichier "ha.cf" et collez ceci à l'intérieur.
Bash
vi /etc/ha.d/ha.cf
Plain Text
# 2 chemins différents (eth0 et eth1) pour permettre # à HeartBeat de savoir si l'autre serveur est toujours accessible. # - mcast eth0 : IP multicast utilisée via l'interface réseau : eth0 # - bcast eth1 : paquets de broadcast envoyés sur l'interface eth1 (il est préférable d'y indiquer une interface réseau réservée à Heartbeat, et DRBD si vous le souhaitez) mcast eth0 239.0.0.20 694 1 0 bcast eth1 # Délai à partir duquel HeartBeat considérera l'autre serveur comme défaillant # Fréquence à laquelle HeartBeat enverra son paquet "keepalive" à l'autre serveur # Etc. warntime 4 deadtime 5 initdead 15 keepalive 2 # Lorsque le serveur principal redevient disponible, HeartBeat repassera ce serveur en "Primary" # si vous activez cette option (auto_failback on). # Néanmoins, pour éviter de provoquer 2 interruptions de services (lorsque le serveur principal # tombe en panne, puis quand il redevient disponible), nous vous recommandons de # désactiver cette option (auto_failback off). auto_failback off # Liste des serveurs du cluster node server1 node server2
Pour plus d'infos sur le fichier "ha.cf", consultez la documentation officielle de DRBD.
Ensuite, créez le fichier "haresources".
Bash
vi /etc/ha.d/haresources
Et collez ceci :
Plain Text
server1 IPaddr::10.0.0.30/24/eth0 drbddisk::iw0 Filesystem::/dev/drbd0::/mnt::ext4
Infos :
- server1 : nom du serveur primaire
- 10.0.0.30 : IP virtuel à laquelle vos utilisateurs accéderont pour accéder au serveur actif (le serveur 1 ou le serveur 2 si le serveur 1 est défaillant)
- eth0 : spécifie l'interface réseau à utiliser.
- iw0 : nom de la ressource que nous avions indiqué dans le fichier : /etc/drbd.d/drbd0.res
- Filesystem::/dev/drbd0::/mnt::ext4 : la partition fournie par DRBD, son point de montage et le système de fichiers utilisés sur cette partition.
Et enfin, créez le fichier "authkeys" qui contiendra une clé (un mot de passe) partagée entre les 2 serveurs.
Note : vous pouvez remplacer "my-private-key" par ce que vous voulez, mais cette valeur devra être identique sur les 2 serveurs.
Bash
vi /etc/ha.d/authkeys
Plain Text
auth 1 1 md5 my-private-key
Changer les permissions de ce fichier :
Bash
chmod 600 /etc/ha.d/authkeys
Pour commencer, vérifiez que la partition "/dev/drbd0" n'est pas montée.
Pour cela, tapez cette commande :
Bash
df -h
Comme vous pouvez le voir, la partition "/dev/drbd0" n'apparait pas dans la liste.
Plain Text
Sys. fich. Taille Util. Dispo Uti% Monté sur rootfs 57G 4,9G 49G 10% / udev 10M 0 10M 0% /dev tmpfs 396M 644K 395M 1% /run /dev/disk/by-uuid/3f7e5d0d-62e7-4ec9-a36b-a9f0983644c8 57G 4,9G 49G 10% / tmpfs 5,0M 4,0K 5,0M 1% /run/lock tmpfs 1,3G 224K 1,3G 1% /run/shm
Démarrez HeartBeat sur le serveur principal (dans notre cas : server1).
Bash
/etc/init.d/heartbeat start
Lors du démarrage de HeartBeat, vous verrez ceci.
C'est tout à fait normal. Il ne s'agit pas d'une erreur, mais d'une information (INFO).
Plain Text
Starting High-Availability services: IPaddr[6171]: INFO: Resource is stopped Done.
Attendez pendant quelques secondes et tapez à nouveau la commande :
Bash
df -h
Vous devriez voir apparaitre la partition "/dev/drbd0" montée sur "/mnt".
Si ce n'est pas le cas, attendez encore 1 minute et tapez à nouveau la commande "df -h".
Si la partition n'apparait toujours pas, vérifiez que votre configuration est correcte (configuration de DRBD, de HeartBeat, et de vos interfaces réseau).
Plain Text
Sys. fich. Taille Util. Dispo Uti% Monté sur rootfs 57G 4,9G 49G 10% / udev 10M 0 10M 0% /dev tmpfs 396M 648K 395M 1% /run /dev/disk/by-uuid/3f7e5d0d-62e7-4ec9-a36b-a9f0983644c8 57G 4,9G 49G 10% / tmpfs 5,0M 4,0K 5,0M 1% /run/lock tmpfs 1,3G 372K 1,3G 1% /run/shm /dev/drbd0 79G 184M 75G 1% /mnt
Si la partition "/dev/drbd0" apparait, alors vous pourrez aussi lancer HeartBeat sur le serveur secondaire ("server2" dans notre cas).
Notez qu'une interface "eth0:0" devrait aussi apparaitre si vous tapez la commande :
Bash
ifconfig
Plain Text
... eth0:0 Link encap:Ethernet HWaddr 00:0c:29:49:00:aa inet adr:10.0.0.30 Bcast:10.0.0.255 Masque:255.255.255.0 UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 ...
Sur le serveur secondaire, tapez la commande :
Bash
/etc/init.d/heartbeat start
Notez que la partition ne sera pas montée sur le serveur secondaire tant que le serveur principal sera disponible (non défaillant).
Pour le moment, si vous tapez la commande "drbd-overview" sur le serveur 1, vous verrez qu'il s'agit du serveur principal (Primary) et que la partition de DRBD est bien montée sur "/mnt".
Bash
drbd-overview
Plain Text
0:iw0 Connected Primary/Secondary UpToDate/UpToDate C r----- /mnt ext4 79G 184M 75G 1%
Si vous tapez la commande "watch drbd-overview" sur le serveur 2, vous verrez qu'il s'agit du serveur secondaire et que la partition n'est pas montée pour le moment.
Pour que celle-ci soit montée sur ce serveur, il faut que le serveur principal soit en panne.
Note : la commande ci-dessous actualise son affichage toutes les 2 secondes.
Bash
watch drbd-overview
Plain Text
Every 2,0s: drbd-overview Thu Oct 13 21:32:27 2016 0:iw0 Connected Secondary/Primary UpToDate/UpToDate C r-----
Pour simuler cette panne, il suffit d'arrêter HeartBeat sur le serveur principal.
Bash
/etc/init.d/heartbeat stop
Du coup, vous verrez que le serveur 2 vous affichera ceci.
Ce qui veut dire que HeartBeat vient de passer votre serveur secondaire en principal.
Et comme vous pouvez le voir, HeartBeat a bien monté la partition sur le serveur secondaire, car le serveur principal est "défaillant".
Plain Text
Every 2,0s: drbd-overview Thu Oct 13 21:34:06 2016 0:iw0 Connected Primary/Secondary UpToDate/UpToDate C r----- /mnt ext4 79G 184M 75G 1%
Si vous relancez HeartBeat sur le serveur 1 (qui était le serveur principal), HeartBeat basculera à nouveau vos services sur le serveur 1 (si l'option "auto_failback on" est présente dans le fichier "/etc/ha.d/ha.cf").
Note : appuyez sur CTRL + C pour quitter la commande "watch drbd-overview".
Linux 11/10/2016
Linux 12/9/2015
Linux 18/9/2016
Linux 24/7/2015
Contenu épinglé
Contact
® InformatiWeb-Pro.net - InformatiWeb.net 2008-2022 - © Lionel Eppe - Tous droits réservés.
Toute reproduction totale ou partielle de ce site est interdite et constituerait une contrefaçon sanctionnée par les articles L.335-2 et suivants du Code de la propriété intellectuelle.
Pas de commentaire