{"id":1130,"date":"2020-03-10T11:21:03","date_gmt":"2020-03-10T09:21:03","guid":{"rendered":"https:\/\/blog.jkanetwork.com\/?p=1130"},"modified":"2020-03-10T11:21:21","modified_gmt":"2020-03-10T09:21:21","slug":"boinc-como-contenedor-en-proxmox-6","status":"publish","type":"post","link":"https:\/\/blog.jkanetwork.com\/?p=1130","title":{"rendered":"BOINC como contenedor en Proxmox 6"},"content":{"rendered":"\n<p>\u00a1Buenos d\u00edas lectores de JKANetwork!<\/p>\n\n\n\n<p>Despu\u00e9s de mucho tiempo, retomo mis escrituras para hablaros de algo sencillo y que puede contribuir al avance en muchas \u00e1reas de salud e investigaci\u00f3n, y se trata de instalar BOINC en espacio y cpu libre que teng\u00e1is en vuestros servidores con Proxmox con contenedores virtuales. Por supuesto, se puede hacer en otros sistemas de virtualizaci\u00f3n como OpenVZ, o VMWare, pero considero que en Proxmox es muy f\u00e1cil de realizar<\/p>\n\n\n\n<p>\u00bfLo primero, que es <a rel=\"noreferrer noopener\" aria-label=\"BOINC (se abre en una nueva pesta\u00f1a)\" href=\"https:\/\/boinc.berkeley.edu\" target=\"_blank\">BOINC<\/a>? Para resumir, BOINC es un proyecto de computaci\u00f3n 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\u00edfico como curas para el Cancer, an\u00e1lisis de prote\u00ednas, formulas matem\u00e1ticas,&#8230;. Tu decides a que proyectos quieres ayudar con el tiempo que tu ordenador no est\u00e1 en uso. Es compatible con Windows, Linux y Mac, y puede usarse en contenedores Docker, XEN,&#8230; Sin problemas, el l\u00edmite lo pones t\u00fa.<\/p>\n\n\n\n<p>Me parece interesante concretamente la instalaci\u00f3n sobre Proxmox para poder aprovechar la parte libre de servidores que pod\u00e1is 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<\/p>\n\n\n\n<p>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\u00eda hacerse con Archlinux u otros con similares comandos. Como root ponemos<br># pveam update<br># pveam available<br>Con el segundo comando, nos devuelve una lista de bases disponibles. Nosotros en este caso nos fijamos en <em>debian-10.0-standard_10.0-1_amd64.tar.gz<\/em><br><br>Lo descargamos a local<br># pveam download local debian-10.0-standard_10.0-1_amd64.tar.gz<\/p>\n\n\n\n<p>Una vez descargado, nos vamos arriba y pulsamos sobre \u00abCreate CT\u00bb. Nosotros siempre marcamos la casilla de \u00abAdvanced\u00bb. Damos los datos b\u00e1sicos en la primera p\u00e1gina:<br><\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"705\" height=\"509\" src=\"https:\/\/blog.jkanetwork.com\/wp-content\/uploads\/2020\/03\/image.png\" alt=\"\" class=\"wp-image-1132\" srcset=\"https:\/\/blog.jkanetwork.com\/wp-content\/uploads\/2020\/03\/image.png 705w, https:\/\/blog.jkanetwork.com\/wp-content\/uploads\/2020\/03\/image-300x217.png 300w\" sizes=\"auto, (max-width: 705px) 100vw, 705px\" \/><\/figure>\n\n\n\n<p>En la siguiente p\u00e1gina, escogemos el template que acabamos de descargar<\/p>\n\n\n\n<p>En root disk, tenemos que escoger el espacio en disco que necesitemos. Para BOINC, con 32Gb es suficiente. En mount opcions pod\u00e9is escoger noatime para evitar escrituras innecesarias. Tampoco necesitamos las ACL, aunque es indistinto<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"702\" height=\"224\" src=\"https:\/\/blog.jkanetwork.com\/wp-content\/uploads\/2020\/03\/image-2.png\" alt=\"\" class=\"wp-image-1134\" srcset=\"https:\/\/blog.jkanetwork.com\/wp-content\/uploads\/2020\/03\/image-2.png 702w, https:\/\/blog.jkanetwork.com\/wp-content\/uploads\/2020\/03\/image-2-300x96.png 300w\" sizes=\"auto, (max-width: 702px) 100vw, 702px\" \/><\/figure>\n\n\n\n<p>Lo importante es aqu\u00ed 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\u00e9is servidores m\u00e1s potentes, pod\u00e9is marcar m\u00e1s cores. En Memory, BOINC suele consumir unas 512Mb por tarea, como m\u00ednimo recomiendo poner 1Gb, aunque depender\u00e1 de vuestro servidor, cuanta m\u00e1s, mejor. En SWAP, yo puse 128Mb, no necesita mucha realmente<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"699\" height=\"326\" src=\"https:\/\/blog.jkanetwork.com\/wp-content\/uploads\/2020\/03\/image-3.png\" alt=\"\" class=\"wp-image-1135\" srcset=\"https:\/\/blog.jkanetwork.com\/wp-content\/uploads\/2020\/03\/image-3.png 699w, https:\/\/blog.jkanetwork.com\/wp-content\/uploads\/2020\/03\/image-3-300x140.png 300w\" sizes=\"auto, (max-width: 699px) 100vw, 699px\" \/><\/figure>\n\n\n\n<p>Despu\u00e9s solo quedar\u00eda darle una IP y asignarle el DNS. Tras eso, arrancamos la m\u00e1quina y nos logueamos como root y actualizamos la m\u00e1quina:<br># apt update &amp;&amp; apt upgrade<\/p>\n\n\n\n<p>Despu\u00e9s, instalamos el cliente de BOINC (Sin la parte gr\u00e1fica, que no es necesaria)<br># apt install boinc-client<\/p>\n\n\n\n<p>Este programa se puede usar por comandos, pero en nuestro caso, y para facilitar la administraci\u00f3n, voy a instalar el cliente BOINC tambi\u00e9n en mi ordenador (En este caso Windows, desde aqu\u00ed https:\/\/boinc.berkeley.edu\/download.php en la opci\u00f3n de \u00abDescargar BOINC\u00bb). No hace falta que tu ordenador tenga proyectos de BOINC para esto, es solo para la administraci\u00f3n remota<\/p>\n\n\n\n<p>Para habilitar la administraci\u00f3n remota, hay que tocar un fichero en el contenedor, en \/etc\/boinc-client\/cc_config.xml y a\u00f1adir antes de &lt;\/cc_config&gt;<br><\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"689\" height=\"320\" src=\"https:\/\/blog.jkanetwork.com\/wp-content\/uploads\/2020\/03\/image-4.png\" alt=\"\" class=\"wp-image-1137\" srcset=\"https:\/\/blog.jkanetwork.com\/wp-content\/uploads\/2020\/03\/image-4.png 689w, https:\/\/blog.jkanetwork.com\/wp-content\/uploads\/2020\/03\/image-4-300x139.png 300w\" sizes=\"auto, (max-width: 689px) 100vw, 689px\" \/><\/figure>\n\n\n\n<p>Despu\u00e9s, ponemos una contrase\u00f1a de entrada, la que quer\u00e1is haciendo <br># echo \u00abcontrase\u00f1a\u00bb &gt; \/etc\/boinc-client\/gui_rpc_auth.cfg<br><br>Con ello, podemos conectarnos a BOINC con nuestro cliente abriendo el cliente dando a \u00abArchivo\u00bb -&gt; \u00abSeleccionar ordenador\u00bb y poniendo la IP y clave. Despu\u00e9s vamos a Opciones-&gt;Preferencias de computaci\u00f3n 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\u00e1ximo de uso de CPU es 100% y que no deje de trabajar cuando el ordenador est\u00e9 en uso (Puesto que no va a ver que el resto est\u00e1 trabajando), pero pod\u00e9is ajustarlo como ve\u00e1is oportuno<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"632\" height=\"635\" src=\"https:\/\/blog.jkanetwork.com\/wp-content\/uploads\/2020\/03\/image-5.png\" alt=\"\" class=\"wp-image-1138\" srcset=\"https:\/\/blog.jkanetwork.com\/wp-content\/uploads\/2020\/03\/image-5.png 632w, https:\/\/blog.jkanetwork.com\/wp-content\/uploads\/2020\/03\/image-5-300x300.png 300w, https:\/\/blog.jkanetwork.com\/wp-content\/uploads\/2020\/03\/image-5-150x150.png 150w, https:\/\/blog.jkanetwork.com\/wp-content\/uploads\/2020\/03\/image-5-60x60.png 60w\" sizes=\"auto, (max-width: 632px) 100vw, 632px\" \/><\/figure>\n\n\n\n<p>Para cerrarlo, en vez de pulsar sobre Archivo-&gt;Cerrar cliente, primero id a seleccionar ordenador y escribid \u00ablocalhost\u00bb, y despu\u00e9s pod\u00e9is cerrar BOINC, sino os cerrar\u00e1 el cliente del contenedor y no trabajar\u00e1<\/p>\n\n\n\n<p>\u00a1Solo os queda uniros a alg\u00fan 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\u00e9is a instalar BOINC en equipos servidores con tiempo libre de CPU para ayudar entre todos a un mundo un poco mejor<\/p>\n\n\n\n<p>Muchas gracias por leernos despu\u00e9s de tanto tiempo! Y como siempre, cualquier duda, sugerencia o cualquier mejora posible, tenemos caja de comentarios \ud83d\ude44<\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u00a1Buenos d\u00edas lectores de JKANetwork! Despu\u00e9s de mucho tiempo, retomo mis escrituras para hablaros de algo sencillo y que puede contribuir al avance en muchas \u00e1reas de salud e investigaci\u00f3n, y se trata de instalar BOINC en espacio y cpu libre que teng\u00e1is en vuestros servidores con Proxmox con contenedores virtuales. Por supuesto, se puede [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[3,6],"tags":[],"class_list":["post-1130","post","type-post","status-publish","format-standard","hentry","category-informatica","category-tutoriales"],"_links":{"self":[{"href":"https:\/\/blog.jkanetwork.com\/index.php?rest_route=\/wp\/v2\/posts\/1130","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blog.jkanetwork.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.jkanetwork.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.jkanetwork.com\/index.php?rest_route=\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.jkanetwork.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=1130"}],"version-history":[{"count":4,"href":"https:\/\/blog.jkanetwork.com\/index.php?rest_route=\/wp\/v2\/posts\/1130\/revisions"}],"predecessor-version":[{"id":1140,"href":"https:\/\/blog.jkanetwork.com\/index.php?rest_route=\/wp\/v2\/posts\/1130\/revisions\/1140"}],"wp:attachment":[{"href":"https:\/\/blog.jkanetwork.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=1130"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.jkanetwork.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=1130"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.jkanetwork.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=1130"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}