View
7
Download
0
Category
Preview:
Citation preview
Rédigée par : AL Morchid Chaymae
1
OpenStack
Installation et configuration d’un outil de Cloud
Computing
hkk
(Février 2020)
Rédigée par : AL Morchid Chaymae
2
Introduction générale
Le développement remarquable du Cloud Computing, ces dernières années, suscite de plus
en plus l’intérêt des différents utilisateurs d'Internet et de l’informatique qui cherchent à
profiter au mieux des services et des applications disponibles en ligne à travers le web en
mode services à la demande et facturation à l’usage. C’est un nouveau modèle
économique.
En effet, le modèle promet un changement dans le mode d’investissement et d’exploitation
des ressources IT. Avec le Cloud, les organisations, institutions et entreprises n’ont plus
besoin d’investir lourdement dans des ressources informatiques, nécessairement limitées,
et nécessitant une gestion interne lourde et coûteuse. Aujourd’hui elles ont le choix de
migrer vers un modèle Cloud Computing où elles peuvent acheter ou louer des ressources
en ligne. Ce modèle leur épargne les coûts de gestion interne puisque les ressources
informatiques sont administrées au niveau du fournisseur du Cloud.
La disponibilité des services en ligne donne aussi la possibilité de ne plus s’approprier
d’équipements informatiques mais de payer les frais en fonction de l’utilisation des
ressources. Ce modèle attire déjà un grand nombre d’entreprises notamment les petites et
moyennes entreprises « PME » et les très petites entreprises « TPE ».
Ce modèle informatique offre également la modularité des ressources informatiques (hard
et soft) et leur disponibilité, en terme de volume et dans le temps, selon les besoins du
client et à sa demande. Dans un contexte économique où les entreprises cherchent à
rentabiliser au maximum les investissements et à limiter les coûts d’exploitation, le Cloud
Computing se présente comme étant la solution de demain.
Rédigée par : AL Morchid Chaymae
3
Introduction
Le concept du Cloud Computing est en évolution. Nous vous présente les différentes
techniques du Cloud Computing, ses modèles ainsi que la relation qui existe entre le Cloud et
la virtualisation.
En fait, le but c’est pour expliquer les raisons pour lesquelles OpenStack soit la bonne
solution.
Le Cloud Computing
1. Qu’est ce que le Cloud Computing ?
Le Cloud Computing fait référence à des ressources informatiques utilisées à la demande,
grâce à Internet, et repose sur des infrastructures distantes, mutualisées et interconnectées. Cet
environnement virtualisé a vocation à délivrer rapidement différentes ressources et services de
manière élastique, en fonction des besoins des utilisateurs client.
2. Modèle de services du Cloud Computing
Le Cloud Computing peut être décomposé en trois couches :
Applicative (SaaS, Software as a Service)
Platform (PaaS, Platform as a Service)
Infrastructure (IaaS, Infrastructure as a Service)
La Figure 1 représente les différentes couches de la moins visible pour les utilisateurs finaux à
la plus visible : l’infrastructure as a Service « Iaas » est plutôt gérée par les architectes
réseaux, la couche « PaaS » est destinée aux développeurs d‟applications et finalement le
logiciel comme un service « SaaS » est le « produit final » pour les utilisateurs.
Rédigée par : AL Morchid Chaymae
4
a) SaaS
Le logiciel en tant que service, appelé en anglais Software as a Service (SaaS), est la
couche visible du Cloud Computing par l’utilisateur final. Elle repose sur la mise à
disposition à travers internet d’applications à la gestion des ressources humaines,
compatibilité, messagerie, en contrepartie d’un abonnement calculé en fonction du
nombre d’utilisateurs. Le service se charge de déploiement, de stockage, de la
maintenance et de la sauvegarde de données. Bien que le mode du fonctionnement des
applications et la configuration de certains services sont imposés par le fournisseur, le
client de son côté bénéficie comme-même d’une fourniture à la demande etquasi-
instantanée des service souhaités sans aucun frais en immobilisation (serveurs et
licences) et sans le moindre déploiement ou maintenance à assurer.
b) PaaS
La plateforme comme étant un service (PaaS), est la plateforme d’exécution, de
déploiement et de développement des applications.
Le fournisseur se charge de fournir au client l’environnement d’exécution, l’intégration
SOA, les bases de données, les serveurs, la virtualisation, le stockage et les réseaux. A
son tour, le client n’a qu’exploiter cette plateforme pour développer ses propres
applications.
Donc le mode PaaS diffère du mode SaaS par le fait que le client ne demande pas de
son fournisseur une application déjà prête mais plutôt une plateforme hébergée sur le
Cloud pour développer lui-même sa propre application en exploitant cette
Figure 1 : Modèle de services Cloud Computing
Rédigée par : AL Morchid Chaymae
5
plateforme.Entre autres exemples de fournisseurs PaaS, il y a Windows Azure de
Microsoft, AppEngine de Google. Chaque fournisseur propose des environnements de
développement différents : Google App Engine se limite à Java et Python,tandis que
Windows Azure permet de travailler avec les langages.NET, PHP, Pyhton,Ruby et
Java.
c) IaaS
Infrastructure as a service ou l’infrastructure en tant que service en français est une des
couches du Cloud Computing.
C’est un modèle où l’entreprise dispose d’une infrastructure informatique
(serveurs,stockage, réseau) qui se trouve en fait chez le fournisseur. Cependant, elle y a
accès sans restriction, comme si le matériel se trouvait dans ses locaux. Ceci permet à
l’entreprise de s’affranchir complètement de l’achat et de la gestion du matériel.
L‟entreprise exploite le matériel comme un service à distance. Cette couche
permet à l’entreprise de se concentrer en premier sur ses processus métiers sans se
préoccuper du matériel.
Pour simplifier ces différentes définitions, on peut retenir qu’avec le SaaS le client
demande une application, avec le PaaS il construit ses applications et finalement l’IaaS
permet d’héberger le tout.
d) Cloud et virtualisation
La virtualisation est un mécanisme informatique qui consiste à faire fonctionner
plusieurs systèmes, serveurs et/ou applications, sur un même serveur physique. La
virtualisation est le concept de base du Cloud Computing. Cette technologie permet une
gestion optimisée des ressources matérielles en disposant de plusieurs machines
virtuelles sur une machine physique. Certains noms tels que VMware ou VirtualBox
sont désormais relativement familiers.
e) L’isolation
L’isolation permet de diviser un système d’exploitation en plusieurs espaces mémoires
ou encore contextes. Chaque contexte est géré par le SE hôte. Cette isolation permet de
faire tourner plusieurs fois la meme application prévue pour ne tourner qu‟une seule
fois par machine.
Les programmes de chaque contexte ne sont capables de communiquer qu’avec les
processus et les ressources associées à leur propre contexte. L’isolation est uniquement
Rédigée par : AL Morchid Chaymae
6
liée aux systèmes Linux.
Figure 2 : Architecture de la technique d’isolation
3. Modes de déploiement
Le concept de Cloud Computing est encore en évolution. On peut toutefois dénombrer
quatre types de Cloud Computing :
Cloud public
Souple et ouverte gérée par un fournisseur tiers Plusieurs utilisateurs (individuels ou
entreprises) peuvent y accéder via Internet de multiples entités se partagent les mêmes
ressources informatiques. C’est la solution de Cloud Computing grand public, dans le
sens ou il est utilisé majoritairement par les «services Cloud » offerts par les principaux
acteurs du secteur:
o Google
o Force et Saleforce
o Amazon
o Windows Azure
Les principaux services « grand public » (Gmail, Google Apps, Flickr, etc) et
professionnels (Saleforce, Amazon, etc) en mode SaaS, sont majoritairement sur des
Cloud publics.
Cloud privé
Il s’agit d’un Cloud Computing sécurisé et dédié à une ou des entités bien identifiée(s)
(une entreprise et ses filiales. un organisme). On crée dans ce but un parc de machines
virtuelles, ainsi qu’un réseau local isolé, auquel on aura accès par l’intermédiaire d’une
connexion sécurisée de type VPN.
Rédigée par : AL Morchid Chaymae
7
Un service d’authentification (SSL, Secure Data Connector, …) est également
fourni.Hormis le fait de rassurer les entreprises sur les incertitudes quant à la sécurité et
à la confidentialité des données sur des environnements de Cloud Computing, ainsi que
pour les DSIs (Directeur des systèmes d’information) qui ne souhaitent pas externaliser
certains éléments de leur système d’information, le Cloud privé peut s’avérer
judicieux.De même pour les entités qui possèdent déjà un grand nombre de serveurs (ou
Datacenter)et/ou souhaite passer à une architecture de type SOA.
Pour mieux illustrer ce type de Cloud Computing on va présenter deux visions du
Cloud privé:
(i) en premier lieu la vision de Cloud (Figure 3)
(ii) (ii) en second lieu, la vision de l’hébergeur (Figure 4)
Pour un hébergeur, un “Private Cloud” est le fait d’allouer à un client un
ensemble de ressources (CPU, Mémoire, Disque, Réseau, etc.) pour l’exploiter dans la
mise en place d’une IaaS à la demande.
Dans le cas du déploiement en interne, l’entreprise reste propriétaire de tout - du
matériel et des logiciels - et est aussi responsable de la gestion de la disponibilité. De ce
fait, une restructuration des services informatiques de l’entreprise peut s’avérer
indispensable.
Figure 3
Rédigée par : AL Morchid Chaymae
8
Cloud hybride
En général, on entend par Cloud hybride (ou encore Cloud mixte) l’utilisation d’un(ou
plusieurs) Cloud(s) privé(s) et public(s). On peut noter que Microsoft propose une
stratégie S+S (Software+Services).
Il définit ainsi le Cloud privé avec des exemples comme le ERP ou SCM et le Cloud
public avec des exemples comme l’e-mail et au croisement des deux comme le CRM.
Figure 4
Figure 5 : Vision VMware illustrant le concept de Cloud hybride
Rédigée par : AL Morchid Chaymae
9
Cloud communautaire
Le modèle communautaire est constitué d’une infrastructure partagée par plusieurs
organisations ayant des préoccupations communes (justice, éducation, santé,
industrie,culture, etc.).
Il est très important de noter que c’est le seul modèle de Cloud qui garantit
actuellement,la localisation et le contrôle total des données transitant sur le réseau
Choix du Cloud utilisé
La solution optimale était d’adopter le Cloud privé (IaaS) comme une première étape
pour l’adaptation du Cloud Computing dans la IIT vue que les données sont très
critiques et le Cloud privé assure le contrôle total de données et d’applications.
Il dissipe ainsi les préoccupations en matière de sécurité et du contrôle de données. De
plus, le Cloud privé consolide les ressources informatiques distribuées et les virtualisent
dans le Datacenter.
La Société peut ainsi gérer ces ressources de manière plus rentable tout en fournissant
des services plus rapidement.
Le paragraphe suivant sera consacré pour montrer les différentes solutions de création
du Cloud privé open source existants pour ce projet.
4. Les solutions Open Source pour la création d’un nuage privé
Il existe désormais un certain nombre de solutions open source, tels que :
Eucalyptus
Issue d’un projet de recherche de l’université de Californie, cette plate-forme Cloud
open source est certainement la plus connue, car intégrée dans Ubuntu Server et Debian.
Ecrite en C, Java et Python, elle permet de créer des Cloud Iaas (Infrastructure as a
service) de type privé ou hybride et supporte des machines virtuelles Linux ainsi qu’
hyperviseurs Xen et KVM.
OpenNebula
Cette plateforme purement open source permet de déployer des Cloud privés,
hybrides et publics. Ecrite en C++, Ruby et Shell, elle supporte les hyperviseurs
Xen,KVM et VMware. Le support de Virtualbox est prévu. Par ailleurs,
Rédigée par : AL Morchid Chaymae
10
OpenNebula est soutenu par le projet européen Réservoir, qui propose une
architecture complète pour la gestion de Datacenter et la création de services
Cloud.
Nimbus
Issu du monde de la recherche, Nimbus permet de déployer un Cloud de type
Iaas.Diffusée sous licence Apache 2.0, cette plate-forme supporte les hyperviseurs Xen
et KVM.
OpenStack
OpenStack est un ensemble de projets de logiciels open source que les entreprises
/fournisseurs de services peuvent utiliser pour configurer et gérer leur infrastructure de
stockage Cloud de calcul.
Rackspace et la NASA sont les principaux contributeurs initiaux de la pile. Rackspace a
contribué par leur plate-forme "Cloud Files" (code) pour alimenter la partie du stockage
d’objets de l’OpenStack, tandis que la NASA a apporté leur plate-forme
«nébuleuse» (code) pour alimenter la partie Compute.
OpenStack consortium a réussi à avoir plus de 150 membres, dont Canonical, Dell,
Citrix, etc. OpenStack supporte les hyperviseurs Xen, XenServer/XCP, KVM, UML
(User-Mode Linux), VMware ESXi/ESX et Hyper-V.
Composantes d’OpenStack :
Il existe actuellement cinq composantes essentielles d’OpenStack sont :
OpenStack Compute (Nova) : provisionner et contrôler un large
réseau de ressources virtuelles (machine, réseau, stockage)
OpenStack Object Storage(Swift) : créer une plateforme de stockage
hautement disponible à l’aide de serveurs standards.
Openstack Service Image(Glance) : gérer et organiser un large catalogue
d’images de machines.
Openstack Block Storage (Cinder) : Offrir des volumes de stockage pour
«Compute».
Rédigée par : AL Morchid Chaymae
11
Openstack Dashboard (Horizon) : fournir une interface web pour pouvoir
exploiter les autres services d’OpenStack. Pour plus de détails voir la
Figure 6.
Figure 6 : Composants d’OpenStack
Rédigée par : AL Morchid Chaymae
12
Synthèse
Eucalyptus
OpenNebula
Nimbus
OpenStack
Produit par
-Apparu au début par
l‟université Santa Barbara de
l‟université de Californie
-Eucalyptus
System Company
L’union
Européenne
Chercheur
s de
l‟université
de chicago
Rackspace, NASA, Dell,
Citrix, Cisco, Canonical et
plus que 50 autres
organisations
But
Une réponse open source
pour le Cloud commerciale
EC2
Un Cloud
privé pure
Solution
scientifique
du Cloud
Computing
Créer et offrir des
fonctionnalités de Cloud
Computing en utilisant un
logiciel open source
fonctionnant sur du matériel
standard
Architecture
-Hiérarchique
-Cinq composants
-Supporte multiple cluster
-Minimum deux serveurs
-Centralisé
-Trois
composants
-Minimum deux serveurs
-Centralisé
-Trois composants
-Minimum
deux
serveurs
Intégration des deux
composants OpenStack
compute
Domaine
d’utilisation
Les entreprises Les chercheurs dans le domaine de Cloud Computing et de la virtualisation
Les communautés scientifiques (moins intéressés par les techniques internes du système)
Les sociétés, les fournisseurs
de services, les chercheurs et
les centres de données
mondiaux qui cherchent à
grande échelle leurs Cloud
privés ou publiques
Rédigée par : AL Morchid Chaymae
13
Systèmes
d’exploitation
supports
Linux (Ubuntu, Fedora, CentOS, OpenSUSE et Debian)
Linux (Ubuntu,
RedHat
Entreprise Linux,
Fedora et SUSE
Linux Entreprise
Server)
La plupart des distributions Linux
-Linux et récemment
Windows
-Exige x86 processor
Langage de
Programmation
Java, C et Python Java, Ruby et
C++
Python et Java Python
Stockage
Walrus -GridFTP,
Comulus
(version
récente de
GridFTP
-XCP
-SCP
-SQLite3
OpenStack Storage
Réseau
Serveur DHCP installé sur le cluster controller
Configuration
manuelle par
l‟administrateur
Serveur DHCP installé sur chaque nœud
OpenStack Compute
Interface
utilisateur
-EC2 WS API
-Outils tel que : HybridFox, ElasticFox
-EC2 WS API
-OCCI API
-EC2 WS API
-Nimbus WSRF
Interface Web
Sécurité niveau
utilisateur
-Téléchargeable à travers
l‟interface Web qui contient
certificats
-Connexion HTTPS
Authentification
Sécurité niveau
administrateur
-Connexion SSH
-Root exigé
-Root
seulement si
nécessaire
(selon les
droits d‟accès)
-Connexion SSL
-Intègre Globus (certification)
-Connexion SSH
Rédigée par : AL Morchid Chaymae
14
Equilibrage de
Charge
Le Cloud
Controller
Nginx Le context broker
Le Cloud Controller
Tolérance aux
pannes
Séparation des clusters controllers
Database
backend
(enregistre les
informations des
machines
virtuelles)
Vérification périodique des nœuds du Cloud
Replication
Pour ce projet l’OpenStack est la bonne solution puisque :
C’est une solution Open Source sécurisée, modulaire et innovante
C’est une véritable alternative aux solutions propriétaires existantes, souvent très
coûteuses
Il propose de nouvelles solutions pré-packagées qui rendront la solution plus
accessible
Solution interopérable qui s’adapte à tout type d’infrastructures existantes avec la
possibilité d’évoluer vers un Cloud hybride donnant le choix de la plate forme du
Cloud publique.
Conclusion
Cette partie, a clarifié en premier lieu le Cloud Computing,ses modèles, ses modes de
fonctionnement et la technologie de virtualisation. Ainsi elle a présenté les différentes
solutions existantes en montrant celle adaptée dans ce projet.
Table : Solution IaaS open source de Cloud Computing
Rédigée par : AL Morchid Chaymae
15
I.
1. Identification de besoins
Notre nuage privé s’adresse essentiellement à deux types d’utilisateurs : l’administrateur
et les membres des projets. Cette première partie, sera pour énoncer et analyser les
différents besoins fonctionnels et non fonctionnels du nuage.
Besoin Fonctionnels :
2. Gestion d’images
On parle d’images disques stockées par le service Glance. L’utilisateur pourrait
consulter la liste des images autorisées pour les projets, les éditer. Aussi il sera
possible de lancer de nouvelles instances de cette image, créer une nouvelle ou
supprimer une existante.
3. Gestion d’instances
Une instance est une machine virtuelle en cours d’exécution ou dans un état connu comme
«suspendue» qui peut être utilisé comme un serveur matériel. L’utilisateur pourrait
consulter la liste d’instances de machines virtuelles actuelles plus quelques
informations globales comme le projet auquel elles appartiennent, le serveur
hôte,l’adresse IP, la taille, le statut et les actions en cours. Il aurait aussi les
possibilités d’éditer, mettre fin, pause, redémarrer ou supprimer une instance. Aussi
Il pourrait se connecter à la console VNC de l’instance ou créer une nouvelle.
4. Gestion de volumes
Le nuage permettrait à l’utilisateur de consulter la liste des volumes disques virtuels
existants, la création d’un nouveau volume et la modification d’un ancien.
Rédigée par : AL Morchid Chaymae
16
5. Gestion de flavors
Un flavors est une configuration de matériel disponible dans un serveur.
ChaqueFlavor possède une combinaison unique d’espace disque et la capacité
de mémoire. L’utilisateur pourrait consulter la liste des types d’instances
disponibles, leurs spécificationsen nombre de CPUs, mémoire, espace disque et
créer de nouvelles définitions d’instance.
6. Gestion de projets
Un projet est un groupement logique des utilisateurs au sein de Nova, utilisé
pour définir les limites des ressources pour ce projet et l’accès aux images des
machines virtuelles .Il seraient possible de consulter les projets existants et leur
statut et de créer de nouveaux projets.
7. Gestion d’utilisateurs
L’utilisateur aurait la possibilité de consulter la liste d’utilisateurs enregistrés,
avec la possibilité d’ajouter ou d’éditer les détails mais pas d’ajouter l’utilisateur à
plusieurs projets.
8. Gestion de la sécurité et de l’accès
L’utilisateur pourrait consulter les adresses IP disponibles pour connecter les
instances au réseau public avec la possibilité de création, les groupes de règles
de pare-feu et leur interface d ;édition et enfin la liste des clés SSH avec
l’import ou la création de certificat.
II.
Besoin Non-Fonctionnels :
1. Simplicité d’un service à la demande
Un utilisateur peut de manière unilatérale, immédiatement et généralement sans
intervention humaine, avoir à sa disposition les ressources informatiques dont il
a besoin(temps de calcul de serveurs, capacité de stockage, etc.).
2. Accès « léger »
L accès aux ressources ne nécessite pas équipement ou de logiciel propriétaire.
Ilse fait au travers d’applications facilement disponibles (parfois libres),
généralement depuis un simple navigateur Internet.
Rédigée par : AL Morchid Chaymae
17
2. Authentification
Avant l’accès au nuage, l’utilisateur (administrateur, membre) doit s’authentifier
avec la saisie de son login, et son mot de passe.
Après vérification, si l’utilisateur est accepté, il aura accès au nuage et selon
son rôle des projets et des fonctionnalités s’activeront sinon on aura un
message d’erreur.
Diagramme de séquences pour le scénario
d’authentification
Acteur : Un membre.
Pré conditions: Le membre, doit avoir un compte
valide dans le système.
Déclencheur: Un membre veut consulter l’état du
projet auquel il appartient.
Description:Ce cas d’utilisation permet à un membre
du projet de s’identifier pour accéder au nuage à
travers le Dashboard.
Scénario principal:
Un membre accède au Dashboard.
Une interface d’authentification s’affiche.
Le membre entre ses données (login, mot de passe)
et tape le bouton « valider ».
Les différents services propres au nuage s‟affichent Scénario
Rédigée par : AL Morchid Chaymae
18
Table : Configuration matérielle
Pc Portable HP
Mémoire RAM 8 Go
Disque dur 500 Go
Processeur Intel R Core ™ i5-3337U CPU @3.30 GHz
*4
Système d’exploitation Ubuntu 12.04 server 64 bits
1. Environnement du travail
Cette section présentera les plateformes matérielle et logicielle qui ont servi pour la
réalisation de ce travail.
2. Environnement matériel
Les caractéristiques de l’ordinateur portable utilisé durant la période la realisation
et pendant toutes les phases de configuration et de développement, sont dans le
tableau ci-dessous :
3. Implémentation
Introduction
OpenStack est un logiciel libre qui permet la construction de Cloud privé et public.
OpenStack est aussi une communauté et un projet en plus d'un logiciel qui a pour but
d'aider les organisations à mettre en œuvre un système de serveur et de stockage
virtuel.
OpenStack est composé d'une série de logiciels et de projets au code source libre qui
sont maintenus par la communauté incluant: OpenStack Compute (nommé Nova),
OpenStack Object Storage (nommé Swift), et OpenStack Image Service (nommé
Glance).
Rédigée par : AL Morchid Chaymae
19
3.1 Composant
OpenStack possède une architecture modulaire qui comprend de nombreux composants.
Voici la liste des composants dits intégrés à OpenStack.
Compute : Nova (application)
Object Storage : Swift (stockage d'objet)
Image Service : Glance (service d'image)
Dashboard : Horizon (interface Web de paramétrage et gestion)
Identity : Keystone (gestion de l'identité)
Network : Neutron (auparavant nommé Quantum) (gestion des réseaux à la
demande)
Storage : Cinder (service de disques persistants pour les machines virtuelles)
Figure : Liste des Composants d’OpenStack
Cette dernière partie présente l'installation des composants d'identité, d'images et
virtualisation sur une seule machine. Il s'agit plutôt d'une configuration de
développement mais néanmoins fonctionnelle.
Plan de travail :
Sélection des modules à installer
Définition de l'architecture matérielle
Déploiement du système d'exploitation sur les Os
Installation et vérification des prérequis
Installation de keystone
Rédigée par : AL Morchid Chaymae
20
Installation de glance
Installation de Nova
Installation de Cinder
Test
4. Prérequis
Disposer des droits d'administration.
Disposer d'une connexion à Internet configurée et activée.
Avoir les dépôts d'activés
Un processeur supportant la virtualisation matérielle (test sur la page KVM)
Disposer d'un disque dur ou d'une partition non formatée pour LVM
4.1. Les paquets à installer
kvm,libvirt-bin,virtinst.
mysql-server,python-mysqldb
bridge-utils
Il est nécessaire de configurer le réseau en IP Fixe
Tous les services OpenStack seront installés sur la même machine.
5. Etapes de réalisation :
Cette partie est pour exposer les différentes phases de réalisation.
En effet, notre travail est composé de trois étapes:
- Planification: Ecrire le scénario de déploiement, finaliser les choix d’architectures,
et s’assurer que le matériel requis soit disponible.
- Déploiement: Installer les composants d’OpenStack, et enfin les configurer.
- Utilisation et test: Utiliser OpenStack afin d’accueillir les utilisateurs finaux.
Pour avoir cette dernière partie qui contiennent l’installation et configuration de manière
détaillés, contactez-nous sur :
contact@hmdservices.ma
Recommended