Usando LXD para prácticas

Este año estoy usando LXD para que los alumnos hagan las prácticas de Sistemas Operativos y de Servicios en Red. La manera en que lo tengo organizado es la siguiente:

  • En cada aula hay un servidor que hace de proxy y da DHCP a los PC del aula. Este no es demasiado potente, ya que sólo es la puerta de enlace al exterior.
  • Tengo un servidor más potente (i5 i 8GB) que hace de servidor de LXD. Este tiene 15 contenedores (15 alumnos en segundo) y cada uno de ellos 3 contenedores en «Nesting».
  • Cada uno de los 15 contenedores tiene asignada por DHCP, gracias al servidor de proxy, una IP que acaba en el número de asiento del alumno. Por ejemplo, el alumno 12 tiene la IP que acaba en 212.
  • Los alumnos tienen un usuario y contraseña para entrar a su contenedor por SSH.
  • Los alumnos son administradores de ese contenedor y pueden modificar los ‘subcontenedores’ o instalar programas.
  • Una vez dentro de los contenedores que ellos administran, pueden crear servidores y clientes o lo que necesiten.
  • De esta manera yo siempre tengo acceso a todo por SSH y porque administro el servidor que los contiene. Entre los turnos de mañana y tarde hemos llegado a tener más de 90 contenedores en marcha. El disco duro es el cuello de botella en mi caso, ya que sólo van lentos en el arranque.

Ventajas:

  • Ellos no tienen que hacerse máquinas virtuales y llenar el disco duro de su ordenador.
  • Se puede controlar todo el trabajo desde una terminal.
  • Puedo hacer exámenes y corregirlos sin que me tengan que enviar la máquina virtual o los ficheros de configuración. Puedo probar directamente que funciona.

Inconvenientes:

  • No pueden llevarse fácilmente en trabajo a casa. Aunque pueden acceder de forma remota siempre que les abras el puerto.
  • No se pueden hacer contenedor de Windows.

Si queréis saber más, en este enlace tengo apuntes de cómo se ha configurado todo.