Fichier de configuration de la premiére situation · Cette situation professionnelle se base sur...

20
E4 HAPROXY-DRBD-OCFS DEVILLE CLEMENT 1 Fichier de configuration de la premiére situation Mise en œuvre d’une solution de haute disponibilité, et de répartition des charges avec le service Debian HAPROXY et une tolérance au panne avec DRBD et OCFS.

Transcript of Fichier de configuration de la premiére situation · Cette situation professionnelle se base sur...

Page 1: Fichier de configuration de la premiére situation · Cette situation professionnelle se base sur les différents TP réalisé en seconde année de BTS SIO. ... acl acces_glpi path_beg

E4 HAPROXY-DRBD-OCFS

DEVILLE CLEMENT 1

Fichier de configuration de la premiére situation

Mise en œuvre d’une solution de haute disponibilité, et de

répartition des charges avec le service Debian HAPROXY et une

tolérance au panne avec DRBD et OCFS.

Page 2: Fichier de configuration de la premiére situation · Cette situation professionnelle se base sur les différents TP réalisé en seconde année de BTS SIO. ... acl acces_glpi path_beg

E4 HAPROXY-DRBD-OCFS

DEVILLE CLEMENT 2

SOMMAIRE

Description de la situation professionnelle Pages 3 à 4

Contexte

Activités

Schéma du réseau

Nommage et adressage des machines Page 5

Préparation du serveur HAPROXY Pages 6 à 8

Modification de haproxy.cfg

Mise en place de DRBD sur les deux serveurs Web Pages 9 à 12

Mise en place de OCFS2 sur les deux serveurs Pages 12 à 17

Script d’automatisation Page 18

Redirection d’apache vers /mnt/Donnees_Web Pages 19

Problème survenue Page 20

Test de validation Page 20

Situation professionnelle

Page 3: Fichier de configuration de la premiére situation · Cette situation professionnelle se base sur les différents TP réalisé en seconde année de BTS SIO. ... acl acces_glpi path_beg

E4 HAPROXY-DRBD-OCFS

DEVILLE CLEMENT 3

Contexte :

Cette situation professionnelle se base sur les différents TP réalisé en seconde année de

BTS SIO.

La Société de Services Informatiques ARFLO (M2L), dont le cœur de métier est la fourniture

de service, la conception et la maintenance de solutions d’infrastructure, a été chargée par

une société de vente à distance, spécialisée en vente de matériel informatique grâce à son

site internet, de mettre en place une solution technique permettant de rendre hautement

disponible son site internet, pour éviter toutes perte de bénéfice lors de panne du site.

Activités :

Production de services

A1.1.1 Analyse du cahier des charges d'un service à produire

A1.1.3 Étude des exigences liées à la qualité attendue d'un service

A1.2.4 Détermination des tests nécessaires à la validation d'un service

A1.3.4 Déploiement d'un service

Fourniture de services

A2.1.2 Évaluation et maintien de la qualité d'un service

Conception et maintenance de solution d’infrastructure

A3.1.1 Proposition d'une 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 d'un réseau, de serveurs,

de services et d'équipements terminaux

Gestion du patrimoine informatique

A5.2.2 Veille technologique

Page 4: Fichier de configuration de la premiére situation · Cette situation professionnelle se base sur les différents TP réalisé en seconde année de BTS SIO. ... acl acces_glpi path_beg

E4 HAPROXY-DRBD-OCFS

DEVILLE CLEMENT 4

HA

PR

OX

Y

Serve

ur

WEB

2

Serve

ur

WEB

1

Switch

19

2.1

68

.74

.50

19

2.1

68

.74

.11

0

19

2.1

68

.74

.11

2

17

2.1

6.7

4.5

0

Le bu

t de cette situ

ation

est de créer u

n serveu

r de rép

artition

des ch

arges tels qu

e H

AP

RO

XY, q

ui p

ou

rra aussi faire h

aute d

ispo

nib

ilité, car en cas d

e pan

ne d

e l’un

des d

eux

serveur, le seco

nd

pren

d le relais im

méd

iatemen

t.Le raid

1 su

r IP sera m

is en p

lace via DR

BD

et OC

FS, c’est a dire q

ue lo

rsqu

e les do

ssier du

site sero

nt m

od

ifié sur l’u

n d

es deu

x serveurs, ils sero

nt au

tom

atiqu

emen

t répliq

ué su

r le seco

nd

serveur w

eb.

Ces d

eux systèm

es perm

ettent u

ne h

aute d

ispo

nib

ilité du

site intern

et et un

e répartitio

n

des ch

arges po

ur d

e meilleu

res perfo

rman

ce du

site intern

et de l’en

treprise.

Le site web

est à placer d

ans la racin

e de l’u

n d

es deu

x serveur w

eb : /m

nt/D

on

ne

es_w

eb

Po

ste d

e travail

17

2.1

6.7

4.2

0

Page 5: Fichier de configuration de la premiére situation · Cette situation professionnelle se base sur les différents TP réalisé en seconde année de BTS SIO. ... acl acces_glpi path_beg

E4 HAPROXY-DRBD-OCFS

DEVILLE CLEMENT 5

Nommage et adressage des machines :

E4 RDC Web1 DC

Nom de compte : Web1 MDP : Sisr2013

Nom de pc : Web1-12

Adresse : 192.168.74.110 Réseau interne

E4 RDC Web2 DC

Nom de compte : Web2 MDP : Sisr2013

Nom de pc : Web2-12

Adresse : 192.168.74.112 Réseau interne

E4 RDC HAPROXY DC

Nom de compte : sisr-12 MDP : Sisr2013

Nom de pc : haproxy

Adresse : 172.16.74.50 et 192.168.74.50 Réseau interne

Sur chaque serveur il faudra modifier le fichier : /etc/hosts Et rajouter :

192.168.74.50 haproxy

192.168.74.110 Web1-12

192168.74.112 Web2-12

Page 6: Fichier de configuration de la premiére situation · Cette situation professionnelle se base sur les différents TP réalisé en seconde année de BTS SIO. ... acl acces_glpi path_beg

E4 HAPROXY-DRBD-OCFS

DEVILLE CLEMENT 6

Préparation du serveur HAPROXY

Haproxy est un logiciel libre de répartition de charge et de tolérance aux

pannes.

Création des machines sur scvmm

Paramétrage adressage et nommage des trois machines

Vérification des tests de communication entre les trois machines avec la commande « ping »

Installation de haproxy : « Apt-get install haproxy » sur le pc « haproxy »

Puis modification du fichier haproxy.cfg qui se trouve dans : /etc/haproxy/

Haproxy.cfg

DE BASE :

listen monproxy 172.16.74.30:80

mode http

balance roundrobin

option httpclose

option httpchk HEAD /index.html HTTP/1.0

server web1 192.168.74.10:80 check

server web2 192.168.74.20:80 check

Weight :

defaults

mode http

option httpclose

maxconn 2000

contimeout 5000

clitimeout 50000

srvtimeout 50000

Page 7: Fichier de configuration de la premiére situation · Cette situation professionnelle se base sur les différents TP réalisé en seconde année de BTS SIO. ... acl acces_glpi path_beg

E4 HAPROXY-DRBD-OCFS

DEVILLE CLEMENT 7

frontend proxypublic

bind :80

default_backend fermeweb

backend fermeweb

balance roundrobin

option httpchk HEAD /index.html HTTP/1.0

server web1 192.168.74.10:80 weight 100 check

server web2 192.168.74.20:80 weight 50 check

stats uri /stats

stats auth apo:mdpstats

COOKIES :

Defaults

mode http

option httpclose

maxconn 2000

contimeout 5000

clitimeout 50000

srvtimeout 50000

Frontend proxypublic

bind :80

default_backend fermeweb

backend fermeweb

balance roundrobin

cookie QUELSERVEUR insert indirect

option httpchk HEAD /index.html HTTP/1.0

server web1 192.168.74.10:80 cookie W1 check

server web2 192.168.74.20:80 cookie W2 check

stats uri /stats

stats auth apo:mdpstats

Page 8: Fichier de configuration de la premiére situation · Cette situation professionnelle se base sur les différents TP réalisé en seconde année de BTS SIO. ... acl acces_glpi path_beg

E4 HAPROXY-DRBD-OCFS

DEVILLE CLEMENT 8

FILTRE AVEC LES ACL

Defaults

mode http

option httpclose

maxconn 2000

contimeout 5000

clitimeout 50000

srvtimeout 50000

stats uri /stats

stats auth apo:mdpstats

Frontend proxypublic

bind :80

acl acces_glpi path_beg /glpi/

Use_backend adminglpi if acces_glpi

default_backend fermeweb

backend fermeweb

balance roundrobin

cookie QUELSERVEUR insert indirect

option httpchk HEAD /index.html HTTP/1.0

server web1 192.168.74.10:80 cookie W1 check

server web2 192.168.74.20:80 cookie W2 check

backend adminglpi

option httpchk HEAD / HTTP/1.0

server web3 192.168.100.100:80 check

Page 9: Fichier de configuration de la premiére situation · Cette situation professionnelle se base sur les différents TP réalisé en seconde année de BTS SIO. ... acl acces_glpi path_beg

E4 HAPROXY-DRBD-OCFS

DEVILLE CLEMENT 9

DRBD

DRBD (Distributed Replicated Block Device) est un outil qui permet de

synchroniser (par réplication) des périphériques de stockage (disque dur,

partition, volume logique) entre deux serveurs via le réseau.

DRBD 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. La synchronisation est faite au niveau de la partition. DRBD n'assure

aucune fonction relative à la sécurité. Il n'y a ainsi pas de mécanisme

d'authentification, de contrôle d'accès, de confidentialité ou d'intégrité des

données échangées sur le réseau.

Premièrement il faut deux disques durs au format ext3 de taille identique.

En ligne : fdisk –l

Installer le paquet drdb8 : apt-get install drbd8-utils

Page 10: Fichier de configuration de la premiére situation · Cette situation professionnelle se base sur les différents TP réalisé en seconde année de BTS SIO. ... acl acces_glpi path_beg

E4 HAPROXY-DRBD-OCFS

DEVILLE CLEMENT 10

Puis modifier le fichier : /etc/drbd.d/global_common.conf :

global { usage-count yes; # minor-count dialog-refresh disable-ip-verification } common { protocol C; handlers { } startup { degr-wfc-timeout 120; become-primary-on both; # wfc-timeout degr-wfc-timeout outdated-wfc-timeout wait-after-sb; } disk { # on-io-error fencing use-bmbv no-disk-barrier no-disk-flushes # no-disk-drain no-md-flushes max-bio-bvecs } net { allow-two-primaries; after-sb-0pri discard-zero-changes; after-sb-1pri discard-secondary; after-sb-2pri disconnect; # snd―buf-size rcvbuf-size timeout connect-int ping-int ping-timeout

max-buffers # max-epoch-size ko-count allow-two-primaries cram-hmac-alg

shared-secret # after-sb-0pri after-sb-1pri after-sb-2pri data-integrity-alg no-tcp-cork } syncer { verify-alg md5; rate 1000M; # rate after al-extents use-rle cpu-mask verify-alg csums-alg } }

Creation de : /etc/drbd.d/cluster.res:

resource r0 { protocol "C"; on Web1-12 { device /dev/drbd1;

Page 11: Fichier de configuration de la premiére situation · Cette situation professionnelle se base sur les différents TP réalisé en seconde année de BTS SIO. ... acl acces_glpi path_beg

E4 HAPROXY-DRBD-OCFS

DEVILLE CLEMENT 11

disk /dev/sdb1; address 192.168.74 .110:7789; meta-disk internal; } on Web2-12 { device /dev/drbd1; disk /dev/sdb1; address 192.168.74.112:7789; meta-disk internal; } }

Il faut effectuer les commandes suivantes :

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, même si il y a une erreur 17 il faut continuer. drbdadm syncer r0 pour initialiser les paramètres de synchronisation. drbdadm connect r0 pour connecter la ressource r0 au serveur. cat /proc/drbd permet d’afficher l’état de la ressource r0.

Sur le serveur Web1-12 il faut lancer les commandes :

drbdadm -- --overwrite-data-of-peer primary r0 Pour initialiser la synchronisation des données entre les deux serveurs. cat /proc/drbd

Pour vérifier que le serveur est connecté et déclaré primary. drbdadm primary r0

Pour forcer la ressource r0 à primary.

Puis sur le serveur Web2-12 il faut lancer les commandes :

drbdadm primary r0 Pour forcer la ressource r0 à primary cat /proc/drbd Pour vérifier que les serveurs sont connectés et déclarés primary

Drbd est correctement installé et configuré.

Page 12: Fichier de configuration de la premiére situation · Cette situation professionnelle se base sur les différents TP réalisé en seconde année de BTS SIO. ... acl acces_glpi path_beg

E4 HAPROXY-DRBD-OCFS

DEVILLE CLEMENT 12

OCFS

Ocfs veut dire : Oracle Cluster File System

Ocsf2 est de système de fichiers en cluster qui autorise les accès simultanés en lecture et surtout en écriture des fichiers à partir de plusieurs nœuds (serveurs). Tout simplement il autorise le partage d'un même disque réseau en lecture et écriture.

Nous allons l’utiliser pour formater les périphériques disque synchronisés par

DRBD. Ainsi les serveurs Web pourront voir leur support disque mis à jour

dès que l’un d’eux sera modifié.

A. Sur chaque serveur web :

Installer le paquet ocsf2-tools : apt-get install ocfs2-tools

Installer le paquet ocsf2console : apt-get install ocfs2console

Configurer le fichier : /etc/ocfs2/cluster.conf

Page 13: Fichier de configuration de la premiére situation · Cette situation professionnelle se base sur les différents TP réalisé en seconde année de BTS SIO. ... acl acces_glpi path_beg

E4 HAPROXY-DRBD-OCFS

DEVILLE CLEMENT 13

Ce fichier doit être configuré à l’identique sur les deux serveurs web

Exemple de contenu de /etc/ocsf2/cluster.conf :

cluster: node_count = 2 name = sisr node: ip_port = 7777 ip_address = 192.168.74.110 number = 1 name = Web1-12 cluster = ocfs2 node: ip_port = 7777 ip_address = 192.168.74.112 number = 2 name = Web2-12 cluster = ocfs2

Ces manipulations doivent être effectuées à l’identique sur les deux serveurs web

Lancer les commandes : dpkg-reconfigure ocfs2-tools pour configurer les nœuds du cluster définis dans le fichier : /etc/ocfs2/cluster.conf Répondre aux questions comme montré ci-dessous, accepter les options par défaut.

Configuration de ocfs2-tools.

Page 14: Fichier de configuration de la premiére situation · Cette situation professionnelle se base sur les différents TP réalisé en seconde année de BTS SIO. ... acl acces_glpi path_beg

E4 HAPROXY-DRBD-OCFS

DEVILLE CLEMENT 14

Poursuivre même si il y a l’erreur 164

Page 15: Fichier de configuration de la premiére situation · Cette situation professionnelle se base sur les différents TP réalisé en seconde année de BTS SIO. ... acl acces_glpi path_beg

E4 HAPROXY-DRBD-OCFS

DEVILLE CLEMENT 15

Page 16: Fichier de configuration de la premiére situation · Cette situation professionnelle se base sur les différents TP réalisé en seconde année de BTS SIO. ... acl acces_glpi path_beg

E4 HAPROXY-DRBD-OCFS

DEVILLE CLEMENT 16

service ocfs2 restart service o2cb restart service o2cb xxxxxxx pour piloter le service où xxxxxxx peut prendre la valeur :

{start|stop|restart|force-reload|enable|disable|configure |load|unload|online|offline|force-offline|status} Exemple : service o2cb status doit répondre :

Formatage du système de fichiers au format OCFS2 mkfs.ocfs2 /dev/drbd1 Pour formater la ressource /dev/drdb1 au format ocsf2

Remarque très importante la commande n’est surtout pas à faire sur le

deuxième serveur web !

Page 17: Fichier de configuration de la premiére situation · Cette situation professionnelle se base sur les différents TP réalisé en seconde année de BTS SIO. ... acl acces_glpi path_beg

E4 HAPROXY-DRBD-OCFS

DEVILLE CLEMENT 17

Montage du système de fichiers OCFS2 mkdir /mnt/Donnees_Web Pour créer un répertoire sur le système de fichiers du serveur Web sur lequel on « montera » le système de fichier déclaré par la ressource DRBD au format OCSF2. mount.ocfs2 /dev/drbd1 /mnt/Donnees_Web Pour monter la ressource sur l’arborescence et la rendre disponible.

Maintenant, toute modification du système de fichier /dev/drbd1 sera synchronisé sur les deux nœuds par DRBD

Page 18: Fichier de configuration de la premiére situation · Cette situation professionnelle se base sur les différents TP réalisé en seconde année de BTS SIO. ... acl acces_glpi path_beg

E4 HAPROXY-DRBD-OCFS

DEVILLE CLEMENT 18

Script à exécuter au redémarrage des serveurs Web : La ressource DRBD doit être impérativement connectée et déclarée primary avant le lancement des services ocfs2 puis o2cb. Pour être sûr que le système prenne en compte la ressource DRBD comme ressource PRIMARY et que le système de fichier OCSFS2 /dev/drbd1 soit bien « monté » sur l’arborescence : On va générer le script suivant : /etc/init.d/mountdrbd.sh

Puis le rendre exécutable et créer le lien symbolique 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 Ainsi ce script sera exécuté au démarrage sur chaque serveur Web.

Page 19: Fichier de configuration de la premiére situation · Cette situation professionnelle se base sur les différents TP réalisé en seconde année de BTS SIO. ... acl acces_glpi path_beg

E4 HAPROXY-DRBD-OCFS

DEVILLE CLEMENT 19

Pour rediriger apache vers /mnt/Donnees-Web

Sur le serveur Web1 :

Copier le fichier index /var/www/index.html vers /mnt/Donnees_Web :

cp /var/www/index.html /mnt/Donnees_Web

Modifier le fichier /etc/apache2/sites-available/default : La directive DocumentRoot doit ponter vers : /mnt/Donnees_web

Sur le serveur Web2 :

Modifier le fichier /etc/apache2/sites-available/default : La directive DocumentRoot doit ponter vers : /mnt/Donnees_web

Vérifier la synchronisation dans le répertoire

/mnt/Donnees_Web par la présence du fichier index.html. La synchronisation ce fait parfaitement.

On peut voir également que lorsqu’on fait « service drbd status » Donnees_Web est bien monté, et

est de type ocfs2 :

Modifier le contenu du fichier HTML à votre convenance afin que les deux serveurs web affichent une page Web identique.

Vérifiez la prise en compte de la modification sur le serveur Web1.

On peut voir que tout marche, lorsqu’un dossier est créé sur l’un des deux

serveurs, il est automatiquement répliqué sur le second.

Page 20: Fichier de configuration de la premiére situation · Cette situation professionnelle se base sur les différents TP réalisé en seconde année de BTS SIO. ... acl acces_glpi path_beg

E4 HAPROXY-DRBD-OCFS

DEVILLE CLEMENT 20

Problème survenue : Lors de la création de fichier il est préférable de créer les droit du dossier « chmod 777

dossier », puisque avec nautilus il y a des surprises.

Les cartes réseaux ne sont pas toujours celles que l’on croit :

Pour modifier les cartes réseaux, aller dans /etc/udev/rules.d/70-persistent-net.rules

Dans NetworkManager.conf, il faut regarder si les adresses Mac correspondent bien, souvent

plusieurs autres cartes sont présentes, il faut donc les supprimer, mais ne pas oublier de

laisser une virgule a la fin.

Test de validation

On peut voir que depuis un poste du réseau, si l’on entre l’adresse 172.16.74.50, l’adresse de

haproxy, on accède au site internet, de plus si l’un des deux serveurs web tombe en panne, le second

prend le relais.

De plus l’lorsqu’un fichier est modifier sur l’un des deux serveurs web, c’est

automatiquement répliqué sur le second serveur web via DRBD et OCFS2.