Vous êtes sur la page 1sur 48

UNIVERSITE MOHAMMED PREMIER

Ecole Nationale des Sciences Appliques (ENSA)


Oujda
Filire Gnie Tlcommunications & Rseaux

Mmoire de Projet de Fin danne

Spcialit : Tlcommunications & Rseaux

Le 06/ 07/2017

Prsent par : AZOULI Mohsine


DAHAK Souha
RECHAM Ayoub

Sujet intitul :

Dploiement dun Cloud priv sous Openstack

Membres de jury : Encadrs par :

M.KOULALI Mohammed Amine M.KOULALI Mohammed Amine

M SEFRAOUI Omar

Anne universitaire 2016-2017


REMERCIEMENTS

Au terme de ce projet de fin danne, nos vifs


remerciements sont ddis tous ceux qui ont
contribu, directement ou indirectement llaboration de ce projet.
En premier lieu, on remercie Monsieur
KOULALI MOHAMMED AMINE
notre encadrant, qui a toujours trouv le temps de
faire le suivi de notre travail et dtre lcoute lorsque
nous rencontrions des difficults dans le projet, Nous ne
saurons jamais oublier ses conseils judicieux.

Nos remerciements sadressent galement notre chef de


filire M. BELKASSEM Tidhaf.

Cest avec une immense fiert quon adresse nos remerciements les plus
distingus tous nos
enseignants qui nous ont transmis leur savoir et nous ont
assur la meilleure des formations.

Notre dernier mot sadresse tous les membres du jury pour


lhonneur quils nous font de participer lexamen de ce travail.

Mmoire de projet de fin danne 1 2016-2017


Rsum

L e Cloud Computing est devenu aujourdhui, le sujet le plus dbattu dans le secteur des

technologies de l'information. En effet il sagit dun nouveau modle qui consiste proposer des services
informatiques sous forme de services la demande, accessibles distance via lInternet, n'importe o,
n'importe quand et par n'importe qui. L'volution du Cloud Computing est le moteur de la prochaine
gnration de services Internet.
Le service de base le plus connu du Cloud Computing est lIaaS (infrastructure as a service), qui
fournit un socle dinfrastructure informatique virtualis, en offrant des ressources informatiques
(serveurs, stockage, rseaux) la demande selon les besoins des clients. Ceci permet aux entreprises
dexternaliser leurs systmes informatiques et donc de rduire leurs cots informatiques tout en tant
plus efficaces et plus flexibles.

Ce mmoire prsente le travail ralis dans le cadre de notre projet de fin danne dont le but consiste
faire la conception et le dploiement dun environnement Cloud priv, en tudiant et en explorant les
fonctionnalits offertes par une plateforme open source. OpenStack tait notre solution de choix pour
entamer la mise en place du projet, une plateforme qui rpond parfaitement aux besoins des utilisateurs
finaux.

Mots-cls : Cloud Computing, infrastructure en tant que service (IAAS), virtualisastion, OpenStack.

Mmoire de projet de fin danne 2 2016-2017


Abstract

Cloud Computing has become the most discussed topic in the information technology sector.

Indeed, it is a new model which consists to provide IT services as on-demand services accessible
remotely via Internet, anywhere, anytime and by anyone.
The evolution of cloud computing is the moving force for the next generation of Internet services.
The well known basic service of Cloud Computing is the IaaS (infrastructure as a service), which
provides a base of virtualized IT infrastructure, by providing IT resources on-demand (servers, storage,
networks) according to customer's needs
This allows companies to outsource their IT systems and therefore reduce their IT costs while being
more efficient and flexible. This paper presents the work that has been done as part of our project whose
aim is to design and deploy a private cloud environment, by studying and exploring the features offered
by an open source platform. OpenStack was our solution of choice to begin the implementation of the
project, a platform that meets the needs of end users.

Keywords: cloud computing, infrastructure as a service (IAAS), virtualisastion, OpenStack.

Mmoire de projet de fin danne 3 2016-2017


Liste des acronymes

Abrviation Dsignation

IP Internet Protocol

KVM Kernel-based Virtual Machine

LTS Long Term Support

NASA National Aeronautics and Space Administration

NFS Network File System

PaaS Platform as a Service

QEMU Quick EMUlator

SaaS Software as a Service

SSH Secure SHell

VM Virtual Machine

Figure : liste des acronymes

Mmoire de projet de fin danne 4 2016-2017


Liste des figures

Figure 1: Les deux types dhyperviseurs ................................................................................................ 13


Figure 2: Types de Cloud ....................................................................................................................... 14
Figure 3: Diffrentes couches des services du Cloud Computing.......................................................... 15
Figure 4: Rpartition de la responsabilit en fonction du service du Cloud .......................................... 16
Figure 5: Tableau de Caractristiques de comparaison pour des plateformes open source ................... 21
Figure 6: Une architecture de base pour implementer le nud compute et controller[3] ...................... 28
Figure 7: interface de VMware Fusion (workstation) ............................................................................ 29
Figure 8 : bibliotheque des machines virtuelles de VMware fusion ...................................................... 29
Figure 9: Configuration des cartes reseaux pour les deux noeuds ......................................................... 30
Figure 10: La configuration du fichier /etc/hosts ................................................................................... 31
Figure 11: Fichier de configuration du nud de contrle (script) [3] .................................................... 32
Figure 12: Connexion au dashboard openstack ...................................................................................... 33
Figure 13: La page Vue d'ensemble du dashboard dopenstack ............................................................ 33
Figure 14: Cration d'un nouveau projet avec le bouton Crer un projet............................................... 34
Figure 15: manipulation du Quotas ........................................................................................................ 34
Figure 16: Cration dune nouvelle image ............................................................................................. 35
Figure 17: Ajout des regles pour le groupe de securite par defaut ......................................................... 37
Figure 18: Dtails des regle de groupe de scurite ajoutes ...................................................................... 37
Figure 19: la cration dune Keypair (paire de cles) .............................................................................. 38
Figure 20: allocation dune adresse IP flotante a partir dune plage d'adresses existante ..................... 38
Figure 21: Les diffrents paramtres dune instance.............................................................................. 39
Figure 22: Une instance lancee avec succes ........................................................................................... 39
Figure 23: Telechargement du resume dutilisation ............................................................................... 40
Figure 24: Le fichier dutilisation de ressource Usage.csv .................................................................... 40
Figure 25: Cration dun nouveau volume ............................................................................................. 41
Figure 26: Lattachement un volume a une instance .............................................................................. 42
Figure 27: principe de HA ...................................................................................................................... 43
Figure 28:Un cluster MySQL ................................................................................................................. 44

Mmoire de projet de fin danne 5 2016-2017


Table de matires

Remerciements ......................................................................................................................................... 1
Rsum ..................................................................................................................................................... 2
Abstract .................................................................................................................................................... 3
Liste des acronymes ................................................................................................................................. 4
Liste des figures........................................................................................................................................ 5
Table de matires...................................................................................................................................... 6
Introduction gnrale ................................................................................................................................ 8
Partie 1 : Etat de lart sur le Cloud computing ......................................................................................... 9
Chapitre 1 : Concept et Dfinition ........................................................................................................... 9
1. Dfinition et gnralit ................................................................................................................ 10
2.1 Introduction .......................................................................................................................... 10
2.2 Historique du Cloud Computing .......................................................................................... 10
2.3 Dfinition Du cloud Computing .......................................................................................... 10
2. Elments consititufs du Cloud computing................................................................................... 11
2.1 La virtualisation ................................................................................................................... 11
2.2 Hyperviseur .......................................................................................................................... 12
2.3 Centre de donn ( Le datacenter ): ....................................................................................... 13
3. Les formes du dploiement du cloud .......................................................................................... 13
3.1 Le nuage Public :.................................................................................................................. 13
3.2 Le nuage priv :.................................................................................................................... 14
3.3 Le nuage hybride :................................................................................................................ 14
4. Les services du cloud : ................................................................................................................ 15
5.1 IaaS : .................................................................................................................................... 15
5.2 PaaS ...................................................................................................................................... 15
5.3 SaaS ...................................................................................................................................... 16
5.4 Synthse ............................................................................................................................... 16
5. Avantage et inconvnient du cloud : ........................................................................................... 16
4.1 Avantage : ............................................................................................................................ 16
4.2 Inconvnient : ....................................................................................................................... 17
6. Conclusion :................................................................................................................................. 17
Chapitre 2 : Analyse et reprsentation de la solution ............................................................................. 18
1. Introduction : ............................................................................................................................... 19
2. Solutions du cloud existantes : .................................................................................................... 19
2.1 Solutions propritaires : ....................................................................................................... 19
2.2 Solution libre ou Open Source : ........................................................................................... 20

Mmoire de projet de fin danne 6 2016-2017


3. Vue globale sur OpenStack ......................................................................................................... 22
3.1. Prsentation .......................................................................................................................... 22
3.2. Modules OpenStack ............................................................................................................. 22
Partie 2: NOTRE CONTRIBUTION ..................................................................................................... 25
Chapitre 1 : Dploiement & Test dOpenstack ...................................................................................... 25
1. Introduction ................................................................................................................................. 26
2. Depoilement & Test dOpenstack pour limplementation dun cloud prive ............................... 26
3. E lements constitutifs de la couche IaaS ...................................................................................... 26
4. Installation et configuration des services Openstack .................................................................. 26
4.1 Avant linstallation des services dOpenstack ..................................................................... 26
4.2 Installation ............................................................................................................................ 29
4.3 Scenario de deploiement dune machine virtuelle dans le cloud ......................................... 32
5. La haute disponibilite et la supervision des services openstack .................................................. 42
5.1 Haute Disponibilite (HA) du Cloud Controller.................................................................... 42
5.1 Qu'est ce que le Clustering? ................................................................................................. 43
5.1 le Cluster MySQL ................................................................................................................ 43
6. Conclusion :................................................................................................................................. 45
Conclusion Gnrale .............................................................................................................................. 46

Mmoire de projet de fin danne 7 2016-2017


Introduction gnrale

Le Cloud Computing est le nouveau pilier des technologies de linformation bases sur Internet.
Son expansion fulgurante durant la dernire dcennie en est la preuve criante. Le but de cette technologie
est de faciliter la vie aux internautes ainsi qu tout organisme basant son champ dactivits sur Internet.
Ceci est d lapproche innovante et originale quentreprend le Cloud Computing envers le domaine
informatique. Cette nouvelle philosophie, puissions nous la nommer de tel, est rsume en le principe
de ne payer que ce qui est consomm En effet face l'augmentation continue des cots de mise en
place et de maintenance des systmes informatiques, les entreprises externalisent de plus en plus leurs
services informatiques en les confiant des entreprises spcialises comme les fournisseurs du Cloud.
L'intrt principal de cette stratgie pour les entreprises rside dans le fait qu'elles ne paient que pour les
services effectivement consommes. Quant au fournisseur du Cloud, son but est de rpondre aux besoins
des clients en dpensant le minimum de ressources possibles. Une des approches qu'utilise le fournisseur
consiste mutualiser les ressources dont il dispose afin de les partager entre plusieurs entreprises. Le
"Cloud Computing" celui-ci consiste en une interconnexion et une coopration de ressources
informatiques, situes dans diverses structures internes, externes ou mixtes et dont le mode d'accs est
bas sur les protocoles et standards Internet. Le Cloud Computing est devenu ainsi, le sujet le plus
dbattu aujourd'hui dans le secteur des technologies de l'information. Le consensus qui se dgage est
que le Cloud Computing jouera un rle de plus en plus important dans les oprations informatiques des
entreprises au cours des annes venir. Depuis lapparition de cette technologies, et aux bnfices
quelle apporte les entreprises migrent grand pas vers le Cloud donne la naissance dun nombre
important de plateforme open source comme OpenStack, CloudStack, OpenNebula et Eucalyptus et
propritaire comme Microsoft Azure, Vcloud, Amazone EC2 et CloudForms pour la mise en place de
cette technologie.

Mmoire de projet de fin danne 8 2016-2017


Partie 1 :
Etat de lart sur le Cloud computing

Chapitre 1 :
Concept et Dfinition

Mmoire de projet de fin danne 9 2016-2017


1. Dfinition et gnralit
2.1 Introduction
La technologie de l'internet se dveloppe plus rapide et en manire progressivit. Dans ces dernires
annes il y a une nouvelle destination, Son but est d'amliorer les services dans le domaine TIC
(Technologies de l'information et de la communication), il s'agit du Cloud Computing .Ce dernier
est un concept qui regroupe plusieurs technologies servant dlivrer diffrents services. Il peut tre
schmatis par un ensemble indtermin de ressources informatiques interconnectes et une coopration
dans un rseau bien dfini. L'accs aux services se fait la demande par une application standard
facilement disponible savoir, un navigateur Web. Dans ce chapitre, nous allons prsenter les notions
et les concepts fondamentaux du Cloud Computing.
2.2 Historique du Cloud Computing
Il est communment admis que le concept de Cloud Computing a t initi par le gant Amazon en
2002. Le cybermarchand avait alors investi dans un parc informatique afin dallier les surcharges des
serveurs ddis au commerce en ligne constates durant les ftes de fin danne. A ce moment-l,
Internet comptait moins de 600 millions dutilisateurs mais la frquentation de la toile et les achats en
ligne taient en pleine augmentation. En dpit de cette augmentation, les ressources informatiques
dAmazon restaient peu utilises une foisque les ftes de fin danne taient passes. Ce dernier a alors
eu lide de louer ses capacits informatiques le reste de lanne des clients pour quils stockent les
donnes et quils utilisent les serveurs. Ces services taient accessibles via Internet et avec une
adaptation en temps rel de la capacit de traitement, le tout factur la consommation. Cependant, ce
nest quen 2006 quAmazon comprit quun nouveau mode de consommation de linformatique et
dinternet faisait son apparition. Bien avant la naissance du terme de Cloud Computing, utilis par les
informaticiens pour qualifier limmense nbuleuse du net, des services de Cloud taient dj utiliss
comme le webmail2, le stockage de donnes en ligne (photos, vidos,) ou encore le partage
dinformations sur les rseaux sociaux. La virtualisation est un concept beaucoup plus ancien qui
constitue le socle du Cloud Computing. La virtualisation regroupe lensemble des techniques matrielles
ou logicielles permettant de faire fonctionner, sur une seule machine physique, plusieurs configurations
informatiques (systmes dexploitation, applications, mmoire vive,) de manire former plusieurs
machines virtuelles qui reproduisent le comportement des machines physiques. Cest le fait de
formaliser une offre de services informatiques dmatrialiss la demande en direction des entreprises
qui a t le moteur de dveloppement du Cloud Computing en tant que tel.
2.3 Dfinition Du cloud Computing
Le terme cloud a dabord t utilis dans le contexte des rseaux de tlcommunications et
dInternet car, sur les schmas technologiques, ceux-ci taient illustrs sous la forme de nuages ( cloud

Mmoire de projet de fin danne 10 2016-2017


, en anglais), dsignant des zones o les informations se dplaaient et taient traites, sans toutefois
que lutilisateur lambda ne doive en connatre les tenants et les aboutissants. Et cest l un aspect
essentiel du cloud computing : le client demande et reoit des informations ou dautres ressources sans
ncessairement savoir o elles ne rsident ni comment les services du cloud rpondent sa requte. Le
NIST (National Institute of Standards and Technology) propose une dfinition formelle et largement
adopte du concept : Le cloud computing est un modle qui permet un accs rseau la demande et
pratique un pool partag de ressources informatiques configurables (telles que rseaux, serveurs,
stockage, applications et services) qui peuvent tre provisionnes rapidement et distribues avec un
minimum de gestion ou dinteraction avec le fournisseur de services. Cette dfinition est loin dtre
simple ! Toutefois, lide principale retenir est que le cloud nest pas un ensemble de technologies,
mais un modle de fourniture, de gestion et de consommation de services et de ressources informatiques.
Pour bien apprhender le concept de cloud computing, il convient de sintresser dune part la faon
dont sont configures les ressources, et dautre part aux possibilits quoffre une telle configuration. Les
ressources dun cloud (qui peuvent inclure galement des bases de donnes/informations, des outils de
productivit et dautres logiciels) prsentent trois caractristiques de base :
Regroupes en pool : Toutes les ressources du cloud sont organises et gres au sein
dun pool partag commun. Le pooling dbute gnralement au niveau des serveurs et du stockage, qui
prparent le terrain pour les donnes et les applications. Ceci sous-entend bien entendu des mthodes
communes pour structurer les ressources, les connecter et y accder.
Virtualises : toutes les ressources du pool sont conditionnes dans des conteneurs de
transport lectroniques. Ces divers conteneurs abritent des ressources, mais aussi les rgles mtiers
qui rgissent leur accessibilit, leur utilisation et leur gestion.
Connectes en rseau : Toutes ces ressources modulaires sont accessibles via un rseau
au moyen dinterfaces standard qui leur permettent dtre combines la manire de Lego. En termes
plus techniques, elles sont disponibles sous la forme de services Web .
2. Elments consititufs du Cloud computing
2.1 La virtualisation

La virtualisation permet de fournir les ressources ncessaires au support des applications du Cloud.
En fait, la mise en place d'une infrastructure virtualise est la premire tape de la cration d'un Cloud.
La virtualisation reprsente un ensemble de techniques matrielles et logicielles qui permettent de
faire fonctionner plusieurs systmes d'exploitation sur une mme machine physique et autorisent
lexcution de plusieurs applications indpendantes sur un mme serveur. Donc il sagit dune
technologie qui partitionne une machine physique en plusieurs machines virtuelles partageant les

Mmoire de projet de fin danne 11 2016-2017


ressources (processeur, disque dure, RAM) de la machine physique. La panne dune machine virtuelle
na aucune rpercussion globale, car elles sont isoles les unes des autres.
Pour bnficier de cette technologie, il suffit dquiper une machine physique dune plateforme de
virtualisation permettant dajouter la couche de virtualisation, appele hyperviseur.
Dans le domaine de virtualisation, nous utilisons souvent les notions suivantes :

Hyperviseur : la couche de virtualisation qui masque les ressources physiques dun


quipement matriel. Son rle consiste exposer aux machines hberges un matriel virtuel (CPU,
mmoire, RAM), ainsi qu en contrler les performances.

OS hte : le systme d'exploitation install sur la machine physique.


OS invit : les systmes d'exploitation des machines virtuelles.
Machines virtuelles : Une machine virtuelle se compose de plusieurs types de fichiers
qui peuvent tre stock sur un disque du serveur. Les fichiers cls qui constituent une machine virtuelle
sont les suivants : le fichier de configuration, le fichier de disque virtuel, le fichier de configuration
NVRAM et le fichier journal.
2.2 Hyperviseur
Un hyperviseur est une plateforme de virtualisation qui permet plusieurs systmes d'exploitation
de travailler sur une mme machine physique en mme temps. Les hyperviseurs sont classs
actuellement en deux catgories :
Type 1 : natif :

Un hyperviseur de Type 1, ou natif, "bare metal" (littralement "mtal nu"), est un logiciel qui
s'excute directement sur une plateforme matrielle ; cette plateforme est alors considre comme outil
de contrle de systme d'exploitation. Un systme d'exploitation secondaire peut, de ce fait, tre excut
au-dessus du matriel. L'hyperviseur type 1 est un noyau hte allg et optimis pour ne faire tourner
initialement que des noyaux de systmes d'exploitation invits adapts et optimiss cette architecture
spcifique, ces systmes invits ayant "conscience" d'tre virtualiss. Sur des processeurs ayant les
instructions de virtualisation matrielle (AMD-V et Intel VT), le systme d'exploitation invit n'a plus
besoin d'tre modifi pour pouvoir tre excut dans un hyperviseur de type 1. Les machines virtuelles
utilisant un noyau Linux KVM, qui transforment un noyau Linux complet en hyperviseur, sont
galement considres comme hyperviseurs de type 1.
Type 2
Un hyperviseur de Type 2 est un logiciel qui s'excute l'intrieur d'un autre systme d'exploitation.
Un systme d'exploitation invit s'excutera donc en troisime niveau au-dessus du matriel. Les
systmes d'exploitation invits n'ayant pas conscience d'tre virtualiss, ils n'ont pas besoin d'tre

Mmoire de projet de fin danne 12 2016-2017


adapts. Quelques exemples de tels hyperviseurs sont VMware Server (anciennement connu sous le nom
gsx), VMware Workstation, VMware Fusion, l'hyperviseur open source QEMU, les produits Microsoft
Virtual PC et Virtual Server,VirtualBox d'Oracle, de mme que Parallels Workstation de SWsoft et
Parallels Desktop.

Figure 1: Les deux types dhyperviseurs

2.3 Centre de donn ( Le datacenter ):


Un centre de traitement de donnes (Datacenter en anglais) est un site physique sur lequel se
trouvent regroups des quipements constituants le systme d'information de l'entreprise (mainframes,
serveurs, baies de stockage, quipements rseaux et de tlcommunications, etc.). Il peut tre interne
et/ou externe l'entreprise, exploit ou non avec le soutien des prestataires. Il comprend en gnral un
contrle sur l'environnement (climatisation, systme de prvention contre l'incendie, etc.), une
alimentation d'urgence et redondante, ainsi qu'une scurit physique leve. Cette infrastructure peut
tre propre une entreprise et utilis par elle seule ou des fins commerciales. Ainsi, des particuliers
ou des entreprises peuvent venir y stocker leurs donnes suivant des modalits bien dfinies.

3. Les formes du dploiement du cloud


3.1 Le nuage Public :
En anglais "Public Cloud" est un ensemble des services et des ressources accessibles par Internet et
gr par un prestataire externe, ces ressources et services sont partags entre plusieurs clients, qu'ils les
utilisent la demande et tout moment sans savoir o elles existent, aussi ces services peuvent tre
gratuits ou payants. On cas les services sont payants, il existe des contrats SLA (Service Level
Agreement) entre les clients et les fournisseurs, SLA est un document qui dfinit la qualit de service

Mmoire de projet de fin danne 13 2016-2017


requise entre les deux. Quelques exemples de Cloud public: Amazon Elastic Compute Cloud (EC2) et
Amazon S3, Sun Cloud, IBMs Blue Cloud, Google AppEngine et Windows Azure Services Platform.
3.2 Le nuage priv :
Ce modle est mont pour une utilisation ddie un unique client. Les Clouds privs internes,
grs en interne par une entreprise pour ses besoins, les clouds privs externes, ddis aux besoins
propres dune seule entreprise, mais dont la gestion est externalise chez un prestataire. Le cloud priv
permet la maximisation de lutilisation des ressources disponibles grce aux techniques de la
virtualisation employe. Le cloud priv offre galement la flexibilit et lagilit dans lexploitation des
ressources informatiques disponibles. Dans les environnements de forte utilisation des systmes
informatiques tels que les universits ou les grandes entreprises, il est galement utile de disposer de
linfrastructure en priv. Dans le cas des universits par exemple, les machines virtuelles du service
IAAS sont octroyes dynamiquement aux tudiants pour accomplir les tches dexprimentation en
rseau informatique.
3.3 Le nuage hybride :

Ce type de Cloud combine les Cloud public et priv. On peut ainsi dporter nos applications vers
un Cloud public qui consommera des donnes stockes et exposes dans un Cloud priv, ou bien faire
communiquer deux applications hberges dans deux Cloud privs distincts, ou encore consommer
plusieurs services hbergs dans des Cloud publics diffrents.

Figure 2: Types de Cloud

Mmoire de projet de fin danne 14 2016-2017


4. Les services du cloud :
Le Cloud Computing permet aux entreprises de consommer des services la demande. Ces services
sorganisent en trois niveaux successifs : le niveau infrastructure (IaaS), le niveau plateforme (PaaS) et
le niveau application (SaaS) comme il est indiqu dans lillustration ci-dessous :

Figure 3: Diffrentes couches des services du Cloud Computing

5.1 IaaS :
LIaaS ou l'infrastructure en tant que service permet aux entreprises de disposer la demande d'une
infrastructure matrielle virtuelle (les serveurs virtuels, les rseaux (routeurs et commutateurs), les
espaces de stockage, les machines virtuelles et les systmes dexploitation) qui est localise
physiquement distance dans des Datacenters chez le prestataire du service. Donc les entreprises
exploitent le matriel comme un service distance et la demande.
LIaaS offre une grande flexibilit avec une administration distance et permet aux entreprises de
s'affranchir compltement de l'achat et de la gestion du matriel physique (cots de gestion,
remplacement de matriel, climatisation, lectricit), ce qui les aide normment se concentrer
en premier sur leurs processus mtiers sans se proccuper du matriel.
5.2 PaaS
Le PaaS ou la plateforme en tant que service assure un environnement d'excution en ligne qui
fournit spcialement aux dveloppeurs des plateformes (bases de donnes, serveurs d'application comme
Apache Tomcat) sur lesquelles ils peuvent dvelopper, tester, dployer et hberger leurs applications
web via lInternet.
Ce service vite donc aux dveloppeurs et les entreprises dacheter, dinstaller et de grer par exemple
les logiciels, les middlewares et les bases de donnes. En contrepartie, il les aide se concentrer sur la
partie dveloppement des applications.

Mmoire de projet de fin danne 15 2016-2017


5.3 SaaS
Le SaaS ou le logiciel en tant que service permet aux entreprises daccder par le biais dune
interface via linternet aux diffrentes applications allant du CRM la gestion des ressources humaines,
comptabilit, messagerie et dautres applications mtiers selon leurs besoins.
Les fournisseurs de service SaaS loue donc aux entreprises des applications en tant que service la
demande au lieu de leur facturer la licence des logiciels. De cette faon, les utilisateurs finaux nont plus
besoin d'installer et de grer les logiciels et ils ne se soucient ni de la plateforme ni du matriel. Le
dploiement, la maintenance, la supervision du bon fonctionnement de l'application et la sauvegarde des
donnes, sont alors de la responsabilit du fournisseur de services.
5.4 Synthse

Figure 4: Rpartition de la responsabilit en fonction du service du Cloud

5. Avantage et inconvnient du cloud :


4.1 Avantage :
Le Cloud prsente de nombreux avantages :

Possibilit de partager ses contenus avec son rseau personnel.


Possibilit de partager les ressources.
Redondance de stockage de donnes en cas un disque dur tombe en panne, les donnes
restent en scurit et disponibles automatiquement sur un autre disque.
Possibilit de spcifier des ressources,

Mmoire de projet de fin danne 16 2016-2017


Aucune dfaillance : signifie qu'il n'y a ni de problmes de matriel, ni de logiciel de la
technologie.
Scurit dans Cloud o chaque utilisateur peut tre isol dans son propre environnement,
Plus flexible.
Augmente la collaboration.
Mobilit : lutilisateur peut tout moment et partir de nimporte quel appareil se connecter
ses applications (Any where - any time).
Contrle des cots.
4.2 Inconvnient :

L'accs au Cloud passe ncessairement par une connexion internet : par consquent, si votre
connexion est coupe, momentanment ou durablement, vous n'avez plus accs vos
documents ou service, Scurit : la plateforme Cloud, si elle est externe (non installe sur le
rseau interne ou avec une ouverture extrieure) doit tre suffisamment scurise pour viter
le risque dintrusion, de vol des donnes par piratage.
6. Conclusion :
Le Cloud Computing est certainement contribu rduire les problmes, qu'ils sont tourments les
entreprises comme : espace de stockage, ralisation les diffrentes applications et la disponibilit de
donnes. Donc le Cloud est un modle de distribution et de partage de ressources grand chelle, qu'il
offre les utilisateurs un environnement plus simple et plus efficace pour travaille, parmi d'intrt de
Cloud : facilit de travail, augmente la collaboration, rduire le cot de matriel et vit le dplacement
de client pour obtenir une donne

Mmoire de projet de fin danne 17 2016-2017


Chapitre 2 :
Analyse et reprsentation de la solution

Mmoire de projet de fin danne 18 2016-2017


1. Introduction :
Depuis ces dernires annes, plusieurs projets autour du cloud computing ont vu le jour et donne
naissance autant de plateforme d'administration dans le cloud. Dans cette section, nous
tudionsdabord un extrait des solutions propritaires et des solutions open sources.Les solutions open
source ne fournissent que le support logiciel (et pas matriels) de la mise en place d'une vritable
plateforme de cloud.A la fin de ce chapitre nous allons dgager notre choix en le justifiant.

2. Solutions du cloud existantes :


2.1 Solutions propritaires :
2.1.1. Vmware :

VMware est une entreprise filiale dEMC cre en 1998 Palo Alto. Pendant plus de 10 ans, elle a
conu diffrents produits lis la virtualisation. En 1999 apparaissait la premire version de VMware
Workstation, un logiciel client permettant la virtualisation de machines
virtuelles. D'autres ditions comme la gamme ESX ou Server (anciennement
GSX) proposent des solutions de virtualisation pour les serveurs. Depuis 2008,
VMware n'a cess d'investir dans le march du Computing, en rachetant
diffrentes entreprises comme Zimbra (application SaaS de collaboration) ou SpringSource pour son
offre PaaS avec vFabric. Ce logiciel permet de crer et grer votre Cloud priv en manire simple, il
regroupe les ressources informatiques avec davantage defficacit pour offrir des services plus flexibles
et plus dynamiques que les utilisateurs peuvent dployer automatiquement et il donne la possibilit de
crer des machines virtuelles selon des besoins des utilisateurs. Il permet aussi : La possibilit de
transformer simplement les serveurs physiques en serveurs virtuels. - Augmenter les ressources de votre
Cloud priv sans interruption de service. - Rduire facilement vos budgets IT.

2.1.2. Microsoft Azure :


Microsoft annonait l'arrive de sa propre solution de Cloud Computing nomme Windows Azure.
Cette dernire a t rendue commerciale en janvier 2010, Le Cloud de Microsoft s'est aussi des
applications SaaS de la gamme Live et Online Service. Il ralise le 2eme rle de la plate-forme. C'est
lui qui dploie et excute les VM dans l'IaaS, il se divise en trois composants :
Fabric
Services Compute
Services Storage

2.1.3. Amazon EC2

Mmoire de projet de fin danne 19 2016-2017


2.2 Solution libre ou Open Source :

2.1.1. OpenNebula
2.1.2. Eucalyptus
2.1.3. CloudStack
2.1.4. OpenStack :
OpenStack est un projet open Source de CloudComputing priv et public. Il est dvelopp par la
NASA National Aeronautics and Space Administration , qui est l'agence gouvernementale qui a en
charge la majeurepartie du programme spatial civil des tats-Unis, et Rackspace Cloud, un fournisseur
de plate-forme de Cloud Computing depuis juillet 2010. Rackspace fournit les outils de gestion des
fichiers dans le cloud, tandis que la NASA apporte les outils de gestion de l'IaaS. Ces deux socits ont
ensuite t rejointes par Cloud.com, Citrix Systems, Dell, Cloudkick, Intel, et Cisco pour le
dveloppement d'OpenStack. Cette plate-forme est intgre dans les distributions Ubuntu Server.
L'objectif d'OpenStack est de rendre le Cloud simple mettre en uvre et trs extensible.

Mmoire de projet de fin danne 20 2016-2017


Figure 5: Tableau de Caractristiques de comparaison pour des plateformes open source

Mmoire de projet de fin danne 21 2016-2017


3. Vue globale sur OpenStack
3.1. Prsentation

OpenStack est un projet informatique de service d'infrastructure (Infrastructure as a Service (IaaS)


du domaine du cloud computing, men par la Fondation Openstack. La fondation Openstack est une
organisation non-commerciale qui a pour but de promouvoir le projet Openstack ainsi que de protger
et d'aider les dveloppeurs et toute la communaut Openstack.
OpenStack nest pas un simple outil de virtualisation, cest une solution aboutie de Cloud computing.
Le projet regroupe un ensemble de logiciels pour grer les ressources de calcul, le stockage distribu, le
rseau des instances, l'orchestration des ressources de calculs et de stockages et enfin la redondance de
lensemble de ses composants.
3.2. Modules OpenStack

En ce qui suit une brve description de chacun des modules constituants lOpenStack

3.2.1. Le module Compute (Nova) :


La partie noyau de toute plateforme Cloud et la partie Compute et cest le module Nova qui lassure.
Nova soccupe de la gestion des ressources de virtualisation. Il permet dorchestrer tout moment la
plateforme Cloud en assurant les outils ncessaires la cration de nouvelles instances virtuelles, la
manipulation des instances dj cre ou la suppression de ces instances.
Ce module Compute dOpenStack reste fidle la philosophie Plug & Play dOpenStack. Il ninclue
aucun logiciel de virtualisation. Par contre, il incorpore plusieurs pilotes (Drivers) permettant dassurer
son interfaage avec les logiciels de virtualisation les plus connus dans le march de la virtualisation,
savoir KVM (Kernel-based Virtual Machine), XCP (Xen Cloud Platform), LXC (LinuX Containers),
Hyper-V and VMware. Ainsi, laide de ces pilotes, il permet dexposer les fonctionnalits assures par
ces mcanismes de virtualisation sur le rseau via un ensemble dAPI REST [12].
En plus, OpenStack Nova nimpose aucune limitation ladministrateur Cloud en matire de choix
de lhyperviseur. Il permet la cration de plateformes Cloud en se basant sur une multitude
dhyperviseurs la fois. Ainsi pouvons-nous avoir plusieurs nuds Compute de natures diffrentes,
chacun employant un hyperviseur diffrent des autres.
3.2.2. Le module Identit (Keystone) :
Le module identit dOpenStack fournit la plateforme Cloud un systme complet
dauthentification et dautorisation. Cest le service assurant le contrle daccs aux autres services
fournis par une plateforme Cloud base sur OpenStack.Keystone est le point dentre la plateforme
Cloud OpenStack. Il permet la gestion des utilisateurs via des annuaires dutilisateurs tout en veillant

Mmoire de projet de fin danne 22 2016-2017


au respect de leurs droits daccs. Outre cela, il fournit un catalogue de tous les services offerts par cette
plateforme.
Non seulement il peut s'intgrer des services dannuaires existants tels que Lightweight Directory
Access Protocol (LDAP) [12]. Mais il supporte aussi de multiples formes d'authentification, y compris
le type standard du nom et mot de passe, les systmes base de jetons et les connexions de type
Amazon Web Services (AWS) [12].
3.2.3. Le module Image (Glance) :
Ce module joue le rle dun catalogue de modles dits Flavors de machines virtuelles. Ce sont
ces modles qui sont la base de la cration de nouvelles instances virtuelles.
En tant quutilisateurs de la plateforme Cloud, nous pouvons utiliser OpenStack Glance pour la
dcouverte, l'enregistrement et la rcupration des images de machines virtuelles. Ces oprations sont
valables grce aux API REST que ce module fournit.
En plus, le module Glance peut galement tre utilis pour stocker et cataloguer un nombre illimit de
sauvegardes dimages appeles Snapshots .
Les images de machines virtuelles mises en disponibilit par ce module peuvent tre stockes dans une
multitude d'endroits, variant des systmes de fichiers simples jusquaux systmes de stockage d'objets
comme Swift.
3.2.4. Le module de rseautage (Neutron) :
OpenStack Neutron est un systme de gestion des ressources rseau. Il assure que le rseautage ne
soit pas le facteur limitant dans un dploiement dune plateforme Cloud. Il propose ainsi aux utilisateurs
de cette plateforme la possibilit davoir le libre-service en ce qui concerne leurs configurations rseau
sur le Cloud.
Le module de rseautage dOpenStack fournit un service rseau complet et extensible la plateforme
Cloud. Non seulement il attribue aux instances la capacit de se connecter un rseau externe la
plateforme Cloud. Mais il permet aussi chaque utilisateur de crer plusieurs sous-rseaux internes quil
peut utiliser dans son projet.
3.2.5. Le module de stockage objet (Swift) :
Pour offrir un service similaire Amazon Simple Storage Service (Amazon S3) , les
dveloppeurs dOpenStack ont song la cration dun projet part. Cest le module Object Storage
nomm Swift. Il assure aux utilisateurs de la plateforme Cloud un moyen sr et simple pour stocker et
rcuprer nimporte quelle quantit de donnes tout moment et de nimporte o sur le web. Swift est
un systme de stockage redondant et volutif. Il opre dune manire stocker les fichiers sous forme
dobjets sur de multiples disques de stockage parpills mthodiquement dans les serveurs destins
satisfaire ce besoin. Afin dassurer la rplication et lintgrit des donnes utilisateurs au sein du cluster

Mmoire de projet de fin danne 23 2016-2017


de stockage objet, OpenStack Swift fait appel une logique au niveau logiciel. Il assure ainsi un niveau
dabstraction par rapport aux types de matriel utilis. Ceci nous permet davoir un datacenter moins
couteux bas sur du matriel standard.
3.2.6. Le module stockage par bloc (Cinder) :
Ce module dOpenStack permet aux instances virtuelles de bnficier dun stockage persistant.
Cest un stockage par bloc. Le service offert par ce module est similaire au service Amazon Elastic
Bloc Storage (Amazon EBS) . A laide dOpenStack Cinder un utilisateur de la plateforme Cloud peut
crer un dispositif de stockage secondaire et attacher ce dispositif nouvellement cr lune des
instances virtuelles quil a dj pu lancer laide du module Nova. Assurant ainsi la persistance de ses
donnes cres lors de lutilisation de son instance virtuelle. Ce service offre aussi la possibilit de crer
des images virtuelles sur ces moyens de stockage secondaires et dinstruire le service Compute amorcer
des instances partir deux. En fait, ce module gre la cration, lattachement et le dtachement des
dispositifs de stockage par bloc aux instances virtuelles.
OpenStack Cinder est conu de manire pouvoir utiliser plusieurs technologies de stockage pour back-
end, comme par exemple : Linux server storage, Ceph et GlusterFS
3.2.7. Le module tableau de bord (Horizon) :
OpenStack Horizon est le module assurant un accs via une interface graphique aux fonctionnalits
fournies par les autres modules dOpenStack. Le tableau de bord nest quune faon pour interagir avec
les ressources OpenStack. Il est lalternatif de lutilisation des lignes de commandes.
3.2.8. Le module dorchestration (Heat)
Service d'orchestration base de Template, moteur d'orchestration qui se base sur des modles (un
modle dfini une configuration).
3.2.9. Le service de tlmtrie (Ceilometer)
Service de mtrologie notamment pour la facturation, solution de Metering et Monitoring afin de
rcolter, et ainsi piloter, les informations lies la consommation des ressources.

Mmoire de projet de fin danne 24 2016-2017


Partie 2:
NOTRE CONTRIBUTION

Chapitre 1 :
Dploiement & Test dOpenstack

Mmoire de projet de fin danne 25 2016-2017


1. Introduction
Ce chapitre est dedie a la description de la phase de mise en uvre de la plateforme IaaS du Cloud
Prive, qui correspond a la deuxieme phase du projet. Dans un premier temps, nous presenterons
larchitecture de depoilement et nous decrirons le processus dinstallation dOpenStack et les
configurations requises pour le bon fonctionnement de chacun de ses modules. Apres, nous allons faire
un tour dhorizon sur son tableau de bord et tester ses fonctionnalites et services pour la validation de
notre choix. [1]
2. Depoilement & Test dOpenstack pour limplementation dun cloud prive
Dans le present chapitre nous aborderons la partie implementation de larchitecture OpenStack. Pour
mettre en uvre les acquis theoriques developpes avec letude detaillee dOpenStack, nous avons
procede a des tests dimplementation de ce dernier sur une structures variee. Dans un premier temps
linstallation etait restreinte a une seule machine en implementant openstack dans des machines
virtuelles avec loutil VMware Fusion.
3. Elements constitutifs de la couche IaaS
Linfrastructure physique du Cloud est un assemblage de serveurs, despaces de stockage et de
composants reseau organises de maniere a permettre une croissance incrementale superieure a celle que
lon obtient avec les infrastructures classiques. Ces composants doivent etre selectionnes pour leur
capacite a repondre aux exigences dextensibilite, defficacite, de robustesse et de securite.
4. Installation et configuration des services Openstack
Toutes les instructions dinstallations presentees dans cette section sont basees sur la documentation
officielle : http://docs.openstack.org/havana/install-guide/install/apt/content/
4.1 Avant linstallation des services dOpenstack

4.1.1. Outil dinstallation utilise


Utilisons le nuage pour construire le nuage, les machines virtuelles lances dans le nuage seront
lente car ils sont en cours d'execution dans QEMU (mulateur), mais leur utilisation principale est de
tester le dveloppement dOpenStack et son fonctionnement. La vitesse dexcution n'est pas ncessaire
dans ce cas.
Nous avons utilis plusieurs outils pour limplmentation des services OpenStack :
Deux machines virtuelles differentes pour les nuds Controller et Compute
dOpenStack crees avec Vmware Workstation.
Systme d'exploitation hote : distribution Linux Ubuntu server 16.04 LTS.
Hyperviseur : KVM (utilise par defaut par Openstack).
Base de donnees : MySQL, utilisee par les services dOpenStack, pour persister leurs etats
et les mtadonnes correspondantes aux ressources quils exploitent.

Mmoire de projet de fin danne 26 2016-2017


RabbitMQ : systeme de messagerie qui gere les echanges de messages entres les differents
modules dOpenStack.
Nous nous sommes focalise sur les modules d'OpenStack suivants :
Keystone : gestion de lauthentification
Nova : gestion des VMs
Glance : gestion des images
Cinder : gestion des disques
Neutron: gestion de rseaux

Vu que la procdure dinstallation de chaque module est trop longue, nous nous somme contents
de nexposer que linstallation avec script pour les modules principaux.
4.1.2. Exemple darchitecture a implementer
Pour notre installation de test nous avons utilis lexemple darchitecture suivante :
Le nud contrleur (controller node) excute le service d'identit, service de l'image, tableau
de bord, la partie management du service du Calcul (keystone, glance, nova, neutron).Il
contient galement les services d'API associes, la base de donnees MySQL et le systeme de
messagerie RabbitMQ.
Le nud de calcul (Compute Nod) execute la partie de l'hyperviseur de Compute, qui
execute les machines virtuelles des tenants. Par defaut, Compute utilise KVM comme
hyperviseur et neutron-openvswitch-agent pour la connectivit et le service nova-compute.
On peut executer plus d'un noeud de calcul (Compute Node).

4.1.3. La configuration basique du systeme dexploitation

Nous voyons comment creer un nud controleur (Controller node) qui va contenir la plupart des
services dOpenstack et le nud de calcul (Compute node) qui va executer les instances des machines
virtuelles. OpenStack est flexible pour ce qui concerne comment et ou on execute chaque service,
plusieurs configurations sont possibles. Toutefois, nous devons configurer certains parametres du
systeme d'exploitation sur chaque nud.
Selon la documentation officielle, il est recommand fortement d'installer un systeme d'exploitation 64
bits sur les nuds de calcul. (Compute node). Si nous utilisons un systeme d'exploitation 32-bit, le
demarrage dune machine virtuelle avec une image 64 bits, echouera avec une erreur.

4.1.4. Configuration du reseau

Pour un deploiement de production dOpenStack, la plupart des nuds doivent avoir ces interfaces
reseau :

Mmoire de projet de fin danne 27 2016-2017


Une carte reseau pour le trafic de reseau externe
Une autre carte pour communiquer avec d'autres noeuds dOpenStack Pour les cas de tests
simples, nous pouvons utiliser des machines avec une seule carte reseau. Dans l'exemple
suivant on configure le reseau global sur deux reseaux avec des adresses IP statiques et nous
gerons manuellement une liste de noms d'hote (host names) sur chaque machine. Si nous
gerons un reseau de grande taille, nous devons deja avoir des systemes en place pour gerer
cela. Nous supposons que chaque nud peut atteindre les autres nuds sur le reseau interne
en utilisant le nom d'hote du nud Controller et du nud Compute. Nous configurons les
deux interfaces ens33 et ens34, les exemples presentes dans ce chapitre utilisent les adresses
IP suivants :
172.16.182.x pour le reseau interne.
10.3.10..x pour le reseau externe.
Assurons-nous de connecter nos peripheriques reseau au reseau approprie. Dans ce guide :
Le nud controleur utilise les adresses IP 172.16.182.143 et 10.3.10.129
Pour le nud de calcul, utilisons les adresses IP 172.16.182.132 et 10.3.10.130
Nous avons suivis l'architecture de base indiquer dans la documentation officielle d'openstack
https://docs.openstack.org/developer/devstack/guides/neutron.html [3] pour implementer le noeud
compute et controlle avec une gestion de reseau virtuelle assurer par le module neutron.

Figure 6: Une architecture de base pour implementer le nud compute et controller[3]

Mmoire de projet de fin danne 28 2016-2017


4.2 Installation

Figure 7: interface de VMware Fusion (workstation)

Figure 8 : bibliotheque des machines virtuelles de VMware fusion

Mmoire de projet de fin danne 29 2016-2017


1- Configurons les interfaces reseau avec les specifications presentees ci-dessous :

Figure 9: Configuration des cartes reseaux pour les deux noeuds


Apres avoir configure le reseau, nous redemarrons le demon pour que les changements sappliquent.
2- Definissons le nom d'hote de chaque machine.
Nous nommons le nud du controleur controller et le premier noeud de calcule compute1.
Utilisons la commande hostname pour definir le nom dhote. Pour configurer ce nom d'hote a etre
disponibles lorsque le systeme redemarre, nous devons le specifier dans le fichier /etc/hostname, qui
contient une seule ligne avec le nom d'hote.
3- Enfin, assurons-nous que chaque nud peut atteindre les autres nuds a travers des noms d'hote
(hostnames). Nous modifions manuellement le fichier /etc/hosts sur chaque systeme.
Pour les deploiements a grande echelle, nous utilisons le DNS ou un systeme de gestion de configuration
comme Puppet.

Mmoire de projet de fin danne 30 2016-2017


Figure 10: La configuration du fichier /etc/hosts
4- Installation des services Openstack sur le nud de contrle

Mmoire de projet de fin danne 31 2016-2017


Figure 11: Fichier de configuration du nud de contrle (script) [3]

4.3 Scenario de deploiement dune machine virtuelle dans le cloud

Autant quun utilisateur final du Cloud OpenStack, nous pouvons disposer nos propres ressources dans
les limites fixees par les administrateurs. Dans cette section nous detaillons les operations de base que
peut effectuer un utilisateur final du service Cloud Iaas :
- Se connecter au tableau de bord Openstack
- Creer et gerer des images
- Acceder a linstance a partir du VNC console
- Acceder a linstance via SSH
- Suivi de lutilisation des instances
- La gestion des volumes
- Attacher un volume a une instance
Il y a plusieurs methodes pour effectuer ces taches soit par :
Le tableau de bord OpenStack (Dashboard) : Utilisons cette interface graphique basee sur
le Web, le nom du code de projet est Horizon, pour consulter, creer et gerer les ressources.
La ligne de commande client dOpenStack : Chaque projet de base dOpenStack a une ligne
de commande client qui nous permet d'executer des commandes simples pour visualiser,
creer et gerer les ressources dans un Cloud et automatiser des taches a l'aide des scripts.
Le tableau de bord est disponible sur le nud avec le role server nova-dashboard.
1- La premiere etape est de demander a l'operateur Cloud le nom d'hote ou l'adresse IP publique a
partir de laquelle nous pouvons acceder au tableau de bord, nous demandons aussi le nom
d'utilisateur et le mot de passe pour la connexion au tableau de bord dopenstack.

Mmoire de projet de fin danne 32 2016-2017


2- Dans la barre d'adresse, tapons le nom d'hote ou l'adresse IP pour le tableau de bord :

Figure 12: Connexion au dashboard openstack


3- Sur la page Log In, entrons le nom d'utilisateur et le mot de passe, puis cliquons sur Connexion.

Figure 13: La page Vue d'ensemble du dashboard dopenstack


Une fois connecte, nous avons la barre en haut montrant notre nom d'utilisateur. Nous pouvons
egalement acceder aux Settings (parametres pour le changement de la langue, du mot de passe...), et se
deconnecter via sign Out.
Les onglets visibles et les fonctions du tableau de bord dependent des droits d'acces, ou des roles, de
l'utilisateur autant lequel nous sommes connectes :
Si nous sommes connects en tant qu'utilisateur final, l'ecran principal affiche l'onglet Projet.
Si nous sommes connectes en tant qu'administrateur, l'ecran principal affiche l'onglet du
Projet ,l'onglet Administration et l'onglet Identit.
4- Cration de projet et manipulation de quotas
Dans l'interface d'administration, on va crer un nouveau projet, L'onglet Quota nous permet dfinir les
ressources (CPU, RAM, rseau et espace de stockage).

Mmoire de projet de fin danne 33 2016-2017


Longlet Quota nous permet de dfinir les ressources quon veut attribuer un projet.

Figure 14: Cration d'un nouveau projet avec le bouton Crer un projet.

Figure 15: manipulation du Quotas


5- Creer et gerer des images
L'operateur Cloud assigne des roles aux utilisateurs. Les roles determinent qui peut telecharger et gerer
des images. L'operateur pourrait restreindre le telechargement d'images et de gestion uniquement pour
les administrateurs de nuages ou les operateurs. Si nous avons des privileges d'administrateur, nous
pouvons utiliser le tableau de bord pour creer et gerer des images dans le projet admin.
1- Nous nous connectons au tableau de bord, en choisissant le projet Admin de la liste deroulante
2-Dans l'onglet Projet, cliquons sur la categorie Images

Mmoire de projet de fin danne 34 2016-2017


3-cliquons sur Crer une image, une fenetre Crer une Image apparai t .

4-Avec OpenStack il ya la possibilit dajouter nimporte quel type dimages (ISO, VDI, QCOW2,
VDH..)

Figure 16: Cration dune nouvelle image


5-Dans la fenetre "Crer une Image", entrons ou slectionnons les valeurs ci-dessous a titre dexemple :
Publique : Cette option pour rendre l'image publique a tous les utilisateurs.
Protge : Cette option pour garantir que seuls les utilisateurs disposant des autorisations peuvent
supprimer cette image.

Mmoire de projet de fin danne 35 2016-2017


Nous pouvons egalement faire la mise a jour dune image existante (modification suppression).
6-Lancement une instance
** Configuration de l'acces et de la securite pour les instances
Avant de lancer une machine virtuelle, nous pouvons ajouter des regles de groupe de securite pour
permettre aux utilisateurs de faire un ping et SSH pour les instances. Pour ce faire, Nous ajoutons soit
des regles pour le groupe de securite par defaut ou on ajoute un groupe de securite avec ses nouvelles
regles .
Les paires de cles sont des credentials SSH (informations d'identification) qui sont injectes dans les
images quand ils sont lances. Pour que cela fonctionne, l'image doit contenir le paquet cloud-init. Nous
devons creer au moins une paire de cles pour chaque projet.
Si nous avons genere une paire de cles avec un outil externe, nous pouvons l'importer dans OpenStack.
La paire de cles peut etre utilise pour plusieurs instances qui appartiennent a un projet.
Lajout des regles pour le groupe de securite par defaut : Exemple dautorisation pour les protocoles
ICMP (ping) et SSH (connection a distance)
1- Connectons-nous au tableau de bord, choisissons un projet, et cliquons sur la categorie Access &
Security. Le tableau de bord affiche les groupes de securite qui sont disponibles pour ce projet.
2- Selectionnons le groupe de securite par defaut et cliquons sur Grer les rgles.
3- Pour permettre l'acces ssh, cliquons sur .
Rgle SSH
Distant CIDR
CIDR 0.0.0.0/0
NB : Pour accepter les demandes d'une plage d'adresses IP, specifions la dans la case CIDR.
5- Cliquons sur Ajouter.
Le port ssh 22 est maintenant ouvert pour les demandes de n'importe quelle adresse IP.
6- Pour ajouter une regle ICMP, cliquons sur Ajouter.

Mmoire de projet de fin danne 36 2016-2017


Figure 17: Ajout des regles pour le groupe de securite par defaut
7- Dans la fenetre Add Rule, entrons les valeurs suivantes :
Rgle Tout ICMP
Direction Entre
Distant CIDR
CIDR 0.0.0.0/0

8- CliquonsAdd.
Ce que nous avons obtenu apres lajout des deux regles :

Figure 18: Dtails des regle de groupe de scurite ajoutes


** Lajout des keypair (paires de cles)
Nous creons au moins une paire de cles pour chaque projet.
1- toujours dans la categorie Projet , nous avons l'onglet Paires de cls qui affiche les paires de cles
qui sont disponibles pour ce projet.
2- Cliquons sur Crer une paire de cls.
3- Dans la fenetre Crer une paire de cls, saisissons un nom pour notre paire de cles, puis cliquons sur
Crer une paire de cls.
4- Repondons a l'invite pour telecharger la paire de cles.

Mmoire de projet de fin danne 37 2016-2017


Figure 19: la cration dune Keypair (paire de cles)
** Allocation des adresses IP flottantes aux instances
Quand une instance est creee dans OpenStack, il recoit automatiquement une adresse IP fixe dans le
reseau pour lequel l'instance est affectee. Cette adresse IP est associee en permanence a l'instance jusqu'a
ce que l'instance soit terminee. Cependant, en plus de l'adresse IP fixe, une adresse IP flottante peut
egalement etre attribuee a une instance. Contrairement aux adresses IP fixes, les adresses IP flottantes
sont capables d'avoir leurs associations modifiees a tout moment, independamment de l'etat des
instances concernees. Cette procedure decrit la reservation d'une adresse IP flottante a partir dune plage
d'adresses existante et l'association de cette adresse a une instance specifique.
1- Connectons-nous au tableau de bord, choisissons un projet, et cliquons sur la categorie Reseaux
2- Cliquons sur longlet IP flottantes, qui montre les adresses IP flottants alloues a des instances.
3- Cliquons sur le bouton Allouer une Adresse IP au projet.
4- Choisissez le Pool (plage) a partir de laquelle l'adresse IP doit etre prise.
5- Cliquez sur le bouton Allocation d'IP.

Figure 20: allocation dune adresse IP flotante a partir dune plage d'adresses existante
** Lancer une instance
Lorsque nous lancons une instance d'une image, OpenStack cree une copie locale de l'image sur le nud
de calcul (Compute) ou l'instance demarre.

Mmoire de projet de fin danne 38 2016-2017


1- Connectons-nous au tableau de bord, choisissons un projet, et cliquons sur la categorie Images. Le
tableau de bord affiche les images qui ont ete telechargees sur le service dimage (glance) dOpenStack
qui sont disponibles pour ce projet.
2- Selectionnons une image et cliquons sur Lancer.
3- Dans la fenetre Lancer Instance, specifions les valeurs suivantes et cliquons sur

Figure 21: Les diffrents paramtres dune instance


Lancer une instance : c'est--dire elle dmarre sur le nud de calcul
4- La categorie Instanes indique le nom de l'instance, ses adresses IP privees et publiques, la taille, le
statut, la tache, et l'etat d'alimentation.

Figure 22: Une instance lancee avec succes


5- Si nous navons pas fourni une paire de cles, des groupes de securite ou des regles jusqua presentes,
les utilisateurs ne peut quacceder a linstance a partir de l'interieur du Cloud par VNC, meme le ping
sur l'instance n'est pas possible.
** Suivi de lutilisation des instances

Mmoire de projet de fin danne 39 2016-2017


Nous pouvons suivre l'utilisation de nos instances pour chaque tenant, aussi connu comme un projet.
Nous pouvons suivre les couts par mois en montrant les parametres comme le nombre de VCPU,
disques, RAM, et la disponibilite pour toutes nos instances.
1- Connectons-nous au tableau de bord, choisissons un projet, et cliquons sur la categorie Vue
d'ensemble.
2- Pour interroger l'utilisation de l'instance pour un mois, selectionnons un mois et cliquez sur Envoyer.
3- Pour telecharger un resume, cliquons sur tlcharger le rsum CSV.

Figure 23: Telechargement du resume dutilisation


Une fois le fichier est tlcharg il peut etre affiche avec un tableur

Figure 24: Le fichier dutilisation de ressource Usage.csv


En slectionnant dans la colonne Actions, la liste droulante, Nous avons plusieurs autres operations
effectuer pour les instance comme :
Nous pouvons creer des instantanes (SnapShots) d'instances
Nous pouvons redimensionner ou recreer une instance.
Nous pouvons egalement choisir d'afficher la console de l'instance.
Selon l'etat actuel de l'instance, nous pouvons choisir de faire une pause, reprendre suspendre
redemarre, ou mettre fin a une instance.
** La gestion des volumes
Les volumes sont des dispositifs de stockage en bloc que nous attachons a des instances pour permettre
un stockage persistant de donnees. Nous pouvons joindre un volume a une instance en cours d'execution
ou detachons un volume et l'attacher a une autre instance a tout moment.

Mmoire de projet de fin danne 40 2016-2017


Nous pouvons egalement creer un Snapshot (instantane) pour un volume ou le supprimer carrement.
Seuls les administrateurs peuvent creer des types de volume.
1- Connectons-nous au tableau de bord, choisissons un projet, et cliquons sur la categorie Volumes.
2- Cliquons sur Crer le Volume

Figure 25: Cration dun nouveau volume


3- Dans la fentre qui s'ouvre, entrons ou selectionnons les valeurs suivantes :
4- Cliquons sur le bouton Create Volume pour confirmer nos modifications.
5- Le tableau de bord affiche les volumes crees dans la categorie Volumes .
** Attacher un volume a une instance
Apres avoir cree un ou plusieurs volumes, nous pouvons les joindre a une instance.
1- Selectionnons le volume a ajouter a une instance et cliquons sur Edit Attachments .
2- Dans la fenetre Grer les Attachments, selectionnons une instance .
3-Cliquons sur Attacher le Volume pour confirmer nos modifications. Le tableau de bord affiche
l'instance dont le volume est maintenant attache . Nous ne pouvons que joindre un seul volume a une
instance a la fois.

Mmoire de projet de fin danne 41 2016-2017


Figure 26: Lattachement un volume a une instance
4- Affichons l'etat d'un volume dans la categorie volumes du tableau de bord. Le volume est disponible
ou en cours d'utilisation(Attacher ou Non).
5- Maintenant, nous pouvons se connecter a l'instance et monter, formater et utiliser le disque.
NB : Lorsque nous supprimons une instance, les donnees de ses volumes attaches ne sont pas detruites.
5. La haute disponibilite et la supervision des services openstack
Par manque d'quipement en terme de RAM et de Disque de Stockage, nous n'avons pas aboutit
raliser des approches que nous pouvons utiliser pour assurer la HA du contrleur Openstack, et des
outils pour la supervision des ressources physiques et les services dOpenstack.
Le tutoriel de monsieur Anatoliy Dimitrov propose un scenario de la HA des services Openstack avec
l'installation , la configuration et le lancement du cluster mysql
https://www.digitalocean.com/community/tutorials/how-to-create-a-multi-node-mysql-cluster-on-
ubuntu-16-04.
5.1 Haute Disponibilite (HA) du Cloud Controller

Au cours des scenarios precedents, nous avons obtenu une infrastructure fonctionnelle, accueillant
des VMs pouvant hberger les applications metiers du client. Cependant, il reside un gros point critique
dans cette infrastructure, concernant les composants de gestion. En effet, si le Cloud Controller venait a
etre hors-service, il nous serait alors impossible de gerer nos VMs ou den creer de nouvelles. Par
consequent, nous devons repenser linfrastructure afin de mettre en place des systemes redondants pour
limiter au maximum des situations dechec.Ceci pourra etre mis en place grace a des mecanismes
permettant de construire un environnement de Haute-Disponibilite (High Availability -> HA).
De nombreuses solutions de HA existent, mais parfois, elles peuvent vite representer une lourdeur
supplementaire, et par consequent compliquer grandement notre systeme en risquant de le rendre
instable. A travers cete section, nous presentons plusieurs types de HA, qui auront toutes un role precis
pour chaque element que nous devons rendre disponible.

Mmoire de projet de fin danne 42 2016-2017


** Definition de la HA
La HA peut etre applique sur une multitude de services afin de garantir un service operationnel. Comme
le montre le schema figure, il faudrait par exemple que ladministrateur puisse toujours demarrer des
VMs, donc grace a la HA, nous allons lutter contre les indisponibilites, en installant un second Cloud
Controller physique afin de dupliquer les services.

Figure 27: principe de HA

5.1 Qu'est ce que le Clustering?

Le terme de cluster (grappe en franais) fait rfrence une batterie d'ordinateurs, tous
interconncts, dans le but de partager des ressources informatiques.
En d'autres termes, un cluster peut tre :
soit un ensemble d'ordinateurs connects en rseaux et capable de traiter de concert un mme
travail. Par exemple le cumul de puissances des machines du cluster peut afficher un rsultat
inimaginable pour un particulier dsirant faire du rendu d'images de synthse ses temps
perdu.
soit un ensemble d'ordinateurs connects en rseaux dans le but de rpartir des tches sur
chaque machine du clusters. Par exemple un cluster de tches systmes allouera chaque
machine du cluster un ensemble de processus traiter suivant sa charge et sa puissance de
calcul.
Les principales problmatiques auxquelles rpondent les clusters sont lies la qute de puissance
et la diminution du temps d'xcution de tches. De plus, le cluster forme un systme informatique
plus fiable car il reprsente un ensemble o le stockage des donnes est redondant sur chaque ordinateur.
Ainsi, le cluster (quelqu'il soit) offre une meilleure qualit de service (QOS) aux utilisateurs.
5.1 le Cluster MySQL

Un Cluster MySQL est un groupe de processus qui s'excutent sur plusieurs serveurs MySQL, des
noeuds NDBCluster, et des processus d'administration, ainsi que des processus d'accs spcialiss. Tous
ces programmes fonctionnent ensemble pour former un Cluster MySQL. Lorsque les donnes sont

Mmoire de projet de fin danne 43 2016-2017


stockes dans le moteur NDBCluster, les tables sont rparties sur les noeuds NDBCluster. Ces tables
sont directement accessibles depuis tous les autres serveurs MySQL faisant partie du Cluster. Par
consquent, si une application met jour une ligne, tous les autres serveurs le verront immdiatement.
Les donnes stockes dans le moteur de table de MySQL Cluster peuvent tre dupliques, et sont
capables de grer une indisponibilit d'un noeud sans autre impact que l'annulation des transactions qui
utilisaient ces donnes.

Figure 28:Un cluster MySQL


MySQL est capable et grce au moteur de stockage NDB de grer une grappe de serveurs complte.
Augmenter la disponibilit.
Faciliter la monte en charge.
Permettre une rpartition de la charge.
Faciliter la gestion des ressources (processeur, mmoire vive, disques dur, bande passante
rseau).
Un protocole implment dans chaque nud s'occupe d'adresser chaque transaction aux diffrents
nuds concerns dans la grappe, il faut un minimum de 3 machines pour tablir une solution de
clustering MySQL et une machine (qui peut elle-mme intgrer un serveur MySQL) qui va jouer le rle
de rpartiteur de charge en redirigeant les requtes sur les nuds disponibles et les moins occups.
Par rapport un systme de rplication, la redondance est amliore : si un nud tombe en panne,
sa charge est automatiquement reprise par les autres nuds.
L'ajout d'un nouveau nud peut se faire sans avoir besoin de repartitionner la base, il suffit de le
faire reconnatre par la grappe et le redmarrage d'un nud peut se faire sans avoir redmarrer la
grappe.

Mmoire de projet de fin danne 44 2016-2017


6. Conclusion :
Nous arrivons au terme de ce chapitre consacre aux parties deploiement et test de la plateforme
choisie pour la gestion du Cloud IaaS.
La plateforme OpenStack que nous avons choisi avec ses differents services repond bien aux besoins
du projet, et tous les membres de lequipe sont satisfaits de cette plateforme.
Bien que les fonctionnalites dOpenstack qui ont ete deployees soient fonctionnelles, il reste
plusieurs aspect avances a etudier et a implementes, la supervision et la telemetrie avec le module
Ceilometer et lorchestration avec le module Heat.

Mmoire de projet de fin danne 45 2016-2017


Conclusion Gnrale

En conclusion, le travail effectu aborde principalement un dploiement dun cloud priv sous
OpenStack. Nous avons donn une ide gnrale sur le Cloud Computing, son architecture et ses
diffrents services.
Nous avons fait par la suite une tude sur diffrentes solutions open source et propritaires du Cloud
tout en prcisant les techniques de virtualisation utiliss dans chacune d'entre elles.
Ceci nous a permis d'avoir une ide riche sur les techniques de virtualisation ainsi que les diffrentes
solutions disponibles du Cloud Computing et surtout de bien maitriser le concept du Cloud.L tudes
faite prcdemment nous a permet de choisir la solution adapter pour qui est OpenStack.
A court terme et en se basant sur l'tude technique ralise sur le Cloud Computing, nous pourrons
mettre en place un environnement Cloud si les contraintes matrielles seront relaxes.

Mmoire de projet de fin danne 46 2016-2017


Webographie

[1] https://www.openstack.org/
[2] https://docs.openstack.org/developer/devstack/
[3] https://docs.openstack.org/developer/devstack/guides/neutron.html
[4] http://fr.wikipedia.org/wiki/OpenStack
[5] http://www.lemondeinformatique.fr/flux-rss/cloud-computing/page-35.html
[6] http://docs.cloudstack.apache.org/en/master/
[7] http://fr.wikipedia.org/wiki/OpenStack
[8] http://csrc.nist.gov/groups/SNS/cloud-computing/.
[9] https://oliverveits.wordpress.com/2016/06/21/getting-started-with-openstack-using-
devstack/comment-page-1/
[10] https://blog.nicolargo.com/2011/09/cluster-mysql-tutoriels-et-documentations-15.html
[11] https://www.digitalocean.com/community/tutorials/how-to-create-a-multi-node-mysql-
cluster-on-ubuntu-16-04
[12] http://www.duquesnegroup.com/Tech-Les-fonctions-de-base-d-un-cluster-de-
serveurs_a296.html

Ouvrage et tudes

[13] Cloudopenstack-131021155100-phpapp02.pdf
[14] OpenStack-AppDevMigration8x10Booklet-v10-online.pdf
[15] 20111115_OpenStack_Briefing_1ere_Partie.pdf
[16] paper112_article_rev2024_20151109_174036.pdf

Mmoire de projet de fin danne 47 2016-2017

Vous aimerez peut-être aussi