Montando un Clúster ODROID-N2: Informática de Alto Rendimiento Asequible

En el artículo “Montado un clúster ODROID-XU4”, detallamos los ingredientes necesarios para montar un clúster de laboratorio doméstico de 5 nodos utilizando el potente ODROID-XU4 de 32 bits. Tal y como se indicó en su momento, el ODROID-XU4 tiene un potente CPU Samsung Exynos5422 ARM de ocho núcleos con dos conjuntos de cuatro núcleos, conocidos como big.LITTLE, con Cortex A15 a 2 Ghz y Cortex A7 a 1.4 Ghz. Tiene la suficiente potencia como para ejecutar Linux y actuar como un mini clúster de desarrollo. Sin embargo, el ODROID-XU4 es un SBC de 32 bits con 2 GB de memoria LPDDR3 PoP.

En mi intento por encontrar un verdadero SBC de quad-core de 64 bits en el que cada núcleo estuviera cercano a los 2 Ghz y que contase con al menos 4 GB de RAM, me encontré con esta belleza recién lanzada llamada ODROID-N2 (4 GB de RAM). Tiene un potente CPU Amlogic 922X basada en ARM hex-core con dos conjuntos de núcleos, también conocida como big.LITTLE, con un Cortex A73 de cuatro núcleos a 1,8 Ghz y un Cortex A53 de doble núcleo a 1,9 Ghz . Además, viene con un disipador térmico * ENORME * montado en la parte inferior, donde se encuentra la CPU. Está disponible en dos configuraciones, una con 2 GB de RAM DDR4 y la otra con 4 GB de RAM DDR4 (funcionando a 1320 Mhz). Tiene 4 puertos USB 3.0 y un puerto Ethernet de 1 Gb.

Los siguientes son los elementos necesarios para montar un clúster ODROID-N2 de 5 nodos:

  • Cinco ordenadores de placa reducida ODROID-N2 de 4 GB
  • Cinco adaptadores de corriente de 12V/2A
  • Cinco tarjetas microSDXC de 64 GB de clase 10
  • Cinco cables de red Ethernet
  • Un pack de separadores de latón macho-hembra M3 de 60 mm
  • Un pack de separadores de latón macho-hembra M3 de 12 mm
  • Un pack de tornillos de acero Phillips M3 de 6 mm
  • Un switch Ethernet multipuerto (si tu switch de red doméstica no tiene suficientes puertos disponibles). En mi caso, no necesitaba uno ya que tenía un switch Ethernet de 24 puertos con suficientes puertos libres para cubrir mis necesidades.
  • Un lector de tarjetas USB portátil, si tu ordenador de escritorio no tiene un lector de tarjetas multimedia. En mi caso, no necesitaba uno ya que mi ordenador personal tiene un lector de tarjetas integrado.
  • Una regleta con 12 tomas Belkin BE112230-08
  • Necesitamos asegurar con firmeza el ODROID-N2 en una plataforma sólida y plana, que se pueda apilar una encima de otra. En mi caso, una visita al Dollar Tree local me aporto una opción interesante: una bandeja cuadrada de plástico transparente de 12,5 cm x 12,5 cm. Para mi clúster, compré 5.

El siguiente paso es ensamblar los elementos para dar forma el clúster ODROID-N2 de 5 nodos. El ODROID-N2 es un tanto único en su diseño. A diferencia del ODROID-XU4, no existen agujeros en el SBC para apilar las placas fácilmente una encima de la otra. Esto es debido al disipador térmico que ocupa todo el fondo del SBC. Sin embargo, el disipador térmico tiene una serie de orificios para atornillar los separadores de latón M3 de 12 mm en los 4 lados, tal y como se muestra en la siguiente imagen.

Figura 1: Ubicaciones de los tornillos

Continué con este proceso de ensamblaje para las restantes unidades. Necesitamos perforar 4 agujeros (círculos rojos) para asegurar cada SBC. Asegúrate de que los orificios están alineados con los cuatro separadores M3 de 12 mm que atornillamos al SBC en la Figura 1. Además, necesitamos otros 4 orificios (círculos azules) en las esquinas de la bandeja de plástico para apilar las bandejas una encima de otra tal como se muestra en la siguiente imagen:

Figura 2 - Los 8 agujeros perforados

Sigue con este proceso en las restantes unidades. Necesitamos asegurar el ODROID-N2 en la parte superior de la bandeja de plástico transparente usando los tornillos M3 de 6 mm a través de los 4 agujeros (círculos rojos) de la Figura 2 anterior, tal y como se muestra en la siguiente imagen:

Figura 3: ODROID-N2 montado en una estructura de plástico, "¡hola piña!"

Nuevamente, continúa este proceso para las restantes unidades. Inserta los separadores de latón M3 de 12 mm a través de los 4 orificios (círculos azules) de la Figura 2 anterior y atorníllalos en la parte superior con los espaciadores de latón M3 de 60 mm tal y como se muestra en la siguiente imagen:

Figura 4 - Ahora con los separadores incluidos

Esto es solo para una de las unidades que estará en la base de la pila. Apila la siguiente bandeja de plástico con el SBC de la Figura 3 en la parte superior de la unidad de la Figura 4 y atorníllela en la parte superior con los espaciadores de latón M3 de 60 mm tal y como se muestra en la siguiente imagen:

Figura 5: Dos ODROID-N2 apilados

Haz lo mismo para las restantes unidades. Para la bandeja superior, asegúrala con los espaciadores M3 de 12 mm.

Figura 6: Un rack de clúster finalizado

A continuación, descárgate la última versión estable del sistema operativo Ubuntu MATE Linux, basado en Ubuntu Bionic 18.04, tal y como se muestra en la siguiente imagen:

Figura 7 - Ubicación de las descargas de Ubuntu para el ODROID-N2

Al momento de escribir este artículo, la versión más reciente de Ubuntu MATE era la 20190325. Descarga la última versión estable de Etcher. Esta herramienta se usará para grabar la imagen del sistema operativo en cada una de las tarjetas microSDXC. Inserta una tarjeta microSDXC en el lector de tarjetas SD, inicia Etcher, selecciona la imagen Ubuntu MATE. ¡Luego presiona el botón Flash!, para grabar la imagen en la tarjeta microSDXC tal y como se muestra en la siguiente imagen:

Figura 8: Captura de pantalla de la configuración de Etcher para grabar la SD con el sistema operativo

Inserta cada una de las tarjetas microSDXC actualizadas en la correspondiente ranura para tarjeta SD del ODROID-N2 y asegúrate de que el interruptor de palanca del ODROID-N2 esté colocado en MMC en lugar de SPI tal como se muestra en la siguiente imagen:

Figura 9: ubicación de la ranura SD y configuración del interruptor de arranque

El paso final es preparar cada uno de los nodos ODROID-N2 para el trabajo. Ten en cuenta que queremos conectar, encender y configurar cada una de las placas ODROID-N2, una por una. Conecta el extremo del adaptador de corriente a la clavija de alimentación del ODROID-N2 y conecta el otro extremo a la regleta. Del mismo modo, conecta uno de los cables Ethernet a la ranura RJ45 en el ODROID-N2 y el otro extremo al switch Ethernet tal y como se muestra en la siguiente imagen:

Figura 10: Cables Ethernet conectados al clúster

Conecta un monitor HDMI al ODROID-N2 usando HDMI y enciende la regleta. El ODROID-N2 debería tardar poco en iniciarse y tras unos segundos se apagaría por completo. Este es el comportamiento normal. Apaga la regleta y vuélvela a encenderla. En unos segundos, aparecerá el escritorio Ubuntu MATE. El usuario por defecto es odroid y la contraseña es odroid.

Cambia la contraseña por defecto por una contraseña más haciendo clic en el menú de Ubuntu de la esquina superior izquierda y seleccionando Control Center en el menú desplegable. En la pantalla resultante, haga clic en el icono de usuarios y grupos para cambiar la contraseña de usuario por defecto.

Cambia la fecha/hora/zona horaria predeterminada al valor deseado haciendo clic en el menú de Ubuntu de la esquina superior izquierda y seleccionando Control Center en el menú desplegable. En la pantalla resultante, haz clic en el icono de Hora y fecha para cambiar la fecha/hora/zona horaria.

Abra una ventana de terminal haciendo clic en la esquina superior izquierda del menú de Ubuntu y seleccionando System Tools -> MATE Terminal en el menú desplegable. En la ventana de terminal, ejecuta el siguiente comando:

$ sudo pluma /etc/ssh/sshd_config
Cambia el valor de PermitRootLogin de yes a no. Guarda los cambios y salte del editor.

Necesitamos asignar un nombre de host único para cada una de las placas ODROID-N2 en el clúster. En la misma ventana de terminal, ejecuta el siguiente comando:

$ sudo pluma /etc/hostname
Cambia el nombre del host por, digamos, my-n2-1. Guarda los cambios y salte del editor. Para cada una de las 4 tarjetas restantes, asignaremos los nombres de host desde my-n2-2 hasta my-n2-5

También necesitamos asignar una dirección IP estática a cada una de las placas ODROID-N2 en el clúster. Haga clic en el menú de Ubuntu en la esquina superior izquierda y elije Control Center en el menú desplegable. En la pantalla resultante, haz clic en el icono de Conexiones de red. Elije Wired connection 1 de la lista del menú y haz clic en el icono de edición en la esquina inferior izquierda (icono de rueda dentada). Selecciona la pestaña etiquetada con IPv4 Settings. Seleccionar el valor Manual en Method. Fija la dirección IP en, por ejemplo, 192.168.1.51, la red en 255.255.255.0 y la puerta de enlace en 192.168.1.1. Finalmente, ajusta el valor para los servidores DNS en 8.8.8.8,8.8.4.4. Guarda los cambios haciendo clic en el botón Save. Para cada una de las 4 tarjetas restantes, asignaremos las direcciones IP estáticas desde 192.168.1.52 hasta 192.168.1.55.

Por último, necesitamos realizar una actualización del sistema para asegurarnos de tener las últimas actualizaciones de software. Haga clic en el menú de Ubuntu en la esquina superior izquierda y elije Control Center en el menú desplegable. En la pantalla resultante, haz clic en el icono Software Updater para llevar a cabo la actualización del sistema.

El último paso es realizar un reinicio para que todos los cambios tengan efecto. En la ventana del terminal, ejecuta el siguiente comando:

$ reboot
Esto reiniciará de forma segura el dispositivo ODROID-N2.

Realiza los pasos anteriores para cada uno de los dispositivos ODROID-N2 restantes. Ten en cuenta que a medida que reiniciamos cada una de las tarjetas ODROID-N2 restantes, cada una recibirá una dirección IP diferente asignada. Llegados a este punto, deberíamos tener nuestro clúster ODROID-N2 listo para la acción. Para comentarios, preguntas y sugerencias, visita el artículo original en https://www.polarsparc.com/xhtml/N2-Cluster.html.

Be the first to comment

Leave a Reply