PPE 1 MISSION 1 Tâche 1 : Se renseigner sur les exigences logicielles et matérielles de l utilisation de MRBS sur une distribution Linux (Debian). Proposer une configuration matérielle suffisante pour faire tourner de manière satisfaisante l application. Configuration matériel Tâche 2 : Installation proprement dite de l application sur un serveur de test virtualisé sous VmWare Workstation. Importation de la BDD
MRBS Opérationnel MISSION 2 Tâche 1 : Recensement des problèmes physiques possibles et proposition de solutions. Problème Solution Disque dur HS RAID, Hot-Swap, Snapshot Alimentation HS Alimentation redondante Carte Réseau HS Carte réseau redondante Problème de réseau électrique Onduleur, Batteries, Groupe électrogène Vol de matériel Sécurisation ferme de serveur, externalisation Tâche 2 : Recensement des problèmes logiciels possibles et proposition de solutions. Problème Solution Crash d une base de données Cluster Actif/Passif Attaque DDOS Pare-feu, Mise en place d un IDS, Filtrage des adresses IP Vol de données interne Observateur d événements (Windows ou Linux), Mise en place d une politique de sécurité Crash d un système Cluster Actif/Passif Surcharge d un serveur Cluster Actif/Actif, Upgrade des périphériques (RAM, HDD, CPU, )
MISSION 3 Tâche 1 : Présentation du principe de Clustering suivant le mode Actif / Passif, d un point de vue matériel et logiciel. Le principe du Clustering Actif/Passif est la capacité d un équipement actif à basculer automatiquement ses services (serveur web, DHCP, DNS, ) vers un équipement secondaire passif lorsque l équipement rencontre un problème. Tâche 2 : Proposition de solution matérielle et logicielle afin de mettre en place le cluster. Afin de mettre en place le cluster il faut : Un deuxième serveur sous Debian Un deuxième serveur web LAMP (Apache/MySql/Php) + PhpMyAdmin Un second disque dur sur chaque serveur Le Système DRBD + HEARTBEAT Tâche 3 : Présentation d un planning prévisionnel permettant la mise en place effectif du cluster sur un environnement de test virtualisé Tâches Jour 1 Jour 2 Install Clone Config : Debian 2h Install Config : Cluster 10h SSH NTP 1h Apache MySQL PHP : MRBS 1h Test Cluster 1h 1h
MISSION 4 Tâche 1 : Installation du système Linux sur une machine Virtuelle (on clonera cette machine à la fin de la configuration afin de gagner du temps) pour le 1er serveur du cluster Tâche 2 : Mise en place des systèmes de fichiers comportant d éventuels éléments de sécurité (en fonction des éléments retenus lors des Missions 2 et 3) Les deux machines clonées Debian + LAMP + MRBS Tâche 3 : Installation des différents éléments logiciels retenus en Mission 3 pour la mise en place du cluster (Gestion du Cluster, Activation/Désactivation d un nœud, réplication de données, GUI ) Création de la deuxième partition (Debian1 et Debian2): # fdisk /dev/sdb
1. Installation et configuration de DRDB Tableau d adressage : Nom d hôte Adresse IP Masque Passerelle Debian1 192.168.2.11 255.255.255.0 192.168.2.2 Debian2 192.168.2.12 255.255.255.0 192.168.2.2 IP Virtuelle 192.168.2.10 255.255.255.0 192.168.2.2 Faire ces modifications sur Debian2 : # hostname Debian2 # nano /etc/hostname # nano /etc/hosts Installation de DRDB (Debian1 et Debian2): # apt-get install drbd8-utils Installation du module (Debian1 et Debian2): # modprobe drbd Configuration de la réplication (Debian1 et Debian2): # nano /etc/drbd.d/r0.res # drbdadm create-md r0 # drbdadm up r0
Mettre Debian1 en mode primaire (Debian1) : # drbdadm -- --overwrite-data-of-peer primary r0 Les deux serveurs devrait pouvoir se connecter, vérifions avec le commande suivante # drbd-overview Créer un système de fichier ext4 (Debian1) : # mkfs.ext4 /dev/drbd1 2. Installation et configuration d Heartbeat Installation d HeartBeat (Debian1 et Debian2) : # apt-get install heartbeat Configuration d HeartBeat (Debian1 et Debian2) : # nano /etc/ha.d/ha.cf # nano /etc/ha.d/haresources Il s agit de l adresse IP virtuelle des deux serveurs sur laquelle on pourra les contacter. # nano /etc/ha.d/authkeys # chmod 600 /etc/ha.d/authkeys
Une fois ses étapes réalisées sur les deux serveurs, nous pouvons démarrer HeartBeat sur Debian1 : # /etc/init.d/heartbeat start Avec cette commande nous vérifions que la partition /dev/drbd1 est bien montée dans mnt : # df -h Toujours sur Debian1, nous tapons la commande : # ifconfig La nouvelle interface eth0 :0 que nous avons créés dans le fichier haresources apparaît avec l adresse IP virtuelle : Nous pouvons maintenant lancer heartbeat sur Debian2 : # /etc/init.d/heartbeat start Le Cluster est enfin fonctionnel, mais ce qui nous intéresse surtout c est que le serveur web soit toujours fonctionnel, il va alors falloir intégrer apache et mysql.
Tâche 4 : Installation de SSH sur les serveurs du Cluster. Installer openssh pour pouvoir contacter le serveur : # apt-get install openssh-server Pour se connecter # ssh user@debian2 Tâche 5 : Clonage du 1er Serveur du cluster pour faire le second serveur. Modifications de paramètres sur le second nœud. # hostname Debian2 # nano /etc/hostname # nano /etc/hosts Tâche 6 : Configuration du service NTP sur le réseau afin de synchroniser l horloge système des nœuds du Cluster. Installer ntpdate (Debian1 et Debian2) : # apt-get install ntpdate Utiliser cette commande pour mettre à jour (Debian1 et Debian2) : # ntpdate-debian
MISSION 5 1. Apache Il nous faut dans un premier temps arrêter le serveur apache sur les deux serveurs avec la commande suivante : # /etc/init.d/apache2 stop Sur le premier serveur (Debian1) nous allons créer un dossier www qui contiendra les fichiers MRBS : # mkdir /mnt/www Maintenant sur les deux serveurs : # rm rvf /var/www/ # ln s /mnt/www/ /var/ Pour vérifier que le lien symbolique est fonctionnel on utilise la commande : # ls la /var/www Il faut maintenant configurer heartbeat pour qu il démarre automatiquement Apache. Sur les deux serveurs, rajouter dans le fichier haresources apache2 à la suite : # nano /etc/ha.d/haresources 2. MySQL Il nous faut dans un premier temps arrêter le serveur mysql sur les deux serveurs avec la commande suivante : # /etc/init.d/mysql stop Ensuite, sur les deux serveurs il faut une nouvelle fois créer un lien symbolique dans mnt : # mv /var/lib/mysql/ /mnt/ # ln s /mnt/mysql/ /var/lib/ # mv /etc/mysql/debian.cnf /mnt/mysql/
# ln s /mnt/mysql/debian.cnf /etc/mysql/ Sur le deuxième serveur (Debian2) : # 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/ Il faut maintenant configurer heartbeat pour qu il démarre automatiquement MySQL. Sur les deux serveurs, rajouter dans le fichier haresources mysql à la suite : # nano /etc/ha.d/haresources On peut relancer apache et mysql : # /etc/init.d/apache2 start # /etc/init.d/mysql start Et relancé heartbeat : # /etc/init.d/heartbeat reload. La réplication d Apache et Mysql est fonctionnelle! Il suffit maintenant d installer le dossier web de mrbs dans /mnt/www/ et d importer la base de données. 3. MRBS L'installation doit respecter le séquencement des étapes suivantes : Copier le contenu du répertoire nommé web de l'archive M2L_SysResSalles.zip dans un sousrépertoire nommé mdl du répertoire de base du serveur Web Ouvrir une session MySQL en tant qu utilisateur «root» ou lancer l'application web «phpmyadmin» en se connectant en tant que «root». Importer les fichiers SQL du répertoire installm2l de l'archive en respectant l'ordre suivant : bdm2l.my.sql : création de la base de données mrbs et d'un login mysql associé tables.my.sql : création de la structure des tables dans la base de données mrbs donneesm2l.my.sql : insertion des domaines, salles ressources et utilisateurs Rappel : en mode ligne de commande, utilisez la commande MySQL «source». Lancer un navigateur sur un poste du réseau et saisir l adresse suivante http://192.168.2.10/m2l La page d accueil MRBS doit s afficher.
MISSION 6 Pour tester le bon fonctionnement de notre cluster nous allons éteindre Debian1 pour simuler une panne. Une fois éteint nous exécutons cette commande sur Debian2 : Debian2 est bien passé en mode primaire lorsque Debian1 est devenu indisponible. Nous allons pouvoir tester si le service MRBS sur l adresse IP virtuelle est toujours disponible : Vérifions aussi si la base de données est fonctionnelle :
Redémarrons maintenant Debian1 pour vérifier qu il repasse automatiquement en mode Primary en utilisant la commande : # drbd-overview Debian1 : Debian 2 : Tout est revenu à la normal, vérifions tout de même que le système MRBS est toujours joignable à l adresse virtuelle :