Akrog.storage

Rol de Almacenamiento de Ansible

Docs Galaxy

El Rol de Almacenamiento de Ansible es una abstracción independiente del proveedor que ofrece a los administradores de infraestructura automatización para soluciones de almacenamiento y acceso a recursos provisionados.

El Rol de Almacenamiento incluye soporte para más de 80 controladores de almacenamiento en bloques de forma predeterminada, pero también se puede ampliar para soportar proveedores de almacenamiento adicionales.

Gracias a esta abstracción, ahora es posible escribir playbooks reutilizables que pueden automatizar tareas en cualquiera de las matrices de almacenamiento compatibles.

Esto permite gestionar y consumir volúmenes de almacenamiento directamente en cualquier infraestructura por parte del desarrollador o propietario de la aplicación desde cualquier instancia de Linux.

El rol proporcionará una abstracción para múltiples tipos de almacenamiento:

  • Almacenamiento en bloques.
  • Sistemas de archivos compartidos.
  • Almacenamiento en objetos.

Casos de uso:

  • Automatizar la aprovisionamiento de volúmenes para:
    • Servidores físicos.
    • Máquinas virtuales gestionadas a través del módulo virt de Ansible.
    • Máquinas virtuales gestionadas en oVirt, OpenStack y VMWare.
    • Proveedores de nube.
  • Tomar instantáneas periódicas de volúmenes provisionados.
  • Usar un volumen dorado para el aprovisionamiento (clonación de volúmenes).
  • Redimensionar volúmenes provisionados.
  • Definir QoS para volúmenes provisionados.
  • Realizar migración de volúmenes entre backends.

Características

El Rol de Almacenamiento actualmente soporta almacenamiento en bloques y ha abstractado las siguientes operaciones.

  • Obtener estadísticas de backend
  • Crear volúmenes
  • Eliminar volúmenes
  • Ampliar volúmenes
  • Adjuntar volúmenes
  • Desadjuntar volúmenes

Empezando

Vamos a comenzar a ejecutar tu primer playbook de Almacenamiento.

Ejecutar el playbook de ejemplo instalará paquetes en el sistema y presentará un VG (Grupo de Volúmenes) al sistema. Recomendamos ejecutar estos comandos dentro de una máquina virtual o cambiar el valor de la variable IP a la dirección IP de una máquina virtual.

Después de configurar el VG de LVM, el playbook creará un volumen, lo adjuntará al nodo a través de iSCSI, mostrará un mensaje con el dispositivo al que ha sido adjuntado, lo desadjuntará y finalmente eliminará el volumen.

Para ejecutar el playbook primero necesitaremos instalar el rol.

$ ansible-galaxy install Akrog.storage

Una vez que hayamos instalado el rol, podemos proceder a ejecutarlo.

Hay muchas formas de ejecutar un playbook, por simplicidad aquí solo ilustraremos cómo ejecutarlo en el host local usando nuestro usuario y asumiendo que tenemos sshd habilitado, nuestra propia ~/.ssh/id_rsa en el archivo ~/.ssh/authorized_keys y nuestro usuario puede ejecutar comandos sudo sin contraseña.

$ IP=127.0.0.1
$ cd ~/.ansible/roles/Akrog.storage/example
$ ansible-playbook -i $IP, lvm-backend.yml

A diferencia de la mayoría de los casos de uso reales, nuestro ejemplo no utiliza un sistema de almacenamiento real. El playbook primero crea un Grupo de Volúmenes (VG) de LVM respaldado por un dispositivo de loop. Usando este VG podemos crear volúmenes y exportarlos a través de iSCSI usando el target LIO.

Conceptos

Un proveedor es el módulo de Ansible responsable de llevar a cabo operaciones en el hardware de almacenamiento. Cada proveedor debe soportar al menos un hardware específico de un proveedor, pero también puede soportar más, como lo hace el proveedor predeterminado.

Para exponer la funcionalidad de estos proveedores, el Rol de Almacenamiento introduce el concepto de backends. Un backend se construye pasando una configuración específica a un proveedor para gestionar un hardware de almacenamiento específico.

Hay dos tipos de nodos en el Rol de Almacenamiento, controladores y consumidores.

Los controladores tienen acceso a la red de gestión de almacenamiento y saben cómo conectarse a la interfaz de gestión del hardware de almacenamiento y controlarlo. Por ejemplo, para crear y exportar un volumen.

Los consumidores solo necesitan acceso a la red de datos de almacenamiento para conectarse a los recursos que hemos provisionado. Por ejemplo, para conectar un volumen a través de iSCSI.

Consulta más información sobre el uso y la configuración en la documentación: https://ansible-storage.readthedocs.io/en/docs/

Acerca del proyecto

Storage management and consumption

Instalar
ansible-galaxy install Akrog.storage
Licencia
other
Descargas
159
Propietario