Linux High-Availability Cluster tool
Centos 6.5 "Pacemaker"
1. Architecture:
2. Composants:
Avec cet tutoriel, j'ai utilise Hyper-v pour créer les machines virtuelles.
- OS: Centos 6.5
- Node1: Serveur 192.168.1.100
- Node2: Serveur 192.168.1.101
- Cluster: adresse IP flottante 192.168.1.120
3. Creation de VM:
Dans le gestionnaire Hyper-V, créer un nouvel ordinateur virtuel
Dans l’étape de création de la carte réseau, vous pouvez sélectionner n'importe quelle connexion car nous allons la supprimer et la remplacer avec une carte réseau héritée puisque la VM Centos (même ubuntu, fedora, redhat, ..) ne peut pas voir la carte réseau normale dans le gestionnaire des périphériques.
Donner la taille du disque.
Sélectionner l'image iso de l'installation
Avant de démarrer la VM, aller dans "Paramètres", retirer l'ancien carte réseau et ajouter "Carte réseau héritée"
Sélectionner le type de connexion, dans notre cas nous allons utilise une connexion externe, l'installation de cluster et les autres composants nécessite l'internet pour le téléchargement des packages.
Démarrer la machine virtuelle, Sélectionner "Install"
4. Prérequis d'installation:
Avant l'installation, il faut prépare Centos:
4.1. Adressage:
Il faut fixé l'adresse IP de deux nodes, Si Centos avec un interface graphique, aller dans les paramètres réseau et changer l'adresse manuellement, sinon utiliser la commande "vi" pour éditer le fichier "/etc/sysconfig/networking/devices/eth0"
Il faut les droits admin, utiliser "root"
Si vous voulez réinitialiser le mot de passe de root, taper:
#sudo passwd root
4.1. Nom de la machine
Dans le terminal ouvrir avec "vi" le fichier "/etc/sysconfig/networking/profiles/default/network" et entrer le nom de hote.
Ou utiliser la commande setup pour changer le"hostname"
Ouvrir terminal et taper "setup"
Aller a "Configuration du réseau"
"Configuration DNS"
Entrer le nom de la machine "node1"
Valider par "OK"
4.3. Firewall
Pour désactiver le firewall, exécuter la commande suivante:
#service iptables stop
Ou aller dans "setup"
4.4. Activation ssh:
Pour mieux utiliser "Putty" et "WinSCP", il faut active "ssh". Exécuter les deux commandes suivantes:
#service sshd stop
#chkconfig sshd on
Ou utiliser "setup"
4.5. Désactivation selinux
Pour que les deux nodes puissent se communiquer entre eux sans erreur d'autorisation dans le cluster, il faut désactiver "selinux"
Modifier avec "vi" le fichier "/etc/selinux/config"
SELINUX=disabled
4.5. Hosts
Fixer les noms de deux nodes dans le fichiers "hosts" (/etc/hosts)
Redémarrer les deux nodes
5. Installation pacemaker/corosync:
Exécuter cette commande pour l'installation
#yum install pacemaker corosync crmsh
Après l'installation, utiliser cette configuration et changer les adresses IP des nodes:
"/etc/corosync/corosync.conf"
Si "corosync.conf" n'existe pas, créer le.
compatibility: whitetank
aisexec {
user: root
group: root
}
service {
ver: 1
name: pacemaker
use_mgmtd: no
use_logd: no
}
totem {
version: 2
token: 5000
token_retransmits_before_loss_const:
10
join: 1000
consensus: 7500
vsftype: none
max_messages: 20
send_join: 45
clear_node_high_bit:
yes
secauth: off
threads: 0
interface {
ringnumber:
0
member {
memberaddr: 192.168.1.100
}
member {
memberaddr: 192.168.1.101
}
bindnetaddr: 192.168.1.0
mcastaddr: 226.94.1.1
mcastport: 5405
ttl: 1
}
}
logging {
fileline: off
to_stderr: no
to_logfile: yes
to_syslog: yes
logfile:
/var/log/cluster/corosync.log
debug: off
timestamp: on
logger_subsys {
subsys: AMF
debug: off
}
}
amf {
mode: disabled
}
|
Générer le clé authentification corosync:
#corosync-keygen
[root@node1 ~]# corosync-keygen Corosync Cluster Engine Authentication key generator. Gathering 1024 bits for key from /dev/random. Press keys on your keyboard to generate entropy. Press keys on your keyboard to generate entropy (bits = 64). Press keys on your keyboard to generate entropy (bits = 128). Press keys on your keyboard to generate entropy (bits = 192). Press keys on your keyboard to generate entropy (bits = 256). Press keys on your keyboard to generate entropy (bits = 320). Press keys on your keyboard to generate entropy (bits = 392). Press keys on your keyboard to generate entropy (bits = 456). Press keys on your keyboard to generate entropy (bits = 520). Press keys on your keyboard to generate entropy (bits = 592). Press keys on your keyboard to generate entropy (bits = 656). Press keys on your keyboard to generate entropy (bits = 728). Press keys on your keyboard to generate entropy (bits = 800). Press keys on your keyboard to generate entropy (bits = 864). Press keys on your keyboard to generate entropy (bits = 928). Press keys on your keyboard to generate entropy (bits = 992). Writing corosync key to /etc/corosync/authkey. [root@node1 ~]# |
Copier le continue de répertoire "/etc/corosync" dans node2
#scp /etc/corosync/* root@node2:/etc/corosync/
Démarrer corosync et pacemaker dans les deux nodes
#service corosync start
#chkconfig corosync on
#service pacemaker start
#chkconfig pacemaker on
service corosync start Starting Corosync Cluster Engine (corosync): [ OK ] service pacemaker start Starting Pacemaker Cluster Manager [ OK ] |
Verifier l'etat de cluster, exécuter:
#pcs status
# crm status Last updated: Fri Sep 26 02:58:10 2014 Last change: Fri Sep 26 01:22:54 2014 via crmd on node1 Stack: classic openais (with plugin) Current DC: node2 - partition with quorum Version: 1.1.10-14.el6_5.3-368c726 2 Nodes configured, 2 expected votes 0 Resources configured Online: [ node1 node2 ] |
6. Adresse IP flottante:
Dans cette étape, nous allons créer une adresse IP flottante pour cluster
Exécuter cette commande:
#pcs resource create ClusterIP ocf:heartbeat:IPaddr2 \ip=192.168.1.120 cidr_netmask=24 op monitor interval=30s
Adresse IP: 192.168.1.120
7. Test
Installer Apache dans les deux nodes:
#yum install httpd
Créer une page html "index.html" sous "/var/www/html" dans les deux nodes avec un message "Hello this is Node1" pour node1 "Hello this is Node2" pour node2.
Code html:
<!DOCTYPE html>
<html>
<body>
<h1>Hello this is Node1</h1>
</body>
</html>
Accéder avec un navigateur l'adresse IP flottante Cluster (192.168.1.120), Cette page lorsque les deux nodes en ligne,
Maintenant nous allons mettre node1 hors ligne et accéder avec la même adresse IP flottante cluster (192.168.1.120)
Voila, il y a un basculement vers node2.
No comments:
Post a Comment