Fichier de configuration du projet N 2 Synchronisation des données de 2 serveurs Web Page 1
Sommaire Description de la situation professionnelle Page 3 Contexte de la situation professionnelle Principales activités concernées Schéma du réseau Configuration du serveur Web 1 Page 5 Création d une partition Configuration du service DRBD Configuration du serveur Web 2 Page 8 Création d une partition Configuration du service DRBD Initialisation du service DRBD Page 11 Configuration sur les 2 serveurs Configuration sur le serveur Web 1 Configuration sur le serveur Web 2 Initialisation du service OCFS2 Page 15 Configuration sur les 2 serveurs Configuration sur le serveur Web 1 Configuration sur le serveur Web 2 Automatisation de la synchronisation Validation Page 2
Description de la situation professionnelle Contexte de la situation professionnelle Cette première situation professionnelle se base sur le contexte M2L. La direction de la M2L a réalisé un cahier des charges qui impose la mise en place d un système de synchronisation des données des 2 serveurs Web qu elle dispose. La solution s appuiera sur la mise en place d une synchronisation des données sur 2 serveurs Web, hébergés en interne, le tout grâce à DRBD et OCFS2. Le tout sur des serveurs Debian Squeeze. Principales activités concernées Production de services A1.1.1 - Analyse du cahier des charges d un service à produire A1.1.3 Etude des exigences liées à la qualité attendue A1.2.4 - Détermination des testes nécessaires à la validation A1.3.1 Test d intégration et d acceptation d un service A1.3.4 - Déploiement d un service A1.4.1 Participation à un projet Fourniture de services A2.1.2 Evaluation et maintien de la qualité d un service Conception et maintenance de solution d infrastructure A3.2.1 Installation et configuration d éléments d infrastructure A3.3.1 Administration sur site ou à distance des éléments Gestion du patrimoine informatique A5.2.2 Veille technologique A5.2.4 Etude d une technologie, d un composant ou d un outil. Page 3
Schéma du réseau Page 4
Configuration du serveur Web 1 Création d une partition Il faut définir sur chacun des 2 serveurs une partition de capacité strictement identique. Pour cela, nous allons la définir sur le deuxième disque des serveurs. Il faut avant tout vérifier l état des disques durs du serveur. Fdisk l Nous pouvons donc voir ici que le disque sdb ne contient aucune partition. Fdisk /dev/sdb On travaille sur le 2ème disque. N P new primary 1 partition en 1ere position 1 1ere +5G Taille de la partition W quitte et sauvegarde Page 5
La création de la partition s est bien déroulée. C est la partition n 1, et elle fait bien 5 Go. Configuration du service DRBD DRBD est un outil qui permet de synchroniser des périphériques de stockage, entre 2 serveurs, via le réseau. DRBS s apparente à du RAID1 sur IP. Quand une écriture a lieu sur le disque du serveur maître, l écriture est simultanément réalisée sur le serveur esclave. Pour installer le service : Apt-get install drbd8-utils Après l installation, le fichier global_common.conf est automatique crée dans le dossier /etc/drbd.d. Il faudra néanmoins ajouter quelques lignes dans ce fichier. Page 6
Ensuite, il faudra créer le fichier cluster.res, toujours dans le même dossier. On retrouve ici quelques éléments que l on a configurés auparavant. Le nom des serveurs web, la création des partitions, ainsi que leurs adresses IP. Page 7
Configuration du serveur Web 2 Création d une partition Il faut définir sur chacun des 2 serveurs une partition de capacité strictement identique. Pour cela, nous allons la définir sur le deuxième disque des serveurs. Il faut avant tout vérifier l état des disques durs du serveur. Fdisk l Nous pouvons donc voir ici que le disque sdb ne contient aucune partition. Fdisk /dev/sdb On travaille sur le 2ème disque. N P new primary 1 partition en 1ere position 1 1ere +5G Taille de la partition W quitte et sauvegarde Page 8
La création de la partition s est bien déroulée. C est la partition n 1, et elle fait bien 5 Go. Configuration du service DRBD DRBD est un outil qui permet de synchroniser des périphériques de stockage, entre 2 serveurs, via le réseau. DRBS s apparente à du RAID1 sur IP. Quand une écriture a lieu sur le disque du serveur maître, l écriture est simultanément réalisée sur le serveur esclave. Pour installer le service : Apt-get install drbd8-utils Après l installation, le fichier global_common.conf est automatique crée dans le dossier /etc/drbd.d. Il faudra néanmoins ajouter quelques lignes dans ce fichier. Page 9
Ensuite, il faudra créer le fichier cluster.res, toujours dans le même dossier. On retrouve ici quelques éléments que l on a configurés auparavant. Le nom des serveurs web, la création des partitions, ainsi que leurs adresses IP. Page 10
Initialisation du service DRBD Configuration sur les 2 serveurs Nous allons maintenant initialiser la ressource r0. Ces manipulations doivent être effectuées à l identique sur les 2 serveurs, chacun son tour. Drbdadm create-md r0 Pour initialiser la ressource r0 définie dans le fichier cluster.res /etc/init.d/drbd start Pour démarrer le service drbd Page 11
Un compte à rebours commence, il faut maintenant effectuer la même commande sur le 2 nd serveur. On peut également voir que sur le 1 er serveur où on a effectué la commande, le compte à rebours s est arrêté. Drbdadm syncer r0 Pour initialiser les paramètres de synchronisation Drbdadm connect r0 Pour connecter la ressource r0 au serveur. Il faut maintenant vérifier l état de la ressource r0 Cat /proc/drbd La ressource r0 est bien connectée. Page 12
Configuration sur le serveur web 1 On va maintenant essayé de passer l état de la ressource en primary et en UpToDate. drbdadm -- --overwrite-data-of-peer primary r0 Pour initialiser la synchronisation des données entre les 2 serveurs. On vérifie l état des serveurs. La synchronisation est en cour, on attend maintenant qu elle soit à 100%. On peut donc voir maintenant que les 2 serveurs sont en UpToDate. Il ne reste plus qu à mettre le 2 nd serveur en primary. Page 13
Configuration sur le serveur web 2 Il faut maintenant mettre ce serveur en primary. Drbdadm primary r0 Pour forcer la ressource r0 à primary On vérifie l état des serveurs. Le service DRBD est maintenant prêt à fonctionner, il faut configurer le système de fichier à synchroniser. Page 14
Initialisation du service OCFS2 OCFS2 est un système de fichier en cluster, qui autorise les accès simultanés en lecture et en écriture des fichiers à partir de plusieurs nœuds. Nous allons l utiliser pour formater les périphériques disque synchronisé par DRBD. Ainsi, les serveurs Web pourront voir leur support disque mis à jour dès que l un d eux sera modifié. Configuration sur les 2 serveurs Nous allons dans un premier temps installer le service Apt-get install ocfs2-tools apt-get install ocfs2console Après l installation, le dossier /etc/ocfs2 est automatique crée. Il faudra néanmoins ajouter à l intérieur un fichier de configuration, /etc/ocfs2/cluster.conf Page 15
Nous allons maintenant configurer le service. Ces manipulations doivent être effectuées à l identique sur les 2 serveurs, chacun son tour. Dpkg-reconfigure ocfs2-tools Pour configurer les nœuds du cluster A partir de la, une console s ouvre, et il faut répondre à quelques questions. Voulez-vous lancer un cluster OCFS2 au démarrage? OUI Nom du cluster à lancer au démarrage? ocfs2 Seuil de battement O2CB? 31 Délai d attente sur inactivité O2CB? 30 000 Intervalle de test de lien O2CB? 2 000 Délai de reconnexion O2CB? 2 000 Page 16
Service ocfs2 restart Service o2cb restart Service o2cb status Pour voir le statut du service Configuration sur le serveur web 1 On va maintenant formater le système de fichier au format OCFS2. Mkfs.ocfs2 /dev/drbd1 Page 17
On va maintenant procéder à un montage du système de fichier OCFS2. Mkdir /mnt/donnees_web Pour créer un répertoire sur le système de fichier du serveur Web sur lequel on montera le système de fichier déclaré par la ressource DRBD au format OCFS2 Mount.ocfs2 /dev/drbd1 /mnt/donnees_web Pour monter la ressource sur l arborescence et la rendre disponible. Configuration sur le serveur web 2 On va maintenant procéder à un montage du système de fichier OCFS2. Mkdir /mnt/donnees_web Pour créer un répertoire sur le système de fichier du serveur Web sur lequel on montera le système de fichier déclaré par la ressource DRBD au format OCFS2 Mount.ocfs2 /dev/drbd1 /mnt/donnees_web Pour monter la ressource sur l arborescence et la rendre disponible. Page 18
Automatisation de la synchronisation On peut voir que tout est bien configuré. Le problème, c est que dès que l on redémarre les serveurs, les serveurs ne sont plus en «primary», le service i2cb n est pas démarré, et le fichier /mnt/donnees_web n est pas monté. Nous allons donc créer un script qui s exécutera au redémarrage des serveurs. Dans /etc/init.d/mountdrbd.sh Puis, le rendre exécutable et créer le lien vers /etc/rc3.d/s99mountdrbd.sh Chmod +x /etc/init.d/mountdrbd.sh Ln s /etc/init.d/mountdrbd.sh /etc/rc3.d/s99mountdrbd.sh Cd /etc/rc3.d Ls Rm S99mountdrbd.sh Update-rc.d mountdrbd.sh defaults Page 19
On vérifie maintenant si toutes les manipulations ont fonctionné Mount Validation Sur le serveur Web 1 Pour valider le fonctionnement de ces 2 services, on va copier le fichier /var/www dans le dossier /mnt/donnees_web cp /var/www/index.html /mnt/donnees_web Modifier le fichier /etc/apache2/sites-available/default Sur le serveur Web 2 Modifier le fichier /etc/apache2/sites-available/default Page 20
Et vérifier que le fichier index.html se trouve dans le dossier /mnt/donnees_web du serveur 2. Page 21