Chapitre 20 - Haute Disponibilité
by
civ
@ 01/04/2008
Ressources en ligne du chapitre 20 de la 2ème édition de notre ouvrage publié chez Dunod.
20.3.2 Configuration de base du 1er noeud
Fichier /etc/ha.d/ha.cf
# Définition des fichiers de logs :
debugfile /var/log/ha-debug
logfile /var/log/ha-log
# Si on préfère utiliser syslog :
logfacility local0
# Définition du type connexion pour le service heartbeat
# et la communication entre les nœuds :
# Pour une connexion par câble série :
baud 19200 # Vitesse du port série
serial /dev/ttyS0 # Utilisation du port COM1
# Pour utiliser du broadcast à travers un réseau TCP/IP :
bcast eth1 eth2 # On utilise 2 interfaces par sécurité
udpport 694 # Utilisation du port 694 (par défaut)
# Pour utiliser plutôt du unicast :
# ucast eth0 192.168.10.2 # On envoie directement les paquets
# vers une adresse IP
# Quelles machines sont dans le cluster :
node frodon # ma 1re node s’appelle frodon
node gimli # la 2e gimli
# Paramètres pour la communication :
keepalive 2 # Secondes entre deux signaux hearbeats
deadtime 30 # Secs max. avant de considérer un nœud mort.
warntime 10 # Secs. avant de signaler un nœud ne répondant plus
initdead 120 # deadtime uniquement pour le démarrage`
# Paramètre du cluster
auto_failback off #
20.4.2 Partition partagée avec drbd
Fichier /etc/drbd.conf :
resource mirror1 {
protocol C;
incon-degr-cmd "echo '!DRBD! pri on incon-degr' | wall ; sleep 60 ; halt -f";
startup {
degr-wfc-timeout 120;
}
disk {
on-io-error detach;
}
net {
on-disconnect reconnect;
}
syncer {
rate 30M;
group 1;
al-extents 257;
}
on frodon {
device /dev/drbd0;
disk /dev/hdb1;
address 192.168.10.1:7788;
meta-disk internal;
}
on gimli {
device /dev/drbd0;
disk /dev/hdb1;
address 192.168.10.2:7788;
meta-disk internal;
}
}
20.4.5 Configuration des ressources
Fichier drbd.xml :
<master_slave id="ms-drbd0">
<meta_attributes id="ma-ms-drbd0">
<attributes>
<nvpair id="ma-ms-drbd0-1" name="clone_max" value="2"/>
<nvpair id="ma-ms-drbd0-2" name="clone_node_max" value="1"/>
<nvpair id="ma-ms-drbd0-3" name="master_max" value="1"/>
<nvpair id="ma-ms-drbd0-4" name="master_node_max" value="1"/>
<nvpair id="ma-ms-drbd0-5" name="notify" value="yes"/>
<nvpair id="ma-ms-drbd0-6" name="globally_unique" value="false"/>
<nvpair id="ma-ms-drbd0-7" name="target_role" value="stopped"/>
</attributes>
</meta_attributes>
<primitive id="drbd0" class="ocf" provider="heartbeat" type="drbd">
<instance_attributes id="ia-drbd0">
<attributes>
<nvpair id="ia-drbd0-1" name="drbd_resource" value="mirror"/>
</attributes>
</instance_attributes>
</primitive>
</master_slave>
Fichier constraints.xml :
<rsc_order id="drbd0_before_fs" from="resource_mountfs" action="start" to="ms-drbd0" to_action="promote"/>
<rsc_colocation id="fs_on_drbd0" to="ms-drbd0" to_role="master" from="resource_mountfs" score="infinity"/>