OpenStack —— aperçu

Service de mise en miroir One, Glance

Son nom de projet dans OpenStack est Glance. Dans les premières versions d'OpenStack, Glance n'avait que la fonction de gestion des images et n'avait pas la fonction de stockage d'images. Maintenant, Glance est devenu un service de base OpenStack qui intègre plusieurs fonctions telles que le téléchargement, la récupération, la gestion et le stockage d'images.

1. Service miroir

Le service de mise en miroir est utilisé pour gérer les miroirs, permettant aux utilisateurs de découvrir, d'obtenir et d'enregistrer des miroirs. Le service d'image fourni dans OpenStack est Glance, et ses principales fonctions sont les suivantes

Interroger et obtenir les métadonnées de l'image et l'image elle-même

Enregistrez et téléchargez des images de machine virtuelle, y compris la création, le téléchargement, le téléchargement et la gestion d'images

Conserver les informations sur l'image, y compris les métadonnées et l'image elle-même

Prend en charge plusieurs façons de stocker des images, y compris les systèmes de fichiers ordinaires, Swift, Amazon S3, etc.

Exécutez la commande create snapshot sur l'instance de machine virtuelle pour créer une nouvelle image ou sauvegarder l'état de la machine virtuelle

2. La version de l'API Images

L'API RESTful fournie par Glance a actuellement deux versions: API v1 et API v2

La v1 ne fournit que des fonctions de base pour les opérations de miroir et de membre, y compris la création, la suppression, le téléchargement, la liste, la requête d'informations détaillées, la mise à jour et la création, la suppression et la liste des membres du client miroir

En plus de prendre en charge toutes les fonctions de la v1, la v2 ajoute principalement l'ajout, la suppression, la modification de la position du miroir, les opérations de métadonnées et d'espace de nom, et les opérations de marque de miroir

Les deux versions ont le même support pour le stockage en miroir, la v1 est obsolète depuis la version N et le chemin de migration est remplacé par la v2

3. Format miroir

Format de disque du fichier image de la machine virtuelle

raw: format de disque non structuré, vitesse d'accès très rapide, mais ne prend pas en charge l'expansion dynamique, qui consomme beaucoup au début

vhd: ce format est couramment utilisé dans VMware, Xen, VirtualBox et autres hyperviseurs

vhdx: une version améliorée du format vhd qui prend en charge des tailles de disque plus grandes

vmdk: un format de disque de machine virtuelle plus général

vdi: format de disque pris en charge par l'hyperviseur VirtualBox et l'émulateur QEMU

iso: le format de fichier utilisé pour le contenu des données du disque compact (CD-ROM)

ploop: pris en charge par virtuozzo, le format de disque utilisé pour exécuter les conteneurs OS

qcow2: pris en charge par la simulation QEMU, extensible dynamiquement et prend en charge le format de disque Copy on Write

aki: format du noyau Amazon stocké dans Glance

ari: format de disque RAM virtuel Amazon (Ramdisk) stocké dans Glance

ami: format de machine Amazon stocké dans Glance

4. Format miroir

Mirror bare: Miroir sans conteneur ni "enveloppe" de métadonnées
ovf: Open Virtualization Format

ova: format de périphérique de virtualisation ouvert stocké dans Glance

aki: format du noyau Amazon stocké dans Glance

ari: format de disque RAM virtuel Amazon (Ramdisk) stocké dans Glance

Docker: format de conteneur de fichier d'archive tar de Docker du système de fichiers de conteneur stocké dans Glance

5. État du miroir

État un

en file d'attente: il s'agit d'un état d'initialisation. Le fichier miroir vient d'être créé et seules ses métadonnées sont disponibles dans la base de données Glance. Les données mises en miroir n'ont pas été téléchargées dans la base de données.

enregistrement: est un état de transition où les données originales de l'image sont téléchargées dans la base de données, indiquant que l'image est en cours de téléchargement

uploading: indique que l'appel de soumission de données d'importation a été effectué et que PUT / file n'est pas autorisé à être appelé dans cet état (l'état d'enregistrement exécutera PUT / file, qui est une autre méthode de téléchargement)

importing: indique que l'appel d'importation est terminé, mais que l'image n'est pas encore prête à être utilisée

État deux

active: indique que lorsque les données du miroir sont téléchargées avec succès, elles deviennent un miroir disponible dans Glance

désactivé: signifie que tout utilisateur non administrateur n'a pas le droit d'accéder aux données du miroir, et il est interdit de télécharger des miroirs, ainsi que d'interdire les opérations d'exportation et de clonage de miroir

tué: indique qu'une erreur s'est produite pendant le processus de téléchargement de l'image et que l'image n'est pas lisible

supprimé: l'image sera automatiquement supprimée dans un proche avenir. L'image ne peut plus être utilisée, mais Glance conserve toujours les informations pertinentes et les données originales de l'image.

pending_delete: similaire à supprimé, Glance n'a pas effacé les données d'image, mais l'image dans cet état ne peut pas être restaurée

6. Autorité d'accès

Public: peut être utilisé par tous les projets

Privé: utilisé uniquement par le projet où se trouve le propriétaire du miroir

Partagé (partagé): une image non partagée peut être partagée avec d'autres projets, ce qui est réalisé grâce aux opérations des membres du projet (membre- *)

Protégé: cette image ne peut pas être supprimée

7. Schéma d'architecture

Insérez la description de l'image ici

Le client est l'utilisateur de l'application du service Glance, qui est l'outil de ligne de commande OpenStack, le service Horizon ou Nova

glance-api est un processus de service exécuté en arrière-plan du système. C'est l'entrée de Glance. Il fournit l'API REST en externe, est responsable de la réception des requêtes RESTful des utilisateurs et de la réponse aux requêtes miroir, aux appels d'acquisition et de stockage.

glance-registry est le processus du service d'enregistrement glancei exécuté en arrière-plan du système, responsable du traitement des requêtes RESTful liées aux métadonnées d'image. Les métadonnées comprennent des informations telles que la taille et le type d'image. Si la requête reçue par Glance-api est une opération liée aux métadonnées d'image, glance-api la transmettra à glance-registry. Glance-registry analysera le contenu de la requête et interagira avec la base de données. Stockez, traitez et récupérez les métadonnées en miroir. glance-api fournit une API en externe. L'API de gllance-registry n'est utilisée que par glance-api

Le module DB de Glance stocke des métadonnées en miroir et des bases de données telles que MYSQL, MariaDB et SQLite peuvent être utilisées. Les métadonnées de l'image sont stockées dans la base de données via glance-registry. Notez que l'image elle-même (données de bloc) est stockée dans divers backends de stockage via le pilote de stockage glance

Store Backend Glance lui-même ne stocke pas d'images, il stocke les images dans le système de stockage backend. Les données de l'image elle-même sont stockées dans divers backends via glance_store et peuvent être obtenues à partir de celui-ci. Prend en charge le stockage local, le stockage d'objets, le périphérique de bloc RBD, le stockage distribué Sheepdog, le stockage de blocs de cendre, le stockage de données VMware

Le backend à utiliser est configuré dans /etc/glancelglance-api.conf [glance_store]

8. Flux de travail

Insérez la description de l'image ici

Les opérations OpenStack nécessitent une authentification (AuthN) et une autorisation (AuthZ) par Keystone, et Glance ne fait pas exception. Glance est une architecture C / S qui fournit une API REST, et les utilisateurs peuvent effectuer diverses opérations de mise en miroir via l'API REST. [Glance Domain Controller est un middleware principal, équivalent à un ordonnanceur, et son rôle est de distribuer les opérations des services internes de Glance aux couches fonctionnelles suivantes

Registry Layer: est une couche facultative qui contrôle l'interaction sécurisée entre Glance Domain Controller et GlanceDB en utilisant un service distinct

Glance DB: est la bibliothèque principale utilisée par le service Glance, qui est partagée par tous les composants qui dépendent de la base de données dans Glance. (Cette bibliothèque stocke certaines informations de métadonnées, pas une base de données en miroir)

Glance Store: Utilisé pour organiser et traiter l'interaction entre Glance et divers backends de stockage, et fournit une interface unifiée pour accéder au stockage backend. Toutes les opérations de fichier miroir sont effectuées en appelant la bibliothèque Glance Store, qui est responsable de l'interaction avec le terminal de stockage externe ou le système de stockage de fichiers local

Deux, déployez le regard

1. Créez une instance de base de données et un utilisateur de base de données (ct)

mysql -u racine -p

CRÉER UN COUP D'ŒIL DE BASE DE DONNÉES;

DONNEZ TOUS LES PRIVILÈGES SUR UN coup d'œil. * TO 'glance' @ 'localhost' IDENTIFIED BY 'GLANCE_DBPASS';

DONNEZ TOUS LES PRIVILÈGES SUR UN coup d'oeil. * TO 'glance' @ '%' IDENTIFIED BY 'GLANCE_DBPASS';

privilèges de vidage;

quitter

2. Créez des utilisateurs et modifiez les fichiers de configuration

#Avant de créer un utilisateur, vous devez d'abord exécuter le script de variable d'environnement administrateur (il a été défini dans ~ / .bashrc ici)

openstack user create --domain default --password GLANCE_PASS glance ### 创建 glance 用户

#Ajoutez l'utilisateur glance au projet de service et disposez des autorisations d'administrateur pour ce projet; pour enregistrer l'API glance, vous devez disposer des autorisations d'administrateur pour le projet de service

openstack role add --project service --user glance admin

#Créer un service de service, le nom du service est un coup d'oeil, le type est une image; après la création, vous pouvez utiliser openstack

vue de la liste des services

service openstack create --name glance --description Image «OpenStack Image»

3. Créez un point de terminaison d'API de service de mise en miroir

Créez un point de terminaison d'API pour le service de mise en miroir. OpenStack utilise trois points de terminaison d'API pour représenter trois services: administrateur, interne et public

openstack endpoint create --region RegionOne image public http: // ct: 9292

openstack endpoint create --region RegionOne image internal http: // ct: 9292

openstack endpoint create --region RegionOne image admin http: // ct: 9292

4. Installez et modifiez le progiciel openstack-glance, fichier de configuration glance

miam -y installer openstack-glance

#Modifier le fichier de configuration de glance, glance a deux fichiers de configuration: /etc/glance/glance-api.conf et /etc/glance/glance-registry.conf

cp -a /etc/glance/glance-api.confản,.bak}

grep -Ev '^ $ | #' /etc/glance/glance-api.conf.bak> /etc/glance/glance-api.conf
Insérez la description de l'image ici

Ajouter la configuration glance-api.conf

# Paramètres modifiés entrants

openstack-config --set /etc/glance/glance-api.conf connexion à la base de données

mysql + pymysql: // regard: GLANCE_DBPASS @ ct / glance

openstack-config --set /etc/glance/glance-api.conf keystone_authtoken www_authenticate_uri http: // ct: 5000

openstack-config --set /etc/glance/glance-api.conf keystone_authtoken auth_url http: // ct: 5000

openstack-config --set /etc/glance/glance-api.conf keystone_authtoken memcached_servers ct: 11211

openstack-config --set /etc/glance/glance-api.conf keystone_authtoken auth_type mot de passe

openstack-config --set /etc/glance/glance-api.conf keystone_authtoken project_domain_name Par défaut

openstack-config --set /etc/glance/glance-api.conf keystone_authtoken user_domain_name Par défaut

openstack-config --set /etc/glance/glance-api.conf service keystone_authtoken nom_projet

openstack-config --set /etc/glance/glance-api.conf keystone_authtoken nom d'utilisateur regard

openstack-config --set /etc/glance/glance-api.conf mot de passe keystone_authtoken GLANCE_PASS

openstack-config --set /etc/glance/glance-api.conf paste_deploy saveur keystone

openstack-config --set /etc/glance/glance-api.conf glance_store stocke le fichier, http

openstack-config --set /etc/glance/glance-api.conf fichier glance_store default_store

openstack-config --set /etc/glance/glance-api.conf glance_store filesystem_store_datadir / var / lib / glance / images /
Insérez la description de l'image ici
Insérez la description de l'image ici

Modifier le fichier de configuration glance-registry.conf

## Avant de modifier le fichier de configuration, sauvegardez d'abord les informations du commentaire du filtre
cp -a /etc/glance/glance-registry.conf{,.bak}

grep -Ev '^ $ | #' /etc/glance/glance-registry.conf.bak> /etc/glance/glance-registry.conf

# 修改 配置 文件 参数
openstack-config --set /etc/glance/glance-registry.conf connexion à la base de données mysql + pymysql: // regard: GLANCE_DBPASS @ t / glance
openstack-config --set / etc / glance / glance-registry .conf keystone_authtoken www_authenticate_uri http: // ct: 5000
openstack-config --set /etc/glance/glance-registry.conf keystone_authtoken auth_url http: // ct: 5000
openstack-config --set / etc / glance / glance-registry .conf keystone_authtoken memcached_servers ct: 11211
openstack-config --set /etc/glance/glance-registry.conf keystone_authtoken auth_type mot de passe
openstack-config --set /etc/glance/glance-registry.conf keystone_authtoken
nom_domaine_par défaut set /etc/glance/glance-registry.conf keystone_authtoken user_domain_name Par défaut
openstack-config --set /etc/glance/glance-registry.conf keystone_authtoken nom_projet service
openstack-config --set /etc/glance/glance-registry.conf nom d'utilisateur keystone_authtoken regard
openstack-config --set / etc / glance / glance -registry.conf mot de passe keystone_authtoken GLANCE_PASS
openstack-config --set /etc/glance/glance-registry.conf paste_deploy saveur keystone

5. Initialisez la base de données Glance et générez des structures de table associées;

su -s / bin / sh -c "glance-manage db_sync" regard

6. Activez le service glance (après ouverture ici, un répertoire / var / lib / glance / image sera généré pour stocker l'image)

systemctl activer openstack-glance-api.service

systemctl démarrer openstack-glance-api.service
Insérez la description de l'image ici

7. Donnez au service openstack-glance-api.service l'autorisation d'écriture sur le périphérique de stockage (-h: valeur de la modification de fichier du lien symbolique / lien logiciel)

chown -hR regard: glance / var / lib / glance /

8. Importation miroir

#Téléchargez d'abord l'image cirros dans / opt du nœud de contrôle (l'emplacement du fichier est personnalisé), puis importez un coup d'œil, et enfin vérifiez si la création est réussie

openstack image create --file cirros-0.3.5-x86_64-disk.img --disk-format qcow2 --container-format bare --public cirros
Insérez la description de l'image ici

9. Deux façons d'afficher la mise en miroir

liste d'images OpenStack
或者
image liste regard
Insérez la description de l'image ici

Je suppose que tu aimes

Origine blog.csdn.net/weixin_51615030/article/details/114699952
conseillé
Classement