Académique Documents
Professionnel Documents
Culture Documents
JANVIER-2022
ECOLE SUPERIEURE D’INFORMATIQUE SALAMA
République Démocratique Du Congo
Province de Haut-Katanga
Lubumbashi
www.esisalama.org
EPIGRAPHE
« Dès qu'on nous embrasse, il est bon de prévoir tout de suite l'instant
où nous serons giflés. »
Jules RENARD
Page | II
DEDICACE
Ils ont été là dès ma conception, ils ont assisté à ma naissance, ils ont pris en
charge mes premiers pas, ils m’ont inscrit, ils m’ont soutenu, ils m’ont orienté, ils m’ont
relevé, ils ont tout fait pour moi, par la grâce du seigneur ! je vous dois ce travail chers
parents, vous êtes exceptionnels. Et si c’était à refaire, je ne choisirai que vous comme
parents. TSHAMOYO KATATA David, tu es un modèle d’intégrité, de sacrifice et de
courage. NGOYI KABUNDA Hélène, tu es ma source de motivation.
Ce travail est votre…
Page | III
REMERCIEMENTS
La rédaction d’un travail scientifique passe par plusieurs étapes. Celle-ci est l’une de
plus attendues de la majorité de lecteur. Après avoir pris du temps à réaliser combien nous avons
bénéficié de multiples faveurs, nous nous devons de remercier ceux dont les nomes suivent :
J’ai eu le plaisir et une grande faveur d’être entouré et encadré par un duo d’encadreurs
qui m’ont aidé, m’ont fait confiance et ont su me guider tout au long de mon parcours académique.
Ils ont apporté une richesse exceptionnelle à mes travaux par leurs conseils avisés et leur support
plus qu’importants.
Je tiens donc à remercier de tout cœur monsieur Bertin POLOMBWE qui m’a guidé
durant cette étude. Il a su m’orienter et m’encourager lorsque tout semblait sombre. Je remercie
également monsieur Patrick TSHINYOKA qui a accepté de se disponibiliser afin de me permettre
d’atteindre mes objectifs. De plus j’ai bénéficié d’un soutient sans relâche de leurs parts et une
assistance académique sans mesure.
Je voudrais remercier mes collègues de promotion pour toutes les bonnes actions posées
à mon égard. Je pense particulièrement à TSHIBOLA BANZA Raïssa allias SPILOOTA,
MWADI KALENGA Chaty allias BIGUI, NDAMUSO MUSHAMUKA Stéphanie, TSHIEND
MUTSHAIL Noé, NKOMBA Allégra, MUKOPA KIBALE Médard, MUKUNA MBAGUI
Merveille et MULANGU KABONGO Jonathan.
Le support moral de la famille est primordial dans ce genre de défi. Merci à Maman NGOYI
KABUNDA Hélène et mon papa TSHAMOYO KATATA David ainsi qu’à ma famille entière,
qui de près ou de loin a toujours su m’offrir son soutien, sa compréhension, son encouragement,
sa patience et son affection. Je sais combien vous êtes fiers de moi.
Page | IV
IT : Information Technology
RDC : République Démocratique du Congo
SAP: System Applications & Product
MPLS: Multiprotocol Label Switch
Ops: Opérations
ERP: Enterprise Resource Planning
EIGRP: Enhanced Interior Gateway Routing Protocol
LAN: Local Area Network
WAN: Wide Area Network
IGP: Interior Gateway Protocol
VM: Virtual Machine
NAS: Network Attached Storage
SAN: Storage Area Network
CD : Compact Disc
DVD : Digital Versatile Disc
OS: Operating System
PC: Personnal Computer
ASCII: American Standard Code for Information Interchange
XML: Extensible Markup Language
AWS: Amazon Web Services
GCE: Google Computer Engine
DSL: Digital Subscriber Line
USD: United State Dollar
JSON: JavaScript Object Notation
SSH: Secure Shell
API: Application Programming Interface
RAM: Radom Access Memory
USB: Universal Serial Bus
Page | VIII
EPIGRAPHE ..................................................................................................................... I
DEDICACE ...................................................................................................................... II
REMERCIEMENTS ....................................................................................................... III
LISTE DES FIGURES ................................................................................................... IV
LISTE DES TABLEAUX .............................................................................................. VI
LISTE DES ACRONYMES .......................................................................................... VII
TABLE DES MATIERES .............................................................................................. IX
AVANT PROPOS ....................................................................................................... XIII
0. introduction ............................................................................................................... 1
0.1 Problématique ......................................................................................................... 1
0.2 Hypothèse ............................................................................................................... 1
0.3 Choix et intérêt du sujet .......................................................................................... 2
0.3.1 Intérêt personnel .............................................................................................. 2
0.3.2 Intérêt scientifique ........................................................................................... 2
0.3.3 Intérêt social ..................................................................................................... 2
0.4 Méthodologie et techniques .................................................................................... 2
0.5 Etat de la question ................................................................................................... 3
0.6.1 Spatiale et temporelle....................................................................................... 3
0.6.2 Technologique ................................................................................................. 4
0.7 Subdivision du travail ............................................................................................. 4
0.8 Outils logiciels et équipements utilisés ................................................................... 4
chapitre 1 specification technique du futur systeme ......................................................... 6
1.1 Introduction ............................................................................................................. 6
1.2 Présentation de l’entreprise ..................................................................................... 6
1.2.1 Situation géographique .................................................................................... 6
1.2.2 Organisation et Organigramme ........................................................................ 6
1.2.3 Présentation des Opérations de l’usine ............................................................ 7
1.3 Etude de l’existant .................................................................................................. 7
1.3.1 Contexte ........................................................................................................... 7
Page | X
CONCLUSION GENERALE......................................................................................... 85
Références ....................................................................................................................... 86
Page | XIII
AVANT PROPOS
0. INTRODUCTION
Les avancées continues dans le domaine de l’informatique ont poussé les entreprises
ambitieuses, visant une grande productivité à opter pour des nouvelles tendances dans leur façon
d’utiliser leurs infrastructures informatiques ou d’administrer leurs systèmes informatiques.
L’automatisation et la robotique rendent les entreprises plus sûres, plus efficaces et leur
permettent de maximiser les profits. L’automatisation implique la mise en place de dispositifs
automatisés, le plus souvent sous forme de systèmes informatiques ou robotisés pour faciliter et
exécuter les tâches répétitives. Pour la plupart il s’agit des tâches nécessitant à la fois la précision
et la rapidité d’exécution.
0.1 Problématique
Après avoir mené une recherche sur l’infrastructure réseau de l’entreprise « Anonymous »,
nous nous sommes rendus compte que les administrateurs de leur réseau étaient confrontés au
problème en rapport avec la virtualisation de leurs serveurs. Il se fait qu’il arrive de fois que l’hôte
sur lequel est installé les machines virtuelles tombe en panne ou soit ce sont les machines
virtuelles, qui directement rencontrent un disfonctionnement. Étant donné qu’ils n’ont pas
répliqué leurs machines virtuelles ou encore mise en place un système de sauvegarde qui leur
permettrait, en cas d’un sinistre de reprendre rapidement les activités, ils se voient mettre
beaucoup de temps (plus de trois jours) pour remettre le système en marche.
De ce qui précède nous nous sommes posés quelques questions qui nous permettront
d’apporter la solution audit problème.
➢ Quelles sont les mesures à prendre afin d’éviter la perte définitive des données
en cas d’une panne majeure ou d’un sinistre (incendie, inondation …) ?
0.2 Hypothèse
Eu égard aux question posées ci-haut, constituant l’essentiel de notre problématique, nous
pouvons avancer des réponses provisoires de manière suivante :
➢ Pour ce qui est de la première question, nous avons opté pour la sauvegarde et la
réplication des machines virtuelles, vu que tous les services et applications
réseaux sont installés sur des machines virtuelles.
➢ Et pour ce qui est de la deuxième question, nous allons mettre en place un système
qui va gérer de manière automatique tous les processus de configuration de
sauvegarde, réplication et de restauration.
➢ La méthode Top down design qui consiste à aller du plus haut niveau
d’abstraction au plus bas niveau de réalisation. Au plus haut niveau nous
retrouverons les besoins et au plus bas niveau nous retrouverons le système. Avec
cette méthode, une vue d’ensemble est conçue, mais sans détailler aucun sous-
système de premier niveau. Ensuite, chaque sous-système différent de sorte que
la spécification entière est décomposée en éléments de base.
Page | 3
Pour constituer un système ainsi conçu, nous rassemblons les spécifications qui
ont été décomposés en des éléments de base afin d’obtenir la solution palliant
plus ou moins au problème en question.
0.6.2 Technologique
Dans le cadre de notre travail de fin d’étude, nous limiterons notre plan de reprise après
sinistre qu’à la sauvegarde et la réplication en utilisant Veeam backup et Ansible afin
d’automatiser la sauvegarde des machines virtuelles.
0.7 Subdivision du travail
Mise à part l’introduction et la conclusion générale, notre travail comportera 4 chapitres qui
sont :
➢ Chapitre 1. SPECIFICATION FONCTIONNELLES DU FUTUR SYSTEME.
Dans ce chapitre nous aurons à faire la description de notre cas d’application,
critiquer l’existant et enfin y ressortir les besoins fonctionnels et non fonctionnels
du futur système.
➢ Stratum
➢ Ansible
➢ Veeam Backup
Page | 5
➢ Google Chrome
➢ Microsoft Edge
➢ Ubuntu
➢ Edraw max
➢ Esxi version 7
Page | 6
1.1 Introduction
Afin de bien poursuivre notre travail et de fournir le système souhaité par l’entreprise,
nous allons décrire l’entreprise en général. Et puisque notre solution est informatique, nous
mettrons un accent particulier sur l‘infrastructure réseau.
Nous traiterons aussi de la manière dont les tâches administratives sont gérées
actuellement pour y ressortir les points forts et faibles, lesquels nous permettrons d’établir les
besoins fonctionnels, non fonctionnels, les exigences et les contraintes.
1.2 Présentation de l’entreprise
Pour des raisons de sécurité nous ne pouvons pas divulguer le nom de la société pour
laquelle nous travaillons, c’est pourquoi certaines informations seront anonymes.
1.2.1 Situation géographique
La société se trouve dans la région minière du grand Katanga
1.2.2 Organisation et Organigramme
L’entreprise possède une organisation standard et typique des sociétés minières. A sa tête
il y a le président directeur général, suivi des directeurs généraux qui supervisent les directeurs
généraux chargés des opérations, les chargés de l’administration et finances, de l’environnement,
de la santé et de la sécurité au travail.
Puis les managers qui sont gérés par les directeurs généraux, voici quelques manager :
➢ Manager de la mine
➢ Manager de l’exploitation minière
➢ Manager des usines de traitement rapporte au directeur général des
opérations.
Les managers chapotent les super intendants généraux, à leurs tours ils chapotent les
supers intendants.
➢ PDG
➢ Directeurs généraux
➢ Directeur général chargé de l’environnement, de la santé et de la sécurité
du travail
➢ Manager de la mine
➢ Manager de l’exploitation minière
➢ Manager des usines de traitement rapporte au directeur général des
opérateurs
➢ Les supers intendant
Page | 7
KOLWEZI : 10.10.0.0/16
Tableau 1. 1 adressage kolwezi
KAMBOVE : 10.11.0.0/16
Tableau 1. 2 adressage kambove
JOHANNESBURG : 10.12.0.0/16
Tableau 1. 3 adressage Johannesburg
LUBUMBASHI : 10.13.0.0/16
KINSHASA : 10.14.0.0/16
Page | 12
Dans cette partie nous illustrerons les différents types de réseau que possède l’entreprise, nous
allons faire un « proof of concept » ainsi nous décrirons le réseau WAN avec MPLS, les LAN
détaillés des quelques sites.
1.3.3.2 Le réseau WAN avec MPLS
La société interconnecte ses différents sites en passant par un fournisseur MPLS, ce dernier utilise
des protocoles IGP et EGP pour fournir le service MPLS à la société. Il utilise également les labels
dans son Backbone, nous approfondirons cela dans la suite du travail.
Page | 16
La société possède plusieurs serveurs dans son Datacenter, parmi lesquels nous pouvons
citer :
➢ Serveur de base de données
➢ Serveur de messagerie
➢ Serveur de fichier et d’impression
➢ Serveur de SharePoint
➢ Serveur de communication unifiée (Voice, vidéoconférence)
➢ Virtualisation, stockage
➢ Serveur proxy
➢ Serveur d’application (application sous Windows et sous
linux)
➢ Contrôleur de domaine
1.3.3.5 Présentation du système
Le côté système de la société s’occupe d’effectuer les tâches administratives telles que :
➢ Installation des logiciels
➢ Arrêt et redémarrage des services
➢ Faire des mises à jour
➢ Effectuer les configurations
➢ Créer des utilisateurs en plus d’autres sur plusieurs serveurs, qui
sont parfois distants
➢ Entretenir les serveurs
L’infrastructure système de l’entreprise est composée de plusieurs branches dans
lesquelles nous nommons : Un datacenter principal sur le site de Kolwezi, un Cloud privé à
Johannesburg et un datacenter de Backup à Kambove, le diagramme ci-haut illustre une vue de
haut niveau (moins de détails) de ce qu’est le datacenter de Kolwezi.
1.3.3.6 Organisation du système
Nous pouvons dire qu’administrer c’est gérer, comme dans toutes entreprises, les
administrateurs systèmes de la société installent et configurent le matériel, installent les
applications sur un ou plusieurs postes et tout cela ils le font manuellement, ils gèrent les
utilisateurs, ce qui comprend l’ajout, ma suppression d’un profil, la gestion des droits spécifiques
ou par groupe.
Historiquement, les administrateurs systèmes ont généralement gérer les serveurs,
installer des logiciels, modifier des configurations et administrer des services manuellement, la
société ne fait pas exception pour ces administrateurs.
Page | 22
Après avoir ressorti les besoins, que demande le futur système nous allons faire un
diagramme de cas d’utilisation qui va nous permettre de modéliser le comportement du futur
système. Capturer les exigences et identifier également les interactions entre le système et ses
utilisateurs.
1.5.3 Scenarios
Le scenario est un outil écrit lors de l’étape finale du développement du projet. Le
diagramme de cas d’utilisation décrit ci-haut nous a permis de découvrir petit à petit les
fonctionnalités que l’on devrait avoir dans le futur système, nous allons désormais parler de
l’interaction entre l’admin et le système, il s’agit de décrire la chronologie des actions qui devront
être réalisées par les acteurs et par le système lui-même, raison pour laquelle nous allons parler
de scenario.
Page | 24
Voici la liste des scenarios pour les cas d’utilisation du futur système :
➢ Sauvegarder machine virtuelle :
➢ Le coût
➢ L’interopérabilité
1.5.5 Besoin futur
L’entreprise « Anonymous » est une entreprise évoluant dans le secteur minier et produit
généralement du cobalt et du cuivre, elle a pour objectif de devenir le premier producteur du
cuivre en Afrique donc au monde par conséquent.
Afin d’y parvenir l’entreprise s’est munie d’un Datacenter (centre de données) pour
améliorer la productivité en échangeant les informations de ses différentes succursales que
l’évolution de ses mines ainsi que des transactions faites. D’où le besoin suivant : « le système
doit supporter l’augmentation du nombre des serveurs du Datacenter.
1.6 Conclusion partielle
Pour conclure ce chapitre, nous dirons qu’il a été l’occasion pour nous de d’écrire
l’entreprise bénéficiaire de notre future solution en générale. L'étude que nous avons menée nous
a permis de mettre un accent sur les problèmes réels que rencontre « Anonymous » afin d'y
ressortir le maximum d'idées qui nous ont mené à la détermination des objectifs que nous devrons
atteindre dans ce présent travail. C'est pour cela que nous aurons à proposer un système qui
apporte des solutions aux différents problèmes liés à la gestion des configurations de
l'infrastructure.
Page | 26
2.1 Introduction
Ce chapitre nous permettra de nous focaliser sur les aspects conceptuels de ce travail.
L’étude de l’existant que nous avons effectués au précédent chapitre nous a permis de ressortir
les besoins et les fonctionnalités qu’aura le futur système. A ce stade, le futur système parait
comme une boite noire qui encapsule tous les mécanismes qui pourront répondre aux
fonctionnalités demandées. Nous allons essayer de décomposer le futur système en quelques
modules afin de réduire son niveau d’abstraction. Nous allons, tout au long de ce chapitre
concevoir l’architecture logique générale, l’architecture physique générale et l’architecture
logique détaillée du futur système.
2.2 Conception logique générale
La future architecture devra avoir les différentes fonctionnalités qui sont :
➢ Sauvegarder machines virtuelles
➢ Répliquer machines virtuelles
➢ Restaurer machines virtuelles
➢ Sécuriser machines virtuelles
2.2.4 virtualisations
C’est dans ce module que nous allons trouver toutes nos machines virtuelles (différents
serveurs), que nous devons sauvegarder et répliquer.
Voici un tableau qui reprend de manière synthétique tous les modules du futur système :
Tableau 2. 1 Liste des modules du futur système
Figure 2. 2 la sauvegarde
2.3.1.2 Utilité
L’utilité de la sauvegarde est de pouvoir restaurer le plus rapidement possible un système
après une défaillance ou un incident.
2.3.1.3 Types de sauvegarde
Il existe quatre grands types ou catégories de sauvegarde [3] à savoir :
a. La sauvegarde complète
La sauvegarde complète consiste à copier l’ensemble des fichiers et dossier d’un système.
Chaque fois que vous effectuez une sauvegarde complète, vous stockez entièrement et une
nouvelle fois la source de données [4].
L’avantage de la sauvegarde complète est qu’elle permet d’obtenir une image fidèle des
données est par ailleurs très rapide, cependant elle prend beaucoup de temps au vu de la quantité
des données à sauvegarder. De plus elle nécessite beaucoup d’espace disque.
Page | 29
b. La sauvegarde incrémentale
La sauvegarde incrémentale effectue d’abord une première copie complète de toutes vos
données et chaque sauvegarde qui vient après permet d’enregistrer les modifications apportées
depuis la dernière sauvegarde [4].
Contrairement à la sauvegarde complète, la sauvegarde incrémentale est très rapide à
réaliser, mais plus lente à la restauration, elle a aussi l’avantage d’utiliser peu de quantité de
stockage.
c. La sauvegarde différentielle
Comme avec la sauvegarde incrémentale, la différentielle va effectuer une copie initiale et
complète de tous vos fichiers et dossiers. Mais les prochaines sauvegardes vont permettre de
stocker tous les changements apportés depuis votre dernière sauvegarde complète.
Ce type de sauvegarde permet d’enregistrer les données plus rapidement que la sauvegarde
complète et demande aussi mois d’espace. Quant à la restauration, elle est plus rapide que celle
de la sauvegarde incrémentale qui nécessite moins d’espace de stockage [4].
d. Sauvegarde miroir
La sauvegarde miroir réalise une copie conforme des fichiers de votre système. Elle
s’effectue ponctuellement et prend en compte l’ensemble des données sources telles qu’elles
existaient lors de la dernière sauvegarde [4].
Ce procédé a l’avantage de proposer une restauration rapide et ne contient pas de fichiers
anciens ou obsolètes. Vous pouvez le combiner avec l’une des méthodes présentées ci-dessus
pour optimiser votre méthode de stockage.
2.3.1.3 La restauration
On ne peut pas parler de la sauvegarde sans parler de la sauvegarde informatique, la
sauvegarde de données ne résout pas à elle seule le problème, on doit aussi être en mesure de
pouvoir restaurer les données sauvegardées pour pouvoir parler d’un quelconque plan de reprise
d’activité après sinistre.
2.3.2 Le support de stockage
Le support de stockage communément appelé mémoires de masse, permettent de
conserver les données lorsque l’ordinateur est éteint, de manière permanente [5].
2.3.2.1 Différents types de support de stockage
a. Support magnétique
Le support de stockage magnétique sont les supports dont une ou deux faces sont
recouvertes d’un matériau magnétique (particulier dans le cas des bandes et des disques flexibles,
ou en couches minces dans le cas des disques durs), alimenté lors de l’écriture sur le support ; la
lecture peut être soit magnétique, soit optique (support magnéto-optique). Ces supports existent
sous plusieurs formats : disque (disques durs, disquette), bande (streamer, cartouche ou cassette),
carte à mémoire [5].
Page | 30
b. support optique
Le support optique, constitué d’un substrat généralement de plastique, mais pouvant être
également en verre (technologie Century Master), protégeant une ou plusieurs couches sensibles
sur lesquelles les données sont enregistrées par des techniques variées, sous forme de cavités
cuvettes, et lue par un procédé optique. Ces supports peuvent être de format physique de type
disque, carte (nommée carte laser), bande ou cassette. Les recherches sur les mémoires optiques
de très haute densité int donné naissance aux techniques holographiques qui utilisent trois
dimensions pour l’enregistrement des sonnées. De nouveaux supports liés à l’élément sensible et
permettant un important volume de stockage sont en cours de test [5].
c. support à semi-conducteur
Mieux connus sous le nom de mémoires flash, l’information est stockée grâce au
déplacement de charges électroniques dans de petits transistors.
Contrairement aux disques durs, ce support n’a aucune pièce mobile, cet avantage lui confère une
rapidité de plus, il ne dispose pas de pièce mécanique, ce qui le rend plus résistant aux chocs que
d’autres supports, cela les garantit également d’un danger qui est l’usure mécanique [5].
Page | 31
2.3.3 La virtualisation
2.3.3.1 Définition
La virtualisation est définie comme étant l’ensemble de techniques matérielles et
logicielles permettant de fournir un ensemble ou un sous-ensemble de ressources informatique de
manière qu’elles puissent être utilisées.
La virtualisation permet le fonctionnement de plusieurs machines virtuelles
indépendantes les unes des autres sur une même ressource physique centralisée et sécurisée en
salle informatique [6].
Figure 2. 6 Virtualisation
Page | 32
c. La virtualisation de stockage
Cette virtualisation permet de séparer l’application u système d’exploitation hôte et des
autres applications présentes afin d’éviter les conflits. Cette solution est particulièrement pratique
pour simplifier l’administration du parc informatique notamment lors de l’installation des
nouveaux correctifs.
La virtualisation de stockage est un concept en administration système, en se référant à
l’abstraction (séparation) de stockage logique (partition virtualisée de données stockées) de
Page | 33
stockage physique (tourner, lire et écrire des disques magnétiques ou optiques tels que les CD,
DVD, ou même un disque dur, etc.)
Cette séparation permet aux systèmes d’exploitation d’avoir une plus grande souplesse
dans leur façon de gérer le stockage pour les utilisateurs finaux. La virtualisation de stockage
permet d’atteindre l’indépendance lieu par l’abstractions de l’emplacement physique des données.
Le système de virtualisation présente à l’utilisateur un espace de stockage de données logique
pour lui-même et gère le processus de mappage [6].
2.3.3.3 L’hyperviseur
Un hyperviseur est un logiciel qui permet de créer et d’exécuter des machines virtuelles.
Il isole son système d’exploitation et ses ressources des machines virtuelles, et permet de créer et
de gérer ces machines virtuelles.
Le matériel physique utilisé en tant qu’hyperviseur est appelé Hôte, tandis que toutes les
machines virtuelles qui utilisent ses ressources sont appelées Invités.
L’hyperviseur traite les ressources (telles que le processeur, la mémoire et le stockage) à
la manière d’un pool qui peut être déplacé sans difficulté entre les invités existants ou vers de
nouvelles machines virtuelles [7].
Figure 2. 7 Hyperviseur
Si on souhaite définir un hyperviseur, on peut dire qu’il s’agit d’un outil de virtualisation
qui permet à plusieurs systèmes d’exploitation (OS) de fonctionner simultanément sur une même
machine physique. Théoriquement c’est une couche logicielle très légère (en comparaison à un
OS classique) qui permet d’allouer un maximum de ressources physiques aux machines virtuelles.
Page | 34
Les hyperviseurs sont de plus en plus présents dans les architectures des entreprises, étant
donné que la virtualisation se développe et se répand rapidement. Les solutions multiples et plus
ou moins coûteuses, mais, en ce qui concerne les hyperviseurs, il y a deux types.
a. Hyperviseur de type 1
Un hyperviseur de type 2 est assez comparable à un émulateur car celui-ci s’installe sur
un système d’exploitation déjà en place, il démarre la plupart de temps comme une simple
application.
Parmi les hyperviseurs de type 2, on trouve VMware Player, VMware Workstation,
Virtual PC et VirtualBox, … [7]
2.3.4 L’automatisation
La partie de ce travail comprendra différents modules que nous avons cité au point
précédent.
2.3.4.1 Le fichier d’inventaire
Le fichier d’inventaire est un fichier dans lequel on renseigne les serveurs sur lesquels on
effectue nos actions. Le fichier d’inventaire peut être dans l’un des nombreux formats, en fonction
des plugins d’inventaire que vous avez.
Page | 35
En général, si on travaille sur plusieurs serveurs. On définit ces machines dans notre fichier
d’inventaire et en principe, on regroupe ces hôtes par groupe. Par exemple, imaginons le scénario
où l’on veut installer Nginx sur la moitié de nos serveurs, on créera alors un groupe appelé Nginx
et on y ajoutera tous les serveurs où l’on veut l’installer :
Dans d’autres cas, il faut recourir à des applications spéciales pour créer, modifier et tester
la syntaxe des fichiers de configuration. Pour les services et les systèmes d’exploitation, le code
source et parfois la seule documentation disponible. En général, les pages de manuel ou d’aide
rendent partiellement compte de la syntaxe à utiliser dans ces fichiers ?
Les formats XML et YAML tendent à se généraliser dans l’écriture des fichiers de
configuration. Ils ont l’avantage d’avoir une syntaxe déjà bien définie et de disposer d’outils de
vérification et de validation connus [8].
Une version de YAML ressemble à ceci :
c. Syntaxe
Pour plus de clarté, les fichiers de configuration respectent en général une syntaxe qui
associe des directrices (ou mots clés) à des valeurs.
Cette syntaxe peut adopter des formes et des niveaux de complexité différents selon
l’ampleurs et la précision des fonctionnalités de l’application.
Les paramètres peuvent être organisés linéairement (par ex : rs vitesse=9400), en tableau
(comme fstab) ou encore en « objet », ce qui est le cas avec le XML, délimités par un début et
une fin, et caractérisés par des propriétés et des options propres à chaque type d’objet.
A la manière des langages de programmation, les fichiers de configuration peuvent être
accompagné de commentaires qui seront ignorés par le programme, mais qui permettront aux
créateurs du logiciel d’insérer des indications, et aux utilisateurs de mieux comprendre le
comportement du programme et de neutraliser momentanément certaines lignes [8].
d. Comportement du fichier de configuration
les pare-feu, les orchestrateurs de conteneurs, les conteneurs eux-mêmes et même les instances
de machine virtuelle dans un hyperviseur ou une machine virtuelle, cloud public (AWS, GCE,
AZURE) et /ou privé (Open Stack, Cloud Stack, par exemple) ainsi que dispositifs de stockage et
de sécurité, et configuration système.
➢ Les modules peuvent être écrits dans n’importe quel langage de
programmation
➢ Les configurations déclarées dans les fichiers de configuration sont
distribuées sur le réseau
➢ Les modules sont un moyen d’accroitre les capacités des outils DevOps
Après ce tour d’horizon qui nous a permis d’avoir un aperçu détaillé sur les modules du
système, un diagramme qui résume de manière succincte et plus ou moins précise toutes les
parties du système s’avère être nécessaire pour sa bonne compréhension en somme [8].
Page | 38
3.1 Introduction
Dans ce chapitre il sera question de faire le choix du matériel et logiciel afin
d’implémenter les différentes fonctions logiques écrites ci-haut. La solution ainsi conçue
(globalement et d’une manière détaillée) peut être alors réalisée avec les technologies disponibles.
➢ Critère 7 (C7) : Coût réduit, solution efficace pouvant être implémentée avec un
budget minimum ;
Disponibilité ✓ ✓ ✓ ✓
a. disponibilité
Il est question de comparer Chef, Puppet, Ansible Salt Stack sur la base de la disponibilité.
Tous ces outils sont hautement disponibles, ce qui signifie qu’il existe plusieurs serveurs ou
plusieurs instances. Disons que si votre maître principal ou votre serveur tombe en panne, il y a
toujours un serveur de sauvegarde ou un autre maître pour le remplacer.
Parcourons chacun des outils individuellement :
a.1 Chef
En cas de défaillance su serveur principal, c’est-à-dire du serveur Chef, un serveur de
sauvegarde remplace le serveur principal
a.2 Puppet
Il a une architecture multi-maîtres, si le maître actif tombe en panne, l’autre maître prend
la place du maître actif
Page | 41
a.3 Ansible
Il s’exécute avec un seul nœud actif, appelé instance principale. Si le primaire tombe en
panne, une instance secondaire doit prendre sa place.
a.4 Salt stack
Plusieurs maitres peuvent être configurés. Si un maître est en panne, les agents se
connectent à l’autre maître de la liste. Par conséquent, il a plusieurs maîtres pour configurer les
serviteurs.
b. Facilité d’installation
Par facilité d’installation, concentrons-nous sur chaque outil un par un :
✓ Chef a une architecture d’agent-maitre. Le serveur Chef s’exécute sur l’ordinateur maître
et le client Chef s’exécute en tant qu’agent sur chaque ordinateur client. En outre, il existe
un composant supplémentaire appelé poste de travail, qui contient toutes les
configurations qui sont testées puis transférées cers desserveur chef central. Par
conséquent, ce n’est pas si facile.
✓ Puppet a également une architecture d’agent principal. Le serveur Puppet s’exécute sur
l’ordinateurs maître et les clients Puppet s’exécutent en tant qu’agent sur chaque
ordinateur client. Après cela, il y a également une signature de certificat entre l’agent et
le maître. Par conséquent, ce n’est pas aussi facile.
✓ Avec ansible seul le maître d’exécute sur la machine serveur, mais aucun agent ne
s’exécute sur la machine cliente. Il utilise la connexion ssh pour se connecter aux
systèmes clients ou aux nœuds que vous souhaitez configurer. La machine virtuelle
cliente ne nécessite aucune configuration particulière, elle est donc plus rapide à
configurer.
✓ Salt Stack, le serveur est appelé maître du sel et les clients sont appelés minions du sel,
lesquels s’exécutent en tant qu’agents sur la machine cliente.
c. La gestion aisé
Pour entamer cette partie, il sied de dire que Puppet et Chefs suivent les configurations
par tirage & ansible et Salt Stack suivent les réglages push.
Dans la configuration push, toutes les configurations présentes dans le serveur central
seront poussées vers les nœuds, tandis que dans la configuration pas extraction, les nœuds
esclaves extrairont automatiquement toutes les configurations du serveur central sans aucune
commande.
✓ Avec Chef vous devez être un programmeur pour gérer les configurations car il offre des
configurations dans Ruby DSL. Le client extrait les configurations du serveur.
✓ Avec Puppet, il est difficile de gérer les configurations car il utilise YAML, c’est-à-dire
un langage de balisage qui ressemble beaucoup à l’anglais. Le serveur envoie les
configurations à tous les nœuds. Bon pour les applications en temps réel et il y a une
exécution à distance immédiate.
Page | 42
✓ Salt Stack, facile à apprendre à gérer les configurations car il utilise également YAML.
Le serveur envoie les configurations à tous les clients. Exécution distance immédiate.
d. L’évolutivité
Les quatre outils sont hautement évolutifs. Supposons que si vous avez besoin de
configurer environ 70 nœuds aujourd’hui et demain 500, cela ne pose aucun problème. Ce n’est
pas un problème avec ces outils. Ils peuvent gérer une infrastructure importante, il vous suffit de
spécifier l’adresse IP et le nom d’hôte des nœuds que vous souhaitez configurer. Le reste de tâche
sera géré par ces outils. Par conséquent, tous ces outils sont tellement évolutifs.
e. Langue de configuration
✓ Chef utilise le langage Ruby Domain Specific Language (Ruby DSL). Il a une courbe
d’apprentissage abrupte et orientée développeur.
✓ Puppet utilise son propre langage spécifique au domaine de la marionnette (Puppet DSL)
ce n’est pas très facile à apprendre et son administration système est orientée.
✓ Ansible utilise YAML, c’est-à-dire un autre langage de balisage (Python). Il est assez
facile à apprendre et orienté administrateur. De nos jours, Python est intégré à la plupart
des déploiement Unix et Linux. Par conséquent, la configuration et l’utilisation de l’outils
sont plus rapide
✓ Saltstack utilise également YAML (Python). Il est encore facile à apprendre et orienté
administrateur
f. L’interopérabilité
Dans ces outils, maître ou serveur principal ou vous pouvez aussi dire machine de
contrôle, doit être sous linux/Unix mais leurs esclaves ou les nœuds qu’ils doivent configurer
peuvent être sous Windows. Décortiquons chaque outil un à un :
✓ Chef serveur ne fonctionne que sous Linux/Unix, mais Chef client et Workstation
peuvent également fonctionner sous Windows.
✓ Puppet master fonctionne que sous Linux/Unix, mais Puppet agent fonctionne également
sous Windows.
✓ Ansible prend également en charge les machines Windows, mais le serveur ansible doit
être installé sur une machine Linux/Unix.
✓ Salt Stack master ne fonctionne que sous Linux/Unix, mais les sbires de sel peuvent aussi
fonctionner sous Windows.
g. Coût réduit
Les coûts d’entreprise pour les outils de configuration sont les suivant :
✓ Puppet, le prix de Puppet va de 112USD par nœud/ par an avec un plan de support
standard à 199 USD par nœud / an avec le plan premium.
Page | 43
✓ Ansible, le prix pour ansible Tower pur les opérations informatiques standard jusqu’à 100
nœuds est de 10 000 USD /an. Cela inclut une assistance 8*5, tandis que premium offre
une aisance 24*7 pour 14000 USD /an.
✓ Salt Stack, le coût pour Salt stack Enterprise par nœud est de 150 USD/an (environ). Vous
pouvez contacter le support pour le prix actuel de l’abonnement annuel.
Voici un tableau qui illustre les critères remplis de chaque technologie
Tableau 3. 2 les critères du choix technologique
Critères C1 C2 C3 C4 C5 C6 C7 Total
Comme vous pouvez le voir ci-haut, Puppet et Chefs sont les anciens dans ce domaine,
tandis qu’Ansible et le Saltstack sont des nouveaux. Et ansible semble très promoteurs avec la
tendance croissante.
Page | 44
Partant de cette étude et vu le total des critères remplis, il serait judicieux d’opter pour la
solution Ansible.
Critère Pourcentage
Acronis backup
100
88
66 68 67 69
62 65
60
50
45
b. Veeam backup
Tableau 3. 4 Veeam backup
Critère Pourcentage
Veeam backup
100
88
62 66 68 65 67 69
60
50 45
c. CA ARC serve
Tableau 3. 5 CA ARC serve
Critère Pourcentage
CA ARC Serve
100
88
66 68 65 67 69
62 60
50 45
d. Bacula
Tableau 3. 6 Bacula
Critère Pourcentage
Bacula
100
88
66 68 65 67 69
62 60
50
45
Figure 3. 5 Bacula
Comme on le voit très bien, la moyenne la plus élevée parmi les quatre outils choisis,
Veeam Backup remporte et répond aux critères pour le choix de notre outil.
✓ Simple :
• Automatisation facile
• Utilisable partout
• Déploiement d’application
• Gestion de configuration
• Orchestration de workflow
• Démarrer immédiatement
3.3.1.2 Playbooks
Les playbooks sont une manière complètement différente d’utiliser ansible que dans le
mode d’exécuter de tâches ad hoc, et sont particulièrement puissants.
En un mot, les playbooks sont la base d’un système de gestion de configuration et de
déploiement d’application complexes. Les playbooks peuvent déclarer des configurations, mais
ils peuvent également orchestrer les étapes de tout processus de commande manuelle, même si
différentes étapes doivent rebondir entre des ensembles des machines dans des ordres particuliers.
Ils peuvent lancer des tâches de manière synchrone ou asynchrone.
Le playbook est le langage de configuration d’ansible utilisé pour effectuer l’ensemble
des tâches et d’étapes de configuration ou pour faire appliquer une politique sur les nœuds
distants. Les modules Ansible sont utilisés dans les Playbook pour exécuter une opération. Le
playbook est écrit en YAML qui est un langage simple, lisible par l’homme et développé dans un
anglais de base comme la langue du texte. Les playbooks sont plus susceptibles d’être conservés
dans le système de contrôle de version et utilisés pour les configurations des systèmes distants
[8].
Page | 53
Par défaut, ansible essaiera d’utiliser OpenSSH en natif pour les communications à
distance lorsque cela est possible. Cela active ControlPrsist (une fonctionnalité performante),
Kerberos et des options dans ~/.ssh/config, telles que la configuration de l’hôte sauté. Quand nous
parlons avec des machines distantes, ansible suppose par défaut que nous utilisons des clé SSH.
➢ Standard
➢ Enterprise
➢ Enterprise plus
3.4.4 Infrastructure de Veeam backup
Veeam backup et réplication fait partie d’une infrastructure client-serveur à 3 niveaux ou
3-tier. Dans l’architecture à 3 niveaux, il existe un niveau intermédiaire c’est-à-dire on a
généralement une architecture partagée entre le client qui est l’ordinateur demandeur de
ressources, un serveur d’application appelé également middleware chargé de fournir la ressource
mais faisant appel à un autre serveur ainsi que le serveur de données fournissant au serveur
d’application.
Le schéma ci-dessous montre comment Veeam Backup fonctionne [9]
• ESXi 7
• ESXi6.0
• ESXi 5.x
• ESX/ESXi 4.x
• Sur le CD ou DVD
Sur Debian:
➢ Ajouter la ligne suivante à /etc/apt/sources.list : de
➢ http://ppa.launchpad.net/ansible/ansible/ubuntu trusty main
➢ Puis lancez ces commandes:
➢ Sudo apt-key adv –keyserver keyserver.ubuntu.com –recy-keys
93C4A3FD7BB9C367
➢ Sudo apt update
➢ Sudo apt install ansible
Sur Gentoo:
➢ Emerge -av app-admin/ansible
➢ Echo ‘app-admin/ansible/>>/etc/portage/package.accept_keywords
Sur FreeBSD :
➢ Bien qu’ansible fonctionne avec les versions Python 2 et 3, FreeBSD propose
différents package pour chaque version Python. Donc, pour installer, nous
pouvons utiliser :
➢ Sudo pkg install py27-ansible ou
➢ Sudo pkg install py36-ansible
3.5.1.3 Veeam Backup
3.5.1.3.1 Exigences matérielles
Voici les exigences requises pour l’installation de Ansible :
➢ Infrastructure physique : Windows (client ou serveur), Linux, MAC
➢ 4gigas de RAM
Page | 60
3.5.3 Tests
3.5.3.1 Tests unitaires
Notons ici que les modules (ESXi et Ansible) sont épargnés pour ces tests, car c’est des
modules qui fonctionnent déjà au sein de l’entreprise « Anonymous »
3.5.3.1.1 Veeam Backup
Sur le nœud veeam, nous aurons à vérifier si :
➢ Winrm a été bien configuré
➢ Les configurations de la carte réseau sont bien faites à l’aide des utilitaires
suivants :
• IPCONFIG
• NSLOOKUP
➢ Le repository a été bien installé
• En mode graphique
• Get-VBRBackupRepository
➢ Le serveur ESXi a été bien ajouté
• Get-VBRServer
• En mode graphique
3.5.3.2 Test intégral
➢ Connectivité entre ansible et veeam backup : pour ce test nous allons utiliser
l’utilitaire PING
➢ Tester si la sauvegarde des machines virtuelles s’effectue normalement
CHAPITRE 4 IMPLEMENTATION
4.1 Introduction
Dans ce chapitre il est question de mettre en œuvre notre solution que nous avons défendu
depuis le début, nous vous épargnerons trop de théories, étant donné que cela a été déjà fait dans
notre plan d’implémentation.
Pour notre implémentation nous aurons juste besoin de trois machines, une machine va
nous servir de contrôleur (sur lequel nous allons installer ansible), la deuxième va nous permettre
d’installation de veeam backup (nœud qui sera géré par notre contrôleur) et sur la dernière nous
allons installer dessus ESXi qui va nous permettre de créer les machines virtuelles que nous
devons répliquer et sauvegarder
4.2 Installations
4.2.1 Installation de veeam backup
Sélectionner le bouton parcourir ou browser pour sélectionner la licence Veeam puis cliquer sur
suivant.
Choisissez les composant que nous allons installer, laisser le choix par défaut
Patientez l’installation
Vous verrez apparaitre l’icône de veeam backup & replication sur votre bureau
4.3 Configurations
4.3.1 Configuration des cartes réseaux
La configuration des cartes réseaux de nos deux machines (le node et le contrôleur), et la
fixation des adresses avec netplan.
4.3.1.1 Contrôleur (Ubuntu)
Dans le terminal en tant que root tapez les commandes :
➢ Ifconfig ens38 10.10.1.5 netmask 255.0.0.0
Page | 71
➢ nano /etc/netplan/01-network-manager-all.yaml
4.3.6 Création des playbooks et scripts PowerShell pour la gestion de veeam backup
4.3.6.1 La création du repository
4.4 Tests
Cette étape présente le résultat obtenu après les différentes configurations réalisées par
rapport à chaque module du système.
4.4.1 Repository
CONCLUSION GENERALE
REFERENCES
[4] C. goyard, «Définition d'une sauvegarde informatique,» 21 mai 2019. [En ligne].
Available: https://www.appvizer.fr/magazine/services-
informatiques/sauvegarde/definition-dune-sauvegarde-informatique-1472940000.
[Accès le 28 novembre 2021].
[5] R. futura, «Sauvegarde qu'est-ce que c'est,» Futura Redaction, [En ligne].
Available: https://www.futura-sciences.com/tech/definitions/sauvegarde-
sauvegarde-18146/. [Accès le 10 Décembre 2021].
[10] A. Zhelezko, «VEEAM,» Veeam product, 5 Décembre 2017. [En ligne]. Available:
https://www.veeam.com/blog/start-microsoft-powershell-cmdlets.html. [Accès le
02 Décembre 2021].