Tutoriel d installation : DRBD et Heartbeat

Documents pareils
Configuration matériel. Tâche 2 : Installation proprement dite de l application sur un serveur de test virtualisé sous VmWare Workstation.

Service WEB, BDD MySQL, PHP et réplication Heartbeat. Conditions requises : Dans ce TP, il est nécessaire d'avoir une machine Debian sous ProxMox

TARDITI Richard Mise en place d une Haute Disponibilité

Solution Haute Disponibilité pour Linux

Tuto 2 : Configuration Virtual box, Configuration et installation du serveur XiBO

Système de stockage distribué à faible coût Travail de diplôme 2010

Agenda. Bienvenue. Agenda

Maintenance et gestion approfondie des Systèmes d exploitation Master 2 SILI. Année universitaire David Genest

GOUTEYRON ALEXIS. SIO2 N candidat: UEpreuve E4. USituation professionnelle 2. serveurs de fichiers. Uen haute disponibilité

Haute disponibilité d'un serveur FTP

04/02/2014 Tutoriel. Lubuntu & glpi. thomas [NOM DE LA SOCIETE]

Linux et le Shell. Francois BAYART. Atelier du samedi 20 Novembre

Installation des outils OCS et GLPI

Installation d un serveur HTTP (Hypertext Transfer Protocol) sous Débian 6

Stage SambaÉdu Module B. Jour 9 Outils complémentaires et problèmes récurrents divers

Serveur Linux : FTP. Mise en place d un service FTP sous Linux. Bouron Dimitri 20/04/2014

Personnes ressources Tice. Académie de Rouen

Machine virtuelle W4M- Galaxy : Guide d'installation

CASE-LINUX MAIL - ROUNDCUBE

Tutoriel Création d une source Cydia et compilation des packages sous Linux

Cloud Computing Cluster WebDAV Haute Disponiblité

Serveur de messagerie sous Debian 5.0

INSTALLATION DEBIAN 7 (NETINSTALL) SUR VM

OCS Inventory & GLPI

NOTE: Pour une meilleure sécurisation, nous vous recommandons de faire l installation des outils web à l intérieur d un serveur virtuel.

BTS SIO Dossier BTS. PURCHLA Romain

SAN AoE (ATA over Ethernet)

TP administration système

Installation du serveur WEB Apache ( MySQL, PHP) sous Debian 7.

POVERELLO KASONGO Lucien SIO 2, SISR SITUATION PROFESSIONNELLE OCS INVENTORY NG ET GLPI

LOAD-BALANCING AVEC LINUX VIRTUAL SERVER

Redondance de service

windows. deb etch main deb-src etch main

Solution haute disponibilité

Documentation FOG. Déploiement d images de systèmes d exploitation à travers le réseau.

CNAM Déploiement d une application avec EC2 ( Cloud Amazon ) Auteur : Thierry Kauffmann Paris, Décembre 2010

Open Source Job Scheduler. Installation(s)

Gestion d'un parc informatique avec OCS INVENTORY et GLPI

Sybase High Avalaibility

Le serveur web Apache

La replication dans PostgreSQL

LIVRE BLANC PRODUIT. Evidian SafeKit. Logiciel de haute disponibilité pour le clustering d application

OpenMediaVault installation

Tutoriel compte-rendu Mission 1

Répartition des charges avec HaProxy CONTEXTE MFC JULIEN HUBERT

SERVEUR DE SAUVEGARDE POUR BCDI3. par. G.Haberer, A.Peuch, P.Saadé

Installation de Redhat Cluster Suite sur CentOS 5.4 avec cluster actif/passif d Oracle 11gR2

Comment configurer Kubuntu

Solutions de stockages réseaux

Ubuntu Linux Création, configuration et gestion d'un réseau local d'entreprise (3ième édition)

Installation d'un serveur FTP géré par une base de données MySQL

INSTALLATION DE BACKUPPC

Supervision avec OCS Inventory NG

Documentation FOG. 3. Choisir le nom de la machine, le nom d utilisateur et le mot de passe correspondant (par exemple : fog, password)

Note : Ce tutoriel a été réalisé sur GNU/Linux (Ubuntu) avec un serveur LAMP installé en local.

(1) Network Camera

Virtualisation et le hosting. Christophe Lucas Sébastien Bonnegent rouen.fr>

Sauvegarde sur un serveur Scribe

Solutions de stockage réseau

KAJOUT WASSIM INTERNET INFORMATION SERVICES (IIS) 01/03/2013. Compte-rendu sur ISS KAJOUT Wassim

Debian Lenny - Virtualisation avec Libvirt/KVM Debian GNU/Linux

équipement radio Procédure

Outils Logiciels Libres

Année Universitaire ième année IMAC Mardi 6 janvier Cloud computing Travaux Pratiques

Installation de Zabbix

Installer un gestionnaire de parc GLPI sous Linux

Proce dure Installation Cluster de basculement SQL Server 2005

PPE GESTION PARC INFORMATIQUE

Architectures haute disponibilité avec MySQL. Olivier Olivier DASINI DASINI - -

Situation professionnelle n X

INTRODUCTION. Mysql-server est un serveur de bases de données. Cest un logiciel libre.

INSTALLATION NG V2.1 D OCS INVENTORY. Procédure d utilisation. Auteur : GALLEGO Cédric 23/10/2014 N version : v1

PLANNING DES ACTIVITES PROFESSIONNELLES

I. Adresse IP et nom DNS

L installation a quelque peu changée depuis les derniers tutos, voici une actualisation.

ASR4 Réseaux Département Informatique, IUT Bordeaux 1. DHCP Prénom : Nom : Groupe :

Gestionnaire des services Internet (IIS)

GUIDE D'INSTALLATION DU SYSTEME DE GESTION DE BASES DE DONNEES MYSQL POUR LE PGI EBP

DEPLOIEMENT 1. IMAGEX. IMAGEX est le nom de la ligne de commande fournie pour gérer les fichiers WIM. 1. Créer un fichier WIM : capture

Projet Semestre2-1SISR

REPARTITION DE CHARGE LINUX

Installation d'un FreeNAS (v0.684b du 30/03/2007) pour sauvegarder les données d'un ZEServer

Migration NT4 vers Windows 2003 Server

Procédure d utilisation et de paramétrage (filtrage) avec IPFIRE

Mise en place des TPs Réseau en machines virtuelles. Utilisation de VmPlayer

Procédure d'installation

Installation du SLIS 4.1

[ GLPI et OCS pour Gentoo 2006] ArtisanMicro. Alexandre BALMES

Il est courant de souhaiter conserver à

Réalisation d un portail captif d accès authentifié à Internet

Monter automatiquement des disques distants ou locaux avec automount/autofs

Livre blanc Haute disponibilité sous Linux

Serveur Subversion Debian GNU/Linux

Installation et configuration d OCS/GLPI sur un Serveur Debian

But de cette présentation. Serveur DHCP (Application à CentOS) Cas des machines virtuelles. Schéma de principe. Hainaut P

1. Aménagements technologiques 2. Installation de Microsoft SQL Server 2012

WEBMESTRE : CONCEPTION DE SITES ET ADMINISTRATION DE SERVEURS WEB

Etudiant Ella Fitzgerald

Transcription:

Tutoriel d installation : DRBD et Heartbeat Sommaire Avant-Propos... 1 1. Objectifs... 1 2. Schéma... 2 3. Configuration des machines virtuelles... 2 4. Préparation des disques... 3 5. Installation et configuration de DRBD... 5 6. Installation et configuration d Heartbeat... 8 7. Installation d Apache et de PHP... 10 8. Installation de Mysql... 12 9. Installation de PHPMyAdmin... 14 Avant-Propos Le tutoriel suivant est réalisé avec deux machines virtuelles Debian Wheezy ayant une adresse IP fixe dans le cadre de l épreuve E4 du BTS SIO : le laboratoire Galaxy Swiss Bourdin (cas GSB). Qu est-ce que DRBD? DRBD pour Distributed Replicated Block Device est comparable à un RAID 1 mais en réseau, c est à dire que deux disques, partitions ou même un LVM peuvent être répliqué d un disque à un autre via un réseau Ethernet ou fibre optique. Cela permet donc d assurer la disponibilité de vos données en cas de crash complet d une machine. Ce que ne permet pas de faire un RAID classique. C est quoi Heartbeat? Heartbeat est un logiciel de surveillance de la disponibilité des programmes, pour les systèmes d exploitation Linux, FreeBsd, OpenBSD, Solaris et MacOS X. Il est distribué sous licence GPL. Heartbeat écoute les battements de cœur des signaux émis par les services d une grappe de serveurs lorsqu ils sont opérationnels. Lorsqu un serveur devient défaillant, Heartbeat le détecte (puisqu il n entend plus ses battements de cœur) et bascule les services surveillés sur un autre serveur. Pour que cela soit transparent pour les utilisateurs, Heartbeat met en place une IP virtuelle unique qui est balancée entre les deux serveurs. 1. Objectifs Nous allons au cours de ce tutoriel : Installer et configurer DRBD Installer et configurer HeartBeat Installer et configurer Apache et MySQL 1

2. Schéma Voici la topologie que nous allons mettre en place : 3. Configuration des machines virtuelles Dans un premier temps, nous allons configurer nos deux machines virtuelles (les noms de machines ainsi que leurs adresses IP sont spécifiques au contexte, personnalisé les pour votre situation) : a) Machine 1 : Hostname: S-web-ext Adresse IP: 192.168.1.11 Un second disque dur virtuel de 8 GO (pour DRBD) b) Machine 2 : Hostname: S-web-ext2 Adresse IP: 192.168.1.12 Un second disque dur virtuel de 8 GO (pour DRBD) 2

De plus, nous allons ajouter deux lignes dans le fichier /etc/hosts afin que nos machines puissent se pinger par leur nom : vim /etc/hosts Ajouter : #Serveurs du cluster 192.168.1.11 node1 192.168.1.12 node2 Voici le résultat de la commande ping : 4. Préparation des disques Nous allons commencer par créer une partition sur les seconds disques que nous avons rajoutés. Sur les deux machines tapez les commandes suivantes : fdisk /dev/sdb n p 1 appuyer sur entrée 3

appuyer une seconde fois sur entrée w Maintenant que nous avons partitionné les deux disques, nous allons installer les paquets nécessaires à l utilisation de DRBD. 4

5. Installation et configuration de DRBD Sur les deux machines (node 1 et node 2) tapez les commandes suivantes : aptitude install drbd8-utils Puis une fois le paquet installé, on active le module avec la commande suivante : modprobe drbd Vous pouvez vérifier la version de DRBD installée en tapant la commande : modinfo drbd Maintenant que nos disques et DRBD sont mis en place, nous allons configurer la réplication des données entre les deux disques. Pour ce faire, nous allons créer et éditer un fichier que nous allons appeler drbd0.res dans le dossier /etc/drbd.d/ Attention les commandes et les configurations suivantes sont à faire sur les deux serveurs. cd /etc/drbd.d/ vim drbd0.res Puis remplissez le fichier de la façon suivante : Explications: Tout d abord on donne un nom à notre ressource DRBD dans notre cas, nous allons l appeler r0. 5

Dans cette ressource, nous allons renseigner nos deux nodes, cela commence donc par on node 1 (node 1 doit être le hostname de la machine) avec les valeurs suivantes: device /dev/drbd0; #Ceci est le nom du disque DRBD que nous allons créer disk /dev/sdb1; #Ceci est le chemin de la partition que nous allons utiliser address 192.168.2.101:7788; #Adresse IP du node1 meta-disk internal; #On écrit les MD sur le disque Afin d éviter toute erreur lors de la recopie du fichier, nous allons depuis node 1 l envoyer à node 2 à l aide de la commande scp : scp /etc/drbd.d/drbd0.res root@192.168.1.12:/etc/drbd.d/ Vérifier sur node 2 que le fichier est bien présent : ls /etc/drbd.d/ Une fois ce fichier écrit sur les deux nodes nous allons enfin pouvoir mettre en place la réplication : Toujours sur les deux nodes tapez les commandes suivantes : drbdadm create-md r0 drbdadm up r0 Et voilà notre DRBD est pratiquement mis en place, vous pouvez vérifier que vos nodes se contactent en tapant la commande suivante : drbd-overview Vous devriez avoir cette ligne en sortie : Cela veut dire que vos nodes se connectent mais que la réplication n est pas encore possible étant donné qu aucun des deux n est en mode Primary, pour y remédier nous allons mettre node 1 en primary avec la commande suivante : drbdadm -- --overwrite-data-of-peer primary r0 Et node 2 en secondary : drbdadm secondary r0 La synchronisation initiale se lance, vous pouvez vérifier l état de la synchronisation avec la commande suivante : cat /proc/drbd 6

La synchronisation initiale peut être plus ou moins lente en fonction de l espace disque et de la rapidité de votre réseau local. Vous pouvez suivre la synchronisation avec un rafraîchissement toutes les deux secondes avec la commande suivante : watch cat /proc/drbd Vous pouvez quitter cette vue en faisant : CTRL+C Une fois la synchronisation terminée la commande cat /proc/drbd vous donneras ceci : cat /proc/drbd Si les deux sont en mode ds:uptodate/uptodate c est que tout fonctionne bien. Maintenant que notre raid réseau est fonctionnel, nous allons créer un système de fichiers en ext4 pour pouvoir écrire dessus. Tapons la commande suivante sur le node primaire (node 1) : mkfs.ext4 /dev/drbd0 7

Avec DRBD, vous devez savoir que l on ne peut monter la partition DRBD uniquement sur le serveur sur laquelle la partition DRBD est en Primary. Maintenant, nous allons installer Heartbeat sur les deux nodes afin de mettre en place le balancement de la partition DRBD entre les deux serveurs. 6. Installation et configuration d Heartbeat ATTENTION: Toutes les prochaines étapes sont à faire sur les deux serveurs! Heartbeat s installe simplement avec la commande : aptitude install heartbeat Une fois Heartbeat installé, nous allons devoir créer trois fichiers dans le répertoire /etc/ha.d/ : ha.cf : Pour la configuration générale de HeartBeat haresources : Pour la configuration des ressources authkeys : Pour la clef partgaé entre les serveurs du cluster Voici le contenu du fichier ha.cf : Attention : assurez-vous que vous pouvez ping node 2 depuis node 1 et vice-versa. Nous allons maintenant créer le contenu du fichier haresources : Explications : node 1 = nœud primaire du cluster IPaddr::192.168.1.13/24/eth0 = Adresse IP balancée du cluster sur eth0 drbddisk::r0 = nom de la ressource drbd (spécifié dans /etc/drbd.d/drbd0.res) Filesystem::/dev/drbd0::/mnt::ext4 = Nom de la partition drbd, point de montage et type de système de fichier. Et pour finir nous allons créer le fichier authkeys. Ce fichier contient une clef partagée entre les deux serveurs. Cela peut être un mot de passe, ou un simple mot. Voici le mien: 8

Ce fichier la doit avoir les permissions 600. Donc sur les deux serveurs tapez : chmod 600 /etc/ha.d/authkeys On peut maintenant démarrer Heartbeat sur node 1 avec la commande suivante : /etc/init.d/heartbeat start Patientez quelques secondes et faites sur node 1 la commande drbd-overview et vérifiez si la partition /dev/drbd0 est bien montée dans /mnt/. Vous pouvez aussi vérifier avec la commande ifconfig, vous verrez qu une nouvelle interface eth0:0 a été créer avec l adresse IP configuré dans le fichier haresources. Maintenant sur node 2 démarrez aussi Heartbeat avec la commande : /etc/init.d/heartbeat start Et voilà votre cluster DRBD est opérationnel. Comment le tester? Sur node 2 tapez la commande suivante pour vérifier l état de drbd en temps réel : watch drbd-overview Depuis node 2 vous devriez voir cette ligne : Cette ligne nous montre bien que node 2 est secondary et que la partition DRBD n est pas montée Maintenant sur node 1 on arrête Heartbeat avec la commande suivante : /etc/init.d/heartbeat stop Basculez tout de suite sur node 2 et voyez que la ligne va devenir : Cela nous montre bien que node 2 est devenu primaire et que la partition DRBD est bien monté. Vous pouvez aussi vérifier que l IP de balancement est bien présent sur node 2. Maintenant, on remet node 1 en primaire en redémarrant Heartbeat avec la commande : 9

/etc/init.d/heartbeat start Comme nous avons mis la valeur auto_failback off dans le fichier ha.cf node 2 sera toujours en primaire. Il faut donc arrêter Heartbeat sur node 2 avec la commande : /etc/init.d/heartbeat stop Attendre que la partition DRBD soit remonté sur node 1 et redémarrer Heartbeat sur node 2 : /etc/init.d/heartbeat start Maintenant que notre cluster DRBD est actif, on va installer Apache, MySQL et PHP pour mettre en place un site hautement disponible. 7. Installation d Apache et de PHP On commence par installer Apache et PHP5 sur les deux nodes avec la commande : aptitude install apache2 php5 Après l installation d Apache, nous allons désactiver sur les deux nodes le démarrage automatique du service au lancement de la machine parce que c est Heartbeat qui va gérer le lancement d Apache. Sur les deux nodes lancez donc la commande : insserv -r apache2 Et arrêtez Apache sur node 2 avec la commande : /etc/init.d/apache2 stop Sur le node 1 nous allons créer dans le répertoire /mnt/ un dossier www pour stocker les pages web. Dans ce dossier, nous allons créer une page Web par défaut pour vérifier que le balancement fonctionne. Sur node 1 faites : mkdir /mnt/www Puis dans ce dossier créez un fichier index.php avec le contenu suivant : <?php?> echo "Un coucou de ".gethostname()."\n" Nous allons faire en sorte que le dossier des pages par défaut d Apache soit /mnt/www au lieu de /var/www. Je vais donc créer un lien symbolique de /var/www vers /mnt/www/. Sur les deux nodes faites les commandes suivantes : rm -rvf /var/www/ ln -s /mnt/www/ /var/ 10

Vous pouvez vérifier que le lien est fonctionnel avec la commande : ls -la /var/www Vous devriez voir cette ligne : Maintenant, nous allons configurer Heartbeat pour qu il gère le démarrage automatique d Apache. Sur les deux nodes éditez le fichier /etc/ha.d/haresources et rajoutez simplement apache2 à la fin de la ligne. Vos fichiers /etc/ha.d/haresources devraient ressembler à ceci : Rechargez le fichier de configuration Heartbeat sur les deux nodes avec la commande : /etc/init.d/heartbeat reload Nous allons vérifier si le balancement fonctionne bien. Ouvrez un navigateur internet et connectez-vous à l adresse IP balancée de votre Cluster DRBD/Apache. Pour ma part l ip est 192.168.1.13 Vous devriez voir une page avec le texte suivant (si bien sur node 1 est le node actif) : Si vous voyez bien cela arrête HeartBeat sur le node 1, patientez quelques secondes et rechargez la page web. Maintenant, le texte affiché devrait être : La page index.php qui nous avons mis dans /mnt/www/ nous affiche le hostname de la machine. Nous voyons donc bien que le balancement se fait bien entre les deux nodes de notre Cluster DRBD/Apache. Pour finir, relancez Heartbeat sur node 1. Rechargez la page web et le texte : 11

Sur node 2 vous pouvez voir avec la commande suivante que le service Apache n est pas démarré. Heartbeat démarre et arrête automatiquement le service Apache : /etc/init.d/apache2 status Maintenant, nous allons installer MySQL. 8. Installation de Mysql On commence par installer MySQL Server sur les deux nodes avec la commande : aptitude install mysql-server Après l installation de MySQL, nous allons désactiver sur les deux nodes le démarrage automatique du service au lancement de la machine parce que c est Heartbeat qui va gérer le lancement de MySQL. Sur les deux nodes lancez donc la commande : insserv -r mysql Et arrêtez Mysql les deux nodes avec la commande : /etc/init.d/mysql stop Sur le node 1 nous allons déplacer le dossier par défaut qui contient les bases de données dans le répertoire /mnt/. Le dossier par défaut est le dossier /var/lib/mysql. mv /var/lib/mysql/ /mnt/ Et on crée un lien symbolique de /mnt/mysql vers /var/lib/mysql : ln -s /mnt/mysql/ /var/lib/ On fait la même chose avec le fichier debian.cnf, qui est dans /etc/mysql : mv /etc/mysql/debian.cnf /mnt/mysql/ ln -s /mnt/mysql/debian.cnf /etc/mysql/ Maintenant connectez-vous sur node 2 et tapez les commandes suivantes : rm -rvf /var/lib/mysql/ rm -vf /etc/mysql/debian.cnf ln -s /mnt/mysql/ /var/lib/ ln -s /mnt/mysql/debian.cnf /etc/mysql/ Maintenant sur node 1, démarrez MySQL avec la commande : /etc/init.d/mysql start Nous allons créer une base de données appelée testdrbd en ligne de commande : 12

Maintenant, nous allons configurer Heartbeat sur les deux nodes pour démarrer automatiquement MySQL. Éditez le fichier /etc/ha.d/haresources et rajoutez mysql à la fin de la ligne comme ceci : Rechargez le fichier de configuration Heartbeat sur les deux nodes avec la commande : /etc/init.d/heartbeat reload Maintenant, nous allons voir si le balancement se fait bien. Sur node 1 stoppez Heartbeat avec la commande : /etc/init.d/heartbeat stop Allez sur node 2 et vérifiez que : o Node 2 est bien devenu le node primaire et que /dev/drbd0 est bien monté dans /mnt/ : drbd-overview ifconfig o l IP balancée est bien sur node 2 : o mysql est bien lancé sur node 2 : 13

/etc/init.d/mysql status Si tout ok, connectez-vous au serveur MySQL et vérifiez que la base de données est bien présente : On voit bien que la base de données est bien présente. À partir de maintenant, vous avez un cluster Apache, PHP, MySQL Actif / Passif. 9. Installation de PHPMyAdmin On installe PHPMyAdmin afin d avoir une interface web permettant la gestion de nos bases de données. On commence par installer PHPMyAdmin sur les deux nodes avec la commande : aptitude install phpmyadmin Il faudra cocher la case «Apache2» puis faite OK comme ceci : 14

Laissez l option «oui» : Un mot de passe vous est demandé : entrez votre mot de passe et confirmez celui-ci à la question d après. Vérifiez le bon fonctionnement de PhpMyAdmin en vous connectant avec votre navigateur en vous connectant à l adresse IP balancée par le cluster : http://192.168.1.13/phpmyadmin 15

Vous pouvez maintenant vous connecter à l aide de vos identifiants préalablement renseignés afin d ajouter des bases de données, en supprimer, etc. ATTENTION: Si vos rajoutez des modules PHP où Apache, il faut les installer sur les deux nodes. Vous pouvez aussi faire un lien symbolique de votre fichier php.ini vers votre partition DRBD si vous modifiez ce fichier. 16