OpenStack —— vistazo
-
-
- Un servicio de duplicación de miradas
- Dos, desplegar mirada
-
- 1. Cree una instancia de base de datos y un usuario de base de datos (ct)
- 2. Cree usuarios y modifique archivos de configuración
- 3. Cree un punto final de la API del servicio de creación de reflejo
- 4. Instale y modifique el paquete de software openstack-look, archivo de configuración de vistazo
- 5. Inicialice la base de datos de vistazo y genere estructuras de tablas relacionadas;
- 6. Encienda el servicio de mirada (después de abrir aquí, se generará un directorio / var / lib / look / image para almacenar la imagen)
- 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)
- 8. Importación espejo
- 9. Dos formas de ver la duplicación
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
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
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
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 /
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
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
9. Dos formas de ver la duplicación
lista de imágenes de openstack 或者 lista de
imágenes de
vistazo