Page 6-7 OPENSTACK
Swift - Stockage d'objets dans OpenStack
Swift est le service de stockage d’objets d’OpenStack, similaire à Amazon S3, utilisé pour
stocker des données de manière efficace et sécurisée. Voici une explication simple :
1. Fonctionnement de Swift
Swift permet de stocker des objets (fichiers, images, vidéos, etc.) dans un système
distribué.
C’est une solution hautement disponible (toujours accessible) et économique pour
les entreprises qui ont besoin de gérer de grandes quantités de données.
Swift peut fonctionner indépendamment des autres modules OpenStack, ce qui en
fait un outil flexible.
2. Structure de Swift
Swift est divisé en deux parties principales :
1. Proxy server :
o C’est le point d’entrée pour toutes les demandes des utilisateurs.
o Il reçoit les requêtes (exemple : stocker ou récupérer un fichier) et les transmet
aux nœuds de stockage.
2. Storage nodes (nœuds de stockage) :
o Ce sont les serveurs qui stockent réellement les données.
o Ils gèrent également la réplication pour garantir que les données soient
sauvegardées en plusieurs exemplaires.
3. Processus de sauvegarde d’un objet
Voici comment Swift gère le stockage d’un fichier :
1. Requête client :
o L’utilisateur envoie une commande (par exemple PUT) via le proxy pour
stocker un fichier, comme une photo.
2. Traitement par le proxy :
o Le proxy reçoit la requête et identifie les nœuds de stockage disponibles pour
sauvegarder le fichier.
3. Réplication automatique :
o Swift crée trois copies du fichier pour assurer la sécurité des données.
o Ces copies sont stockées sur trois serveurs distincts pour éviter les pertes en
cas de panne.
4. Confirmation au client :
o Une fois que les données sont sauvegardées et répliquées, Swift retourne un
message de confirmation à l’utilisateur.
Avantages de Swift
Haute disponibilité : Les données sont toujours accessibles grâce à la réplication.
Économie : Une solution moins coûteuse que d’autres systèmes de stockage.
Indépendance : Peut être utilisé seul, sans dépendre des autres services OpenStack.
En résumé :
Swift est une solution fiable et économique pour stocker des données dans OpenStack. En
répliquant les fichiers sur plusieurs serveurs, il garantit la sécurité et la disponibilité des
données, même en cas de panne.
Page 8
Cinder - Stockage par bloc dans OpenStack
Cinder est le service d’OpenStack qui gère le stockage par bloc, une méthode essentielle
pour sauvegarder les données des machines virtuelles (VM). Voici une explication simple :
1. Qu'est-ce que le stockage par bloc ?
Le stockage par bloc divise les données en blocs individuels, qui fonctionnent comme
des disques durs virtuels.
Contrairement au stockage éphémère (temporaire) utilisé par défaut dans les VM, où
les données sont effacées lorsque la VM est supprimée, Cinder permet de créer des
volumes de stockage persistants.
2. Fonctionnalités de Cinder
1. Volumes persistants :
o Les volumes créés avec Cinder ne sont pas liés directement à une VM.
o Même si une VM est supprimée, les données du volume restent intactes.
2. Attachement et détachement des volumes :
o Un volume peut être attaché à une VM, où il est vu comme un disque dur
supplémentaire.
o Le volume peut ensuite être détaché et rattaché à une autre VM si nécessaire,
ce qui offre une grande flexibilité.
3. Utilisation pratique :
o Cinder est particulièrement utile pour les applications qui nécessitent de
conserver leurs données, même si la VM qui les exécute est supprimée ou
recréée.
3. Exemple d’utilisation
Une entreprise utilise une application dans une VM pour traiter des fichiers clients.
Les fichiers sont stockés sur un volume Cinder.
Si la VM doit être remplacée ou redémarrée, le volume contenant les fichiers peut être
attaché à une nouvelle VM, garantissant ainsi que les données ne sont pas perdues.
4. Avantages de Cinder
Persistance des données : Les données sont conservées indépendamment de la durée
de vie des VM.
Flexibilité : Les volumes peuvent être déplacés entre différentes VM selon les
besoins.
Simplicité : Les volumes apparaissent comme des disques classiques, faciles à utiliser
pour les applications.
En résumé :
Cinder offre un stockage fiable et persistant pour les machines virtuelles dans OpenStack.
Grâce à la possibilité d'attacher et de détacher les volumes, il garantit que les données restent
disponibles et sécurisées, même si une VM est supprimée ou modifiée.
Page 9
Glance - Service de gestion des images dans OpenStack
Glance est un composant d’OpenStack chargé de gérer les images de système d’exploitation
nécessaires pour démarrer les machines virtuelles (VM). Voici une explication simple :
1. Rôle de Glance
Glance stocke et gère les images utilisées pour créer des instances (VM).
Lorsque l’utilisateur déploie une nouvelle VM, Nova (le gestionnaire des machines
virtuelles) communique avec Glance via une API pour récupérer l’image nécessaire.
2. Formats d'images supportés par Glance
OpenStack prend en charge différents formats d’images, adaptés aux hyperviseurs ou besoins
spécifiques :
1. raw :
o Format brut, non structuré.
o Simple, mais nécessite plus d'espace.
2. vhd, vmdk :
o Formats populaires, compatibles avec de nombreux hyperviseurs comme
VMWare, VirtualBox, ou Xen.
3. vdi :
o Principalement utilisé par VirtualBox et QEMU.
4. iso :
o Format d’archive standard pour les images disque (souvent utilisé pour les
installations de systèmes d’exploitation).
5. qcow :
o Format utilisé par QEMU avec la fonction Copy-On-Write (optimise le
stockage en ne copiant que les parties modifiées).
6. AMI (Amazon Machine Images) :
o Format utilisé par AWS (Amazon Web Services).
3. Fonctionnement
1. Les utilisateurs téléchargent des images de systèmes d’exploitation sur Glance.
2. Lorsqu’une VM est créée, Nova demande à Glance l’image correspondante.
3. L’image est utilisée pour démarrer la nouvelle machine virtuelle.
4. Avantages de Glance
Compatibilité étendue : Prend en charge divers formats d’images pour s’adapter à
plusieurs hyperviseurs et environnements.
Centralisation : Toutes les images sont gérées dans un seul endroit, ce qui facilite leur
organisation et leur accès.
Optimisation : Supporte des formats comme qcow pour économiser de l’espace
disque.
En résumé :
Glance est le gestionnaire d’images dans OpenStack, permettant de stocker, organiser et
fournir les fichiers nécessaires pour démarrer des VM. Grâce à sa compatibilité avec de
nombreux formats, il s’adapte à différents environnements et hyperviseurs.
Page 10
Keystone - Gestionnaire d’authentification dans OpenStack
Keystone est le composant d’OpenStack chargé de gérer l’authentification et l’autorisation
des utilisateurs. Voici une explication simple :
1. Rôle principal de Keystone
Keystone contrôle l’accès aux différents services d’OpenStack (Nova, Glance, Swift,
etc.).
Lorsqu’un utilisateur ou une application souhaite interagir avec OpenStack, Keystone
vérifie son identité et ses droits.
2. Fonctionnement de Keystone
1. Authentification :
o L’utilisateur fournit ses identifiants (nom d’utilisateur et mot de passe).
o Keystone valide ces informations.
2. Délivrance d’un token :
o Une fois authentifié, l’utilisateur reçoit un token (jeton d’autorisation).
o Ce token contient les droits de l’utilisateur et permet de communiquer avec
tous les services OpenStack.
3. Utilisation du token :
o Chaque fois que l’utilisateur accède à un service (par exemple, créer une VM
avec Nova), le token est utilisé pour prouver son autorisation.
3. Méthodes d’authentification
Base de données interne :
o Keystone peut utiliser une base de données MySQL pour stocker les
identifiants.
o Cette méthode est simple, mais elle n’est pas recommandée pour des raisons
de sécurité.
Intégrations externes (recommandées) :
o Keystone peut déléguer l’authentification à des systèmes externes, plus
sécurisés, comme :
LDAP (Annuaire léger pour la gestion des utilisateurs).
Active Directory (Outil de Microsoft pour gérer les utilisateurs et
groupes).
Kerberos (Système de gestion des identités sécurisé).
4. Avantages de Keystone
Centralisation : Toutes les authentifications sont gérées à un seul endroit, ce qui
simplifie la gestion des utilisateurs.
Flexibilité : Keystone prend en charge différents systèmes d’authentification,
s’adaptant aux besoins de l’organisation.
Interopérabilité : Permet de travailler avec des systèmes externes comme LDAP ou
Active Directory.
En résumé :
Keystone est le gardien de sécurité d’OpenStack. Il vérifie l’identité des utilisateurs, leur
accorde des droits via un token, et peut être intégré avec des systèmes externes pour une
meilleure sécurité.
Page 11-12
Neutron - Gestion des réseaux dans OpenStack
Neutron est le service d’OpenStack dédié à la gestion des réseaux. Voici une explication
simple de son fonctionnement et de ses capacités :
1. Rôle principal de Neutron
Gère les interfaces réseau utilisées par les machines virtuelles (VM).
Permet de concevoir et configurer l'architecture réseau sur laquelle les solutions
seront déployées.
2. Fonctionnement de Neutron
1. Création de réseaux virtuels :
o Définition des réseaux : On crée un réseau avec un plan d'adressage appelé
subnet (plage d’adresses IP en IPv4 ou IPv6).
o Ajout de routeurs : Ces routeurs permettent aux VM de communiquer avec
d’autres réseaux ou avec Internet grâce à des adresses IP flottantes.
2. Segmentation des réseaux :
o Dans un réseau en VLAN (réseaux locaux virtuels), chaque projet (appelé
tenant) reçoit un numéro de VLAN unique.
o Cela permet au commutateur virtuel (OpenVSwitch) de séparer les données
échangées entre les VM d’un même projet sans interférer avec les autres
projets, même si les adresses IP se chevauchent.
3. API de Neutron :
o Fournit une vue abstraite des ressources réseau pour simplifier la gestion.
o Par exemple, un utilisateur peut :
Voir le segment réseau où se trouve sa VM.
Configurer la plage d’adresses IP (subnet) du réseau.
Gérer les ports de connexion (liens entre la carte réseau de la VM et le
réseau virtuel).
3. Création de réseaux complexes
Grâce à Neutron, on peut créer des topologies de réseau multiples et complexes
selon les besoins des utilisateurs.
Par exemple :
o Un réseau isolé pour un projet spécifique.
o Un réseau public accessible depuis Internet.
o Un réseau hybride combinant les deux.
4. Avantages de Neutron
Flexibilité : Permet de configurer des réseaux adaptés aux besoins spécifiques de
chaque projet.
Isolation des projets : Sépare les données de différents tenants grâce au VLAN et à
OpenVSwitch.
Interopérabilité : Fonctionne avec divers plugins et technologies réseau (ex :
Modular Layer 2 - ML2).
En résumé :
Neutron est le gestionnaire de réseau d’OpenStack. Il facilite la création, l’organisation et la
segmentation des réseaux virtuels. Grâce à ses outils comme les VLAN et les API, il garantit
une gestion sécurisée et personnalisée des réseaux, adaptée aux besoins complexes des
utilisateurs.
Page 13
Ceilometer - Gestion des métriques dans OpenStack
Ceilometer est un service d’OpenStack qui collecte et gère les métriques liées à la plate-
forme. Voici une explication simple :
1. Rôle principal de Ceilometer
Ceilometer est utilisé pour :
Facturation des clients : Calculer l'utilisation des ressources pour établir des factures
(exemple : temps d'utilisation d'une VM, espace de stockage consommé).
Suivi des ressources : Surveiller les performances et l'utilisation des serveurs, des
réseaux, ou des machines virtuelles.
Alertes : Générer des notifications en cas de problème ou d'événement important
(exemple : surcharge d'un serveur).
2. Fonctionnement de Ceilometer
1. Collecte des événements :
o Chaque service ou projet dans OpenStack (exemple : création ou suppression
d'une instance) envoie ses événements via un système de communication
appelé bus de message.
o Ce bus transmet les informations à Ceilometer.
2. Agents de collecte :
o Des agents (agent-notification) sont responsables de récupérer ces
événements et de les convertir en métriques exploitables.
o Ces métriques peuvent ensuite être utilisées pour le suivi, la facturation ou les
alertes.
3. Utilisation pratique
Une entreprise peut utiliser Ceilometer pour :
o Surveiller combien de temps une VM a été utilisée afin de facturer son client.
o Être alertée si un serveur dépasse un seuil critique d’utilisation (CPU,
mémoire).
o Analyser les données d'utilisation pour optimiser ses ressources.
4. Avantages de Ceilometer
Automatisation : Les métriques et événements sont collectés automatiquement, sans
intervention manuelle.
Centralisation : Toutes les informations sont regroupées en un seul endroit pour
faciliter la gestion.
Flexibilité : Les métriques collectées peuvent être utilisées pour des analyses
détaillées ou des alertes personnalisées.
En résumé :
Ceilometer est l’outil d’OpenStack pour collecter et analyser les données d’utilisation des
ressources. Il permet de suivre, facturer et surveiller les événements de manière efficace, tout
en aidant à optimiser la gestion des infrastructures.
Page 14
Horizon - Tableau de bord d’OpenStack
Horizon est l’interface graphique (ou cockpit) d’OpenStack. Voici une explication simple de
son rôle et de son fonctionnement :
1. Qu’est-ce que Horizon ?
Horizon est un tableau de bord web accessible via un navigateur.
Il permet aux utilisateurs et aux administrateurs de gérer facilement les différents
services et composants d’OpenStack sans utiliser de ligne de commande.
2. Ce que les utilisateurs peuvent faire avec Horizon
Une fois connectés avec leurs identifiants, les utilisateurs peuvent effectuer plusieurs actions,
notamment :
Déployer une machine virtuelle : Créer et configurer une nouvelle VM en quelques
clics.
Ajouter une image : Importer ou gérer des images de systèmes d’exploitation pour
démarrer les VM.
Créer un volume : Configurer du stockage persistant pour les VM.
Gérer les réseaux : Configurer des réseaux, des sous-réseaux et des routeurs pour les
connexions entre les VM et avec Internet.
Surveiller l’utilisation des ressources : Consulter des graphiques et rapports sur la
consommation de CPU, de mémoire ou de stockage.
3. Avantages de Horizon
Interface conviviale : Pas besoin de compétences techniques avancées pour utiliser
OpenStack.
Gestion centralisée : Toutes les actions liées à l’infrastructure peuvent être effectuées
depuis une seule interface.
Accessibilité : Disponible depuis n’importe quel appareil connecté à Internet, tant
qu’un navigateur est utilisé.
En résumé :
Horizon est le tableau de bord utilisateur d’OpenStack, offrant une interface simple et
intuitive pour gérer les services et ressources. Il facilite le déploiement et l’administration des
infrastructures cloud, même pour les non-spécialistes.
Page 16-17-18
Heat - Orchestrateur d’OpenStack
Heat est un outil d’OpenStack qui automatise la création et la gestion des ressources cloud.
Voici une explication simple de son fonctionnement et de ses avantages :
1. Rôle principal de Heat
Heat est un orchestrateur, ce qui signifie qu’il peut :
o Créer automatiquement des instances (VM).
o Gérer les réseaux logiques et d’autres composants cloud, comme le stockage
ou les routeurs.
2. Fonctionnement de Heat
1. Basé sur des templates :
o Heat utilise des fichiers de configuration appelés templates, écrits dans un
format spécifique appelé HOT (Heat Orchestration Templates) en YAML.
o Ces templates définissent des collections de ressources, appelées stacks, qui
regroupent tout ce dont un projet a besoin (VM, réseaux, stockage, etc.).
2. Exemple de déploiement :
o Un template peut spécifier :
Deux instances (VM).
Connectées à un réseau privé.
Avec un routeur pour accéder à Internet.
o Lorsque ce template est lancé, Heat déploie automatiquement tous ces
éléments en une seule étape, sans intervention manuelle.
3. Personnalisation avancée :
o Heat peut également inclure des scripts de configuration dans les templates,
qui permettent d’installer des applications ou de configurer les VM
immédiatement après leur création.
3. Historique et inspiration
Heat s’inspire du fonctionnement de CloudFormation d’AWS, qui automatise
également la gestion des ressources cloud.
Il a été conçu pour offrir une alternative similaire dans OpenStack.
4. Avantages de Heat
Automatisation : Simplifie la création et la gestion des infrastructures en réduisant les
tâches manuelles.
Flexibilité : Permet de déployer une large gamme de ressources, adaptées aux besoins
spécifiques d’un projet.
Gain de temps : En définissant tout dans un template, les déploiements sont rapides et
cohérents.
Interopérabilité : Heat peut travailler avec d’autres composants OpenStack, comme
Neutron pour les réseaux ou Nova pour les VM.
En résumé :
Heat est un outil puissant pour automatiser la création et la gestion des infrastructures cloud
dans OpenStack. Grâce à ses templates HOT, il permet de déployer facilement des
environnements complets (VM, réseaux, stockage) et d’installer des applications en une seule
étape.