Estructura del proyecto: Una imagen vale más que mil palabras

Aún teniendo pendiente explicar que es ICE, voy a explicar con una imagen como queda y como quedará este proyecto y como y de qué forma se construye cada nodo. Hace poco tiempo escribí acerca de un cambio de rumbo primera parte y segunda parte en el que se usarían máquinas virtuales en lugar de pbuilder. En aquel momento no adjunté ninguna imagen, y ya va siendo hora de hacerlo para completar la explicación.

Aunque en el diagrama aparezcan solamente 3 arquitecturas, este es un dato meramente orientativo ya que se pueden poner más.

Diagrama del proyecto

En la imagen de arriba se puede ver como el sistema distribuido está formado por nodos.

Un Nodo es un computador conectado a la red y que tiene un sistema operativo instalado, Debian en este caso, y que es utilizado por una persona que pertenece al laboratorio para realizar su trabajo diario. Cada nodo tiene instaladas M (donde M puede ser un número mayor que uno y como máximo el que soporte cada Nodo) máquinas virtuales con Debian GNU/Linux que se gestionan con libvirt. En el laboratorio ahora mismo hay 17 computadores, pero puedes tener los que quieras.

Las máquinas virtuales instalan Debian GNU/Linux de forma automática gracias al archivo preseed.cfg, (más info aquí), con una serie de parámetros que autoconfiguran ciertas cosas como contraseñas de usuarios, paquetes que deben estar instalados, repositorios, etc. Se instalan con un sistema base, preparado para realizar construcción de paquetes Debian. Para la construcción de paquetes se requiere de un entorno limpio porque si no, se ensuciaría el sistema con las dependencias, y es por esto que se utilizan las máquinas virtuales con una instalación mínima.

El funcionamiento es el siguiente, a cada Nodo le llega una lista de paquetes que tiene que construir y las arquitecturas para las cuales se requiere la construcción. El nodo enciende una máquina virtual de las instaladas y envía las órdenes oportunas para que se realice la construcción del paquete. Esas órdenes se pueden resumir en:

  1. Encender la máquina virtual.
  2. Actualizar la máquina virtual.
  3. Capturar una instantánea de la máquina virtual para guardar su estado.
  4. Descargar las dependencias de construcción del paquete.
  5. Construir y firmar (Se explicará más adelante) el paquete
  6. Revertir al estado anterior la máquina virtual con el fin de dejar el sistema como estaba, limpio.

Las instantáneas, como ya se explicó en la entrada del cambio de rumbo, sirven para congelar el estado de la máquina virtual, una operación muy interesante si la construcción del paquete dura demasiado tiempo y un Nodo tiene que apagarse.

Existen algunos preguntas a las que no he dado respuesta todavía, como por ejemplo, ¿Cómo se sabe cuando un nodo está encendido? ¿Cómo se sabe para qué arquitecturas se necesita que se construya el paquete? ¿Dónde están los paquetes? Cuando haga la entrada sobre ICE se despejará un poco todo este terreno un poco nublado ahora mismo.

Si tienes alguna pregunta no dejes de hacerla, estaré encantado de responderte.

Tagged with: , , ,
Publicado en estado del arte, Uncategorized
1 comments on “Estructura del proyecto: Una imagen vale más que mil palabras

Deja un comentario