Vous êtes sur la page 1sur 40

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

Mmoire de projet de fin danne 1 2016-2017


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 2 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 3 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 4 2016-2017


Liste des acronymes

Abrviation Dsignation

AMQP Advanced Message Queuing Protocol

API Application Programming Interface

CLI Command Line Interface

GPL General Public License

IaaS Infrastructure as a Service

IP Internet Protocol

iSCSI Internet Small Computer System Interface

KVM Kernel-based Virtual Machine

LTS Long Term Support

NAS Network Attached Storage

NASA National Aeronautics and Space Administration

NFS Network File System

NTP Network Time Protocol

PaaS Platform as a Service

QEMU Quick EMUlator

SaaS Software as a Service

SSH Secure Shell

VM Virtual Machine
Tableau 1 : Liste des acronymes

Mmoire de projet de fin danne 5 2016-2017


Liste des figures
Figure 1 : Cloud Computing............................................................................................

Figure 2 : Concept de la virtualisation............................................................................

Figure 3 : Les diffrents types de nuages............................................................................

Figure 4 : Les services Cloud...............................................................................................

Figure 5 : Avantage offerts par le Cloud............................................................................

Figure 6 : Vmware workstation..........................................................................................

Figure 7 : Cloud Openstack.................................................................................................

Figure 8 : Architecture de base d'Openstack.....................................................................

Figure 10 : Logo 0penstack...................................................................................................

Figure 11 : Une architecture de base pour implmenter le nud compute et controller

Figure 12 : Interface de VMware Fusion (workstation)...................................................

Figure 13 : Bibliothque des machines virtuelles de VMware fusion..............................

Figure 14 : Configuration des cartes rseaux pour les deux nuds..................................

Figure 15 : La configuration du fichier /etc/hosts ..........................................................

Figure 16 : fichier de configuration du nud de contrle (script)....................................

Figure 17 : Connexion au dashboard openstack ............................................................

Figure 18 : La page Vue d'ensemble du dashboard dopenstack .................................

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

Figure 20 : Cration dune nouvelle image..........................................................................

Figure 21 : Ajout des rgles pour le groupe de scurit par dfaut...................................


Figure 22 : Dtails des rgle de groupe de scurite ajoutes..................................................
Figure 23 : La cration dune Keypair (paire de cls) .....................................................
Figure 24 : Allocation dune adresse IP flottante a partir dune plage d'adresses
existante..................................................................................................................................
Figure 25 : Les diffrents paramtres dune instance.........................................................
Figure 26 : Une instance lance avec succs.........................................................................
Figure 27 : Tlchargement du rsum dutilisation...........................................................
Figure 28 : Le fichier dutilisation de ressource Usage.csv.................................................
Figure 29 : Cration dun nouveau volume..........................................................................
Figure 30 : Lattachement un volume a une instance..........................................................
Figure 31 : Principe de HA....................................................................................................

Mmoire de projet de fin danne 6 2016-2017


Figure 32 : un cluster MYSQL..............................................................................................

Table des matires

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
1. Dfinition et gnralit
1.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.

1.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 CloudComputing. 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.

1.3. Dfinition Du cloud Computing

Mmoire de projet de fin danne 9 2016-2017


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 , 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 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 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 :

Mmoire de projet de fin danne 10 2016-2017


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 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.

Mmoire de projet de fin danne 11 2016-2017


Figure 4 : 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
commerciaux. 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 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

Mmoire de projet de fin danne 12 2016-2017


bien faire communiquer deux applications hberges dans deux Cloud privs distincts, ou encore
consommer plusieurs services hbergs dans des Cloud publics diffrents.

Figure X : Types de Cloud


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 6 : Diffrentes couches des services du Cloud Computing

4.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

Mmoire de projet de fin danne 13 2016-2017


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.
4.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.
4.3. SaaS
Le SaaS ou le logiciel en tant que service permet aux entreprises daccder par le biais dune
interface via linternet aux diffrentes application 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 logiciel 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.
4 .4. synthse

Mmoire de projet de fin danne 14 2016-2017


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

5-Avantage et inconvnient du cloud :


5.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,
Aucune dfaillance : est 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.

5.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
tourmentes les entreprise comme : espace de stockage, ralisation les diffrents 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 travaille, augmente la collaboration, rduire le cot de
matriel et vit le dplacement de client pour obtenir une donne

Mmoire de projet de fin danne 15 2016-2017


Chapitre 2 :
Analyse et reprsentation de la solution

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.Solution propritaire :

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


2.2.Solution libre ou Open Source :

2.2.1.OpenNebula
2.2.2. Eucalyptus

Mmoire de projet de fin danne 16 2016-2017


2.2.3.CloudStack

2.2..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 laNASA 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.

Eucalyptus openNebula OpenStack

Anne
dapparition 2006 2005 2010
Orientation Cloud priv et Hybride Cloud priv pure Cloud public et priv

Clone de AWS -Centralis trois


L'architecture Cinq composantes Composants Architecture modulaire
Minimum deux serveurs
-Minimum deux Sept composants,
serveurs en volution
- active

Installation moyenne Facile Difficile (plusieurs choix)


Hyperviseurs supports Xen, KVM, VMware Xen, KVM et VMware Xen, KVM, UML, LXC, VMware
Systmes d'exploitation Linux (Ubuntu, Fedora, Linux (Ubuntu, RedHat,
Linux et Rcemment Windows
Supports CentOS, OpenSUSE et Fedorat et Suse Linux
Debian) Entreprise Server) - Exige x86 processor
Langage de Java, C, et Python Java, Ruby, C++ Python
Programmation
L'interface utilisateur EC2 WS API, outil tel que : EC2 WS API, OCCI API Interface Web
Hybrid-Fox, ElasticFox Sunstone GUI
Documentation Peu De
Documentations et
Correcte et complte mais pas toujours jour Documentation officielle complte
pas toujours jour et toujours jour avec rfrences de
tous les fichiers de configuration
Ferme et peu active, peu
Communaut de Petite et peu active Forte et large extrmement active ne
chercheurs disponibles pour cesse de grandir et elle est toujours
rpondre aux problmes prte rpondre aux questions.

Tableau 3 : Caractristiques de comparaison pour des plateformes open source

Mmoire de projet de fin danne 17 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 [15].
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

Mmoire de projet de fin danne 18 2016-2017


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 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) [15]. 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) [15].
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

Mmoire de projet de fin danne 19 2016-2017


utilisateurs au sein du cluster 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 20 2016-2017


Depoilement & Test dOpenstack
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 deuxie me 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.
Apre s, nous allons faire un tour dhorizon sur son tableau de bord et tester ses fonctionnalites et
services pour la validation de notre choix.
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.
1-E lements 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.
2 -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/
2.1 Avant linstallation des services dOpenstack
2.1.1 Outil dinstallation utilise
Utilisons le nuage pour construire le nuage, les machines virtuelles lancees dans le nuage seront
lente car ils sont en cours d'execution dans QEMU (emulateur), mais leur utilisation principale est
de tester le developpement dOpenStack et son fonctionnement. La vitesse dexecution n'est pas
necessaire dans ce cas.
Nous avons utilise plusieurs outils pour limplementation des services OpenStack :
Deux machines virtuelles differentes pour les nuds Controller et Compute
dOpenStack crees avec Vmware Workstation.
Systeme 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 metadonnees correspondantes aux ressources quils exploitent.
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

Mmoire de projet de fin danne 21 2016-2017


Glance : gestion des images
Cinder : gestion des disques
Neutron: gestion de reseaux
Vu que la procdure dinstallation de chaque module est trop longue, nous nous somme contentes
de nexposer que linstallation avec script pour les modules principaux.
2.1.2 Exemple darchitecture a implmenter
Pour notre installation de test nous avons utilise lexemple darchitecture suivante :
Le nud controleur (controller node) execute le service d'identit, service de l'image,
tableau de bord, la partie management du service du Calcul(keystone, glance, nova,
neutron).Il contient egalement 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
excute 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).
2.1.3 La configuration basique du systeme dexploitation
Nous voyons comment crer un nud contrleur (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 o on excute 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 systme d'exploitation
64 bits sur les nuds de calcul. (Compute node). Si nous utilisons un systme d'exploitation 32-bit,
le demarrage dune machine virtuelle avec une image 64 bits, echouera avec une erreur.
2.1.4 Configuration du reseau
Pour un deploiement de production dOpenStack, la plupart des nuds doivent avoir ces interfaces
reseau :
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 rseau. Dans
l'exemple suivant on configure le reseau global sur deux reseaux avec des adresses IP statiques et
nous grons manuellement une liste de noms d'hte (host names) sur chaque machine. Si nous
grons un rseau 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'hte 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 appropri. 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 pour implementer le noeud
compute et controlle avec une gestion de reseau virtuelle assurer par le module neutron.

Mmoire de projet de fin danne 22 2016-2017


Figure 1: Une architecture de base pour implementer le nud compute et controller

2.2 installation

Figure 2 : interface de VMware Fusion (workstation)

Mmoire de projet de fin danne 23 2016-2017


Figure 3 : bibliotheque des machines virtuelles de VMware fusion
1- Configurons les interfaces reseau avec les specifications presentes ci-dessus :

Figure 4 : 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

Mmoire de projet de fin danne 24 2016-2017


(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.

Figure 5: La configuration du fichier /etc/hosts

4- installation des services Openstack sur le nud de contrle

Mmoire de projet de fin danne 25 2016-2017


figure 6: fichier de configuration du nud de contrle (script)
2.3-Scenario de deploiement dune machine virtuelle dans le cloud
Mmoire de projet de fin danne 26 2016-2017
Autant quun utilisateur final du Cloud OpenStack, nous pouvons disposer nos propres ressources
dans les limites fixees par les administrateurs. Dans cette section nous dtaillons les oprations 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'excuter des commandes simples pour
visualiser, crer 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 premire tape est de demander a l'operateur Cloud le nom d'hte 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.

2-Dans la barre d'adresse, tapons le nom d'hote ou l'adresse IP pour le tableau de bord :
Figure 7 : Connexion au dashboard openstack
3- Sur la page Log In, entrons le nom d'utilisateur et le mot de passe, puis cliquons sur Connexion.
Une fois connecte, nous avons la barre en haut montrant notre nom d'utilisateur. Nous pouvons

Mmoire de projet de fin danne 27 2016-2017


egalement acceder aux Settings (parametres pour le changement de la langue, du mot de passe...), et
se deconnecter via sign Out.

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


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 connects en tant qu'administrateur, l'cran principal affiche l'onglet


duProjet ,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).

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

Mmoire de projet de fin danne 28 2016-2017


Figure 9: Creation d'un nouveau projet avec le bouton Crer un projet

Figure : 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
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..)

Mmoire de projet de fin danne 29 2016-2017


Figure 10: Creation dune nouvelle image
5-Dans la fenetre "Crer une Image", entrons ou selectionnons 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.
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 .

Mmoire de projet de fin danne 30 2016-2017


Les paires de cls sont des credentials SSH (informations d'identification) qui sont injects 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 gnere 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 rgles pour le groupe de scurite 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 scurite 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.

Figure 11 : 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 :

Mmoire de projet de fin danne 31 2016-2017


Figure 12 : Details 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 fentre Crer une paire de cls, saisissons un nom pour notre paire de cles, puis cliquons
sur Crer une paire de cls.
4- Repondons l'invite pour tlecharger la paire de cles.

Figure 13 : la creation dune Keypair (paire de cles)


** Allocation des adresses IP flottantes aux instances
Quand une instance est cre dans OpenStack, il reoit automatiquement une adresse IP fixe dans le
reseau pour lequel l'instance est affectee. Cette adresse IP est associe en permanence l'instance
jusqu' ce que l'instance soit termine. 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 modifies tout moment,
indpendamment de l'tat 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 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 .

Mmoire de projet de fin danne 32 2016-2017


Figure 14 : allocation dune adresse IP flotante a partir dune plage d'adresses existante
** Lancer une instance
Lorsque nous lanons une instance d'une image, OpenStack cre une copie locale de l'image sur le
nud de calcul (Compute) ou l'instance demarre.
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 te telcharges 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

Lancer instance , l'instance demarre sur un nud Compute dans le Cloud.


Figure 15: Les differents parametres dune instance
4- La categorie Instanes indique le nom de l'instance, ses adresses IP prives et publiques, la taille,
le statut, la tache, et l'etat d'alimentation.

Mmoire de projet de fin danne 33 2016-2017


Figure 16 : Une instance lancee avec succes
5- Si nous navons pas fourni une paire de cls, des groupes de scurite ou des regles jusqua
prsentes, les utilisateurs ne peut quaccder 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
Nous pouvons suivre l'utilisation de nos instances pour chaque tenant, aussi connu comme un
projet. Nous pouvons suivre les cots par mois en montrant les paramtres 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 rsume, cliquons sur tlcharger le rsum CSV.

Figure 17 : Telechargement du resume dutilisation


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

Figure 18: 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.

Mmoire de projet de fin danne 34 2016-2017


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 des instances pour
permettre un stockage persistant de donnes. 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.
Nous pouvons galement crer 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

3- Dans la fenetre qui s'ouvre, entrons ou selectionnons les valeurs suivantes :


Figure 19 : Creation dun nouveau volume
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 cr 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 attach . Nous ne pouvons que joindre un seul volume
une instance a la fois.

Mmoire de projet de fin danne 35 2016-2017


Figure 20 : Lattachement un volume a une instance
4- Affichons l'tat 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 donnes de ses volumes attaches ne sont pas
detruites.

3-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.
3.1Haute Disponibilite (HA) du Cloud Controller
Au cours des scnarios prcedents, nous avons obtenu une infrastructure fonctionnelle, accueillant
des VMs pouvant hberger les applications mtiers du client. Cependant, il reside un gros point
critique dans cette infrastructure, concernant les composants de gestion. En effet, si le Cloud
Controller venait tre hors-service, il nous serait alors impossible de grer nos VMs ou den crer
de nouvelles. Par consquent, nous devons repenser linfrastructure afin de mettre en place des
systemes redondants pour limiter au maximum des situations dchec.Ceci pourra tre mis en place
grce des mcanismes 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
supplmentaire, et par consquent compliquer grandement notre systme en risquant de le rendre
instable. A travers cete section, nous presentons plusieurs types de HA, qui auront toutes un rle
precis pour chaque element que nous devons rendre disponible.
** Definition de la HA
La HA peut tre appliqu 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
dmarrer des VMs, donc grce a la HA, nous allons lutter contre les indisponibilites, en installant
un second Cloud Controller physique afin de dupliquer les services.

Mmoire de projet de fin danne 36 2016-2017


Figure 21 : principe de HA

3.2-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.
3.3-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 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.

Mmoire de projet de fin danne 37 2016-2017


figure 22: 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.

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 38 2016-2017


Mmoire de projet de fin danne 39 2016-2017
Mmoire de projet de fin danne 40 2016-2017