OpenStack —— vistazo

Un servicio de duplicación de miradas

El nombre de su proyecto en OpenStack es Glance. En las primeras versiones de OpenStack, Glance solo tenía la función de administrar imágenes y no tenía la función de almacenamiento de imágenes. Ahora, Glance se ha convertido en un servicio central de OpenStack que integra múltiples funciones como carga, recuperación, administración y almacenamiento de imágenes.

1. Servicio espejo

El servicio de duplicación se utiliza para administrar espejos, lo que permite a los usuarios descubrir, obtener y guardar espejos. El servicio de imágenes proporcionado en OpenStack es Glance, y sus principales funciones son las siguientes

Consultar y obtener los metadatos de la imagen y la propia imagen

Registre y cargue imágenes de máquinas virtuales, incluida la creación, carga, descarga y administración de imágenes

Mantener la información de la imagen, incluidos los metadatos y la propia imagen.

Admite múltiples formas de almacenar imágenes, incluidos sistemas de archivos ordinarios, Swift, Amazon S3, etc.

Ejecute el comando create snapshot en la instancia de la máquina virtual para crear una nueva imagen o haga una copia de seguridad del estado de la máquina virtual.

2. La versión de la API de imágenes

La API RESTful proporcionada por Glance actualmente tiene dos versiones: API v1 y API v2

v1 solo proporciona funciones básicas de operación de duplicados y miembros, incluida la creación, eliminación, descarga, lista, consulta de información detallada, actualización y creación, eliminación y lista de miembros de inquilinos duplicados.

Además de admitir todas las funciones de v1, v2 agrega principalmente la adición, eliminación, modificación de la posición del espejo, operaciones de metadatos y espacio de nombres, y operaciones de marca de espejo

Ambas versiones tienen el mismo soporte para almacenamiento reflejado, la v1 ha quedado obsoleta desde la versión N y la ruta de migración se reemplaza por la v2

3. Formato espejo

Formato de disco del archivo de imagen de la máquina virtual

raw: formato de disco no estructurado, velocidad de acceso muy rápida, pero no admite la expansión dinámica, que consume mucho en la etapa inicial

vhd: este formato se usa comúnmente en VMware, Xen, VirtualBox y otros hipervisores

vhdx: una versión mejorada del formato vhd que admite tamaños de disco más grandes

vmdk: un formato de disco de máquina virtual más general

vdi: formato de disco compatible con el hipervisor VirtualBox y el emulador QEMU

iso: el formato de archivo utilizado para el contenido de datos del disco compacto (CD-ROM)

ploop: compatible con virtuozzo, el formato de disco utilizado para ejecutar contenedores de SO

qcow2: compatible con la simulación QEMU, expandible dinámicamente y compatible con el formato de disco Copiar en Escritura

aki: formato del kernel de Amazon almacenado en Glance

ari: formato de disco RAM virtual de Amazon (Ramdisk) almacenado en Glance

ami: formato de máquina de Amazon almacenado en Glance

4. Formato espejo

Mirror bare: Mirror sin contenedor o "sobre" de metadatos
ovf: Open Virtualization Format

ova: formato de dispositivo de virtualización abierto almacenado en Glance

aki: formato del kernel de Amazon almacenado en Glance

ari: formato de disco RAM virtual de Amazon (Ramdisk) almacenado en Glance

Docker: formato de contenedor de archivos tar de Docker del sistema de archivos de contenedor almacenado en Glance

5. Estado del espejo

Estado uno

en cola: Este es un estado de inicialización. El archivo espejo se acaba de crear y solo sus metadatos están disponibles en la base de datos de Glance. Los datos reflejados no se han cargado a la base de datos.

ahorro: es un estado de transición en el que los datos originales de la imagen se cargan en la base de datos, lo que indica que la imagen se está cargando

cargando: indica que se ha realizado la llamada de envío de datos de importación, y no se permite llamar a PUT / archivo en este estado (el estado de guardado ejecutará PUT / archivo, que es otro método de carga)

importando: indica que la llamada de importación se ha completado, pero la imagen aún no está lista para ser utilizada

Estado dos

activo: indica que cuando los datos del espejo se cargan correctamente, se convierten en un espejo disponible en Glance

desactivado: significa que cualquier usuario que no sea administrador no tiene derecho a acceder a los datos espejo, y está prohibido descargar espejos, y también prohibir la exportación de espejos y las operaciones de clonación de espejos

muerto: indica que se produjo un error durante el proceso de carga de la imagen y que la imagen no es legible

eliminado: La imagen se eliminará automáticamente en un futuro próximo. La imagen ya no se puede usar, pero Glance aún conserva la información relevante y los datos originales de la imagen.

pendiente_de_borrado: similar a eliminado, Glance no ha borrado los datos de la imagen, pero la imagen en este estado no se puede restaurar

6. Autoridad de acceso

Público: puede ser utilizado por todos los proyectos.

Privado: solo lo utiliza el proyecto donde se encuentra el propietario del espejo

Compartido (compartido): una imagen no compartida se puede compartir con otros proyectos, lo que se logra a través de operaciones de miembros del proyecto (miembro- *)

Protegido: esta imagen no se puede eliminar

7. Diagrama de arquitectura

Inserte la descripción de la imagen aquí

El cliente es el usuario de la aplicación de servicio Glance, que es la herramienta de línea de comandos de OpenStack, el servicio Horizon o Nova.

vistazo-api es un proceso de servicio que se ejecuta en segundo plano del sistema. Es la entrada a Glance. Proporciona una API REST externamente, es responsable de recibir solicitudes RESTful de los usuarios y responder a las llamadas de consulta, adquisición y almacenamiento de réplicas.

vistazo-registro es el proceso de servicio de registro de vistazo que se ejecuta en el fondo del sistema, responsable de procesar las solicitudes RESTful relacionadas con los metadatos de la imagen. Los metadatos incluyen información como el tamaño y el tipo de la imagen. Si la solicitud recibida por Glance-api es una operación relacionada con metadatos de imagen, vistazo-api enviará la solicitud a vistazo-registro. Glance-registro analizará el contenido de la solicitud e interactuará con la base de datos. Almacene, procese y recupere metadatos reflejados. vistazo-api proporciona API externamente. La API de gllance-registry solo es utilizada por vistazo-api

El módulo de base de datos de Glance almacena metadatos reflejados y se pueden utilizar bases de datos como MYSQL, MariaDB y SQLite. Los metadatos de la imagen se almacenan en la base de datos a través del registro de vistazo. Tenga en cuenta que la imagen en sí (fragmentos de datos) se almacena en varios backends de almacenamiento a través del controlador de almacenamiento de vistazo

Store Backend Glance en sí no almacena imágenes, almacena las imágenes en el sistema de almacenamiento backend. Los datos de la imagen en sí se almacenan en varios backends a través de look_store y se pueden obtener de ella. Admite almacenamiento local, almacenamiento de objetos, dispositivo de bloque RBD, almacenamiento distribuido Sheepdog, almacenamiento de bloque Cinder, almacenamiento de datos VMware

Qué backend usar está configurado en /etc/glancelglance-api.conf [look_store]

8. Flujo de trabajo

Inserte la descripción de la imagen aquí

Las operaciones de OpenStack requieren autenticación (AuthN) y autorización (AuthZ) de Keystone, y Glance no es una excepción. Glance es una arquitectura C / S que proporciona una API REST y los usuarios pueden realizar varias operaciones de duplicación a través de la API REST. [Glance Domain Controller es un middleware principal, equivalente a un programador, y su función es distribuir las operaciones de los servicios internos de Glance a las siguientes capas funcionales

Capa de registro: es una capa opcional que controla la interacción segura entre Glance Domain Controller y GlanceDB mediante el uso de un servicio separado.

Glance DB: es la biblioteca principal utilizada por el servicio Glance, que es compartida por todos los componentes que dependen de la base de datos dentro de Glance. (Esta biblioteca almacena cierta información de metadatos, no una base de datos reflejada)

Glance Store: se utiliza para organizar y procesar la interacción entre Glance y varios backends de almacenamiento, y proporciona una interfaz unificada para acceder al almacenamiento de backend. Todas las operaciones de archivos espejo se realizan llamando a la biblioteca Glance Store, que es responsable de la interacción con el terminal de almacenamiento externo o el sistema de almacenamiento de archivos local.

Dos, desplegar mirada

1. Cree una instancia de base de datos y un usuario de base de datos (ct)

mysql -u root -p

CREAR mirada BASE DE DATOS;

OTORGAR TODOS LOS PRIVILEGIOS DE UN vistazo. * PARA 'mirar' @ 'localhost' IDENTIFICADO POR 'GLANCE_DBPASS';

OTORGAR TODOS LOS PRIVILEGIOS DE UN vistazo. * PARA 'mirar' @ '%' IDENTIFICADO POR 'GLANCE_DBPASS';

privilegios de descarga;

renunciar

2. Cree usuarios y modifique archivos de configuración

#Antes de crear un usuario, primero debe ejecutar el script de la variable de entorno del administrador (se ha definido en ~ / .bashrc aquí)

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

#Agregue el usuario de vistazo al proyecto de servicio y tenga permiso de administrador para este proyecto; para registrar la API de vistazo, debe tener permiso de administrador para el proyecto de servicio

función de openstack agregar - servicio de proyecto - administrador de vista de usuario

#Cree un servicio de servicio, el nombre del servicio es un vistazo, el tipo es una imagen; después de la creación, puede usar openstack

vista de lista de servicios

servicio openstack crear --nombre vistazo --descripción imagen "Imagen OpenStack"

3. Cree un punto final de la API del servicio de creación de reflejo

Cree un punto final de API para el servicio de creación de reflejo. OpenStack utiliza tres puntos finales de API para representar tres servicios: administrador, interno y público.

Openpoint endpoint create --region RegionOne imagen pública http: // ct: 9292

Openpoint endpoint create --region RegionOne imagen interna http: // ct: 9292

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

4. Instale y modifique el paquete de software openstack-look, archivo de configuración de vistazo

yum -y instalar openstack-look

#Modificar el archivo de configuración de vistazo, vistazo tiene dos archivos de configuración: /etc/glance/glance-api.conf y /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
Inserte la descripción de la imagen aquí

Agregar configuración de look-api.conf

# Parámetros modificados entrantes

openstack-config --set /etc/glance/glance-api.conf conexión a la base de datos

mysql + pymysql: // vistazo: GLANCE_DBPASS @ ct / vistazo

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 contraseña

openstack-config --set /etc/glance/glance-api.conf keystone_authtoken project_domain_name Predeterminado

openstack-config --set /etc/glance/glance-api.conf keystone_authtoken nombre_dominio_usuario Predeterminado

openstack-config --set /etc/glance/glance-api.conf keystone_authtoken nombre_proyecto servicio

openstack-config --set /etc/glance/glance-api.conf keystone_authtoken nombre de usuario vistazo

openstack-config --set /etc/glance/glance-api.conf keystone_authtoken contraseña GLANCE_PASS

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

openstack-config --set /etc/glance/glance-api.conf look_store almacena el archivo, http

openstack-config --set /etc/glance/glance-api.conf look_store archivo default_store

openstack-config --set /etc/glance/glance-api.conf look_store filesystem_store_datadir / var / lib / look / images /
Inserte la descripción de la imagen aquí
Inserte la descripción de la imagen aquí

Modificar el archivo de configuración de look-registry.conf

## Antes de modificar el archivo de configuración, primero
haz una copia de seguridad de la información del comentario del filtro 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 conexión de base de datos mysql + pymysql: // vistazo: GLANCE_DBPASS @ t / vistazo
openstack-config --set / etc / vistazo / vistazo-registro .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 / vistazo / vistazo-registro .conf keystone_authtoken memcached_servers ct: 11211
openstack-config --set /etc/glance/glance-registry.conf keystone_authtoken auth_type contraseña
openstack-config --set /etc/glance/glance-registry.conf keystone_authtoken project_domain
config_name - predeterminado openstack-config_name establecer /etc/glance/glance-registry.conf keystone_authtoken nombre_dominio_usuario Predeterminado
openstack-config --set /etc/glance/glance-registry.conf keystone_authtoken project_name servicio
openstack-config --set /etc/glance/glance-registry.conf keystone_authtoken nombre de usuario vistazo
openstack-config --set / etc / vistazo / vistazo -registry.conf keystone_authtoken contraseña GLANCE_PASS
openstack-config --set /etc/glance/glance-registry.conf paste_deploy sabor keystone

5. Inicialice la base de datos de vistazo y genere estructuras de tablas relacionadas;

su -s / bin / sh -c "vistazo-administrar db_sync" vistazo

6. Encienda el servicio de mirada (después de abrir aquí, se generará un directorio / var / lib / look / image para almacenar la imagen)

systemctl habilitar openstack-look-api.service

systemctl iniciar openstack-look-api.service
Inserte la descripción de la imagen aquí

7. Otorgue al servicio openstack-look-api.service el permiso de escritura para el dispositivo de almacenamiento (-h: valor para la modificación del archivo del enlace simbólico / enlace suave)

chown -hR vistazo: vistazo / var / lib / vistazo /

8. Importación espejo

# Primero cargue la imagen de cirros en / opt del nodo de control (la ubicación del archivo está personalizada), luego importe el vistazo y finalmente verifique si la creación es exitosa

creación de imagen openstack --file cirros-0.3.5-x86_64-disk.img --disk-format qcow2 --container-format bare --public cirros
Inserte la descripción de la imagen aquí

9. Dos formas de ver la duplicación

lista de imágenes de openstack 或者 lista de
imágenes de
vistazo
Inserte la descripción de la imagen aquí

Supongo que te gusta

Origin blog.csdn.net/weixin_51615030/article/details/114699952
Recomendado
Clasificación