Saltar a contenido

Introducción

1. ¿Qué es OpenStack?

OpenStack es un proyecto open source que permite gestionar recursos virtuales de computación, redes, almacenamiento e imágenes, para diseñar y gestionar nubes privadas y públicas. También se puede definir como una plataforma de cloud computing que proporciona infraestructura como servicio o IaaS (Infraestructura as a Service).

2. Componentes de OpenStack

Los componentes básicos de OpenStack con los que vamos a trabajar en la nube privada de nuestro centro son los siguientes:

  • Nova: Gestiona la virtualización de los recursos de cómputo.
  • Neutron: Gestiona la virtualización de los recursos de red.
  • Glance: Se encarga de la gestión de las imágenes.
  • Cinder: Gestiona el almacenamiento a nivel de bloques.
  • Swift: Gestiona el almacenamiento a nivel de objetos.
  • Horizon: Nos permite interactuar con OpeStack a través de una interfaz web.
  • Keystone: Se encarga de la gestión de identidades y acceso.

Figura 1. Componentes básicos de OpenStack. Imagen obtenida de la web oficial.

3. Infraestructura del entorno de producción

La infraestructura del entorno de producción está formada por un switch gestionable de capa 2 y tres nodos: (1) nodo de control, (2) nodo de cómputo y (3) nodo de almacenamiento.

Las máquinas del entorno de producción son servidores Dell PowerEdge de 14ª generación, que cuentan con las características hardware que se detallan en la siguiente tabla.

Nodo Componente Descripción
Control Modelo Servidor Dell PowerEdge R240 de 14ª generación.
Procesador Intel Xeon E-2224, 3,4 GHz, 4 núcleos (1 Thread por core)
Memoria RAM 32 GB de RAM (4×8 GB DDR4 UDIMM 3200MHz ECC)
Controladora RAID Sin controladora RAID
Disco duro 1 TB
Cómputo Modelo Servidor Dell PowerEdge R440 de 14ª generación.
Procesador 2 x Intel Xeon Silver 4214, 2,2 GHz, 12 núcleos (2 Threads por core)
Memoria RAM 1024 GB de RAM (16×RDIMM de 64 GB, 3200 MT/s)
Controladora RAID Controladora RAID PERC H730P+
Disco duro 1,2 TB a 10K rpm, SAS a 12 Gbps
Almacenamiento Modelo Servidor Dell PowerEdge R640 de 14ª generación.
Procesador Intel Xeon Silver 4210R, 2,4 GHz, 10 núcleos (2 Threads por core)
Memoria RAM 256 GB de RAM (4×RDIMM de 64 GB, 3200 MT/s)
Controladora RAID Controladora RAID PERC H730P
Discos duros Disco duro 480GB
4 x Discos duros 401-ABHQ 2.4TB 10K rpm SAS 12Gbps 512e

Tabla 1. Especificaciones del nodo de control, nodo de cómputo y nodo de almacenamiento

4. Configuración de los valores de sobresuscripción

Los valores de sobresuscripción de recursos que estamos utilizando son los valores que vienen por defecto en la configuración de OpenStack y son los siguientes:

  • CPU allocation ratio: 16:1
  • RAM allocation ratio: 1.5:1
  • Disk allocation ratio: 1:1

Estos valores quieren decir que para el planificador de OpenStack un core físico equivale a 16 cores virtuales o vCPU, 1 GB de RAM físico equivale a 1,5 GB de RAM virtual o vRAM y 1 GB de espacio de disco equivale a 1 GB de espacio de disco virtual.

Teniendo en cuenta las características de los nodos y según los cálculos realizados en las siguientes fórmulas,

\[ 24 \text{ cores} \times 2 \text{ threads/core} = 48 \text{ cores} \times 16 = 768 \text{ vCPUs} \label{eq:formula_vcpus} \]
\[ 1024 \text{ GB RAM} \times 1,5 = 1536 \text{ vGB RAM} = 1,5 \text{ TB vRAM} \label{eq:formula_vram} \]

Nuestro entorno de producción dispone de los siguientes recursos para virtualizar:

Recursos para virtualización Valor
vCPUs 768
vRAM 1,5 TB
Espacio de disco para crear volúmenes 6,6 TB

Tabla 2. Recursos de virtualización disponibles en el entorno de producción.

5. Arquitectura de red del entorno de producción

Figura 2. Diagrama de red de OpenStack. Imagen de elaboración propia (CC BY-NC-SA).

La figura 2 muestra la arquitectura de red que estamos utilizando en el entorno de producción. En este diagrama se puede observar como todos los nodos del clúster de OpenStack están conectados a una red externa y a tres redes internas: (1) la red container, (2) la red tunnel y (3) la red storage.

La red externa de OpenStack (172.16.0.0/16) es una red de clase B que nos permite direccionar 65534 hosts, mientras que una red de clase C sólo nos permite 254 hosts. Todas las instancias que se crean en el clúster pueden tener asignada una dirección IP flotante que estará conectada a esta red externa, permitiendo que la instancia sea accesible desde otras instancias de la misma red y desde la red del departamento.

Nuestro entorno de producción también cuenta con una máquina con pfSense que hace de router y firewall, entre la red del departamento y la red externa de OpenStack.

El nodo bastión que aparece en el diagrama de red, sólo es necesario para realizar las operaciones de instalación y actualización del clúster con OpenStack Ansible. En este nodo es donde se ejecutan los playbooks de Ansible.

6. Cómo acceder a OpenStack Celia

OpenStack sólo es accesible desde la red del departamento, por lo tanto, sólo se podrá acceder desde las aulas que estén conectadas a esta red (Aulas: 8, 20, 21, 22, 23, 24, Ateca, Emprendimiento y Cantina). También es posible acceder haciendo uso de la VPN del IES Celia Viñas.

Para acceder a Horizon, que es el servicio web que nos permite interactuar con OpenStack, podemos hacerlo a través de las siguientes URLs:

Si no puede resolver el nombre de dominio openstack.celia es posible que necesite configurar el servidor DNS en su configuración de red y añadir el servidor 172.16.0.1.

7. Cuotas predeterminadas de los proyectos

La gestión de los recursos de OpenStack se realiza a través de proyectos. Cada proyecto tiene establecidas unas cuotas predeterminadas que limitan los recursos que puede utilizar.

Las cuotas que se han establecido para los proyectos son las siguientes:

Recursos Valor
Número de instancias: 6
vCPU 12
RAM 12 GB
Volúmenes 2
Instantáneas de volumen: 5
Almacenamiento de volumen: 20 GB
IPs flotantes 10
Grupos de seguridad 10
Reglas del grupo de seguridad: 100
Redes 10
Subredes 20
Puertos 50
Routers 10

Tabla 3. Cuotas predeterminadas para cada proyecto.

Los valores de las cuotas son provisionales, tendremos que ir ajustando los valores hasta encontrar la configuración definitiva.

8. Configuración inicial de proyectos y usuarios

En la configuración actual cada usuario tiene su propio proyecto, aunque es posible asignar varios usuarios al mismo proyecto.

Para cada proyecto se ha creado de forma predeterminada:

  • Una red.
  • Una subred.
  • Un router.
  • Un grupo de seguridad.

También se han añadido dos reglas al grupo de seguridad que se crea por defecto en cada proyecto para:

  • Permitir el trafico ICMP.
  • Permitir el acceso a las instancias por SSH.

9. Uso de OpenStack en el currículo educativo

Actualmente OpenStack se está utilizando en los siguientes módulos profesionales.

Módulo profesional Ciclo formativo Curso
Aplicaciones web SMR 2\(^{\circ}\)
Bases de datos DAW 1\(^{\circ}\)
Despliegue de aplicaciones web DAW 2\(^{\circ}\)
Gestión de bases de datos ASIR 1\(^{\circ}\)
Administración de sistemas gestores de bases de datos ASIR 2\(^{\circ}\)
Implantación de aplicaciones web ASIR 2\(^{\circ}\)
Seguridad y alta disponibilidad ASIR 2\(^{\circ}\)