BOINC como contenedor en Proxmox 6

¡Buenos días lectores de JKANetwork!

Después de mucho tiempo, retomo mis escrituras para hablaros de algo sencillo y que puede contribuir al avance en muchas áreas de salud e investigación, y se trata de instalar BOINC en espacio y cpu libre que tengáis en vuestros servidores con Proxmox con contenedores virtuales. Por supuesto, se puede hacer en otros sistemas de virtualización como OpenVZ, o VMWare, pero considero que en Proxmox es muy fácil de realizar

¿Lo primero, que es BOINC? Para resumir, BOINC es un proyecto de computación colaborativa a gran escala en el que con el tiempo libre de miles de ordenadores, trabajan juntos para resolver proyectos interesantes para el mundo científico como curas para el Cancer, análisis de proteínas, formulas matemáticas,…. Tu decides a que proyectos quieres ayudar con el tiempo que tu ordenador no está en uso. Es compatible con Windows, Linux y Mac, y puede usarse en contenedores Docker, XEN,… Sin problemas, el límite lo pones tú.

Me parece interesante concretamente la instalación sobre Proxmox para poder aprovechar la parte libre de servidores que podáis tener a nivel casero o empresarial, ya que puedes configurarlo de forma que no repercuta, y, en el tutorial, lo vamos a instalar en el servidor que mueve JKANetwork

Primero, nos vamos al administrador de Proxmox y abrimos una terminal puesto que antes de instalar un contenedor necesitamos tener la base instalable. Vamos a hacerlo con un Debian 10, pero podría hacerse con Archlinux u otros con similares comandos. Como root ponemos
# pveam update
# pveam available
Con el segundo comando, nos devuelve una lista de bases disponibles. Nosotros en este caso nos fijamos en debian-10.0-standard_10.0-1_amd64.tar.gz

Lo descargamos a local
# pveam download local debian-10.0-standard_10.0-1_amd64.tar.gz

Una vez descargado, nos vamos arriba y pulsamos sobre «Create CT». Nosotros siempre marcamos la casilla de «Advanced». Damos los datos básicos en la primera página:

En la siguiente página, escogemos el template que acabamos de descargar

En root disk, tenemos que escoger el espacio en disco que necesitemos. Para BOINC, con 32Gb es suficiente. En mount opcions podéis escoger noatime para evitar escrituras innecesarias. Tampoco necesitamos las ACL, aunque es indistinto

Lo importante es aquí en CPU y Memory. En CPU, en mi caso le doy dos cores, pero en CPU units le damos un valor muy bajo, por ejemplo 20 (Lo estandar es 1024), para que en caso de que la CPU se utilice para cualquier otra tarea, BOINC tenga muy poca prioridad y no repercuta. Si tenéis servidores más potentes, podéis marcar más cores. En Memory, BOINC suele consumir unas 512Mb por tarea, como mínimo recomiendo poner 1Gb, aunque dependerá de vuestro servidor, cuanta más, mejor. En SWAP, yo puse 128Mb, no necesita mucha realmente

Después solo quedaría darle una IP y asignarle el DNS. Tras eso, arrancamos la máquina y nos logueamos como root y actualizamos la máquina:
# apt update && apt upgrade

Después, instalamos el cliente de BOINC (Sin la parte gráfica, que no es necesaria)
# apt install boinc-client

Este programa se puede usar por comandos, pero en nuestro caso, y para facilitar la administración, voy a instalar el cliente BOINC también en mi ordenador (En este caso Windows, desde aquí https://boinc.berkeley.edu/download.php en la opción de «Descargar BOINC»). No hace falta que tu ordenador tenga proyectos de BOINC para esto, es solo para la administración remota

Para habilitar la administración remota, hay que tocar un fichero en el contenedor, en /etc/boinc-client/cc_config.xml y añadir antes de </cc_config>

Después, ponemos una contraseña de entrada, la que queráis haciendo
# echo «contraseña» > /etc/boinc-client/gui_rpc_auth.cfg

Con ello, podemos conectarnos a BOINC con nuestro cliente abriendo el cliente dando a «Archivo» -> «Seleccionar ordenador» y poniendo la IP y clave. Después vamos a Opciones->Preferencias de computación y podemos ajustar un poco el uso de CPU por procesos. En mi caso, como manejabamos el porcentaje con las CPU units de Proxmox, puse que el máximo de uso de CPU es 100% y que no deje de trabajar cuando el ordenador esté en uso (Puesto que no va a ver que el resto está trabajando), pero podéis ajustarlo como veáis oportuno

Para cerrarlo, en vez de pulsar sobre Archivo->Cerrar cliente, primero id a seleccionar ordenador y escribid «localhost», y después podéis cerrar BOINC, sino os cerrará el cliente del contenedor y no trabajará

¡Solo os queda uniros a algún proyecto y darle rienda suelta a vuestra CPU libre! En mi caso estamos suscritos a Rosetta@home y a World Community Grid, que a mi parecer son buenos proyectos. Espero que con esto os animéis a instalar BOINC en equipos servidores con tiempo libre de CPU para ayudar entre todos a un mundo un poco mejor

Muchas gracias por leernos después de tanto tiempo! Y como siempre, cualquier duda, sugerencia o cualquier mejora posible, tenemos caja de comentarios 🙄

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *