<div dir="ltr">Para lanzar el ctorrent como seeder hemos hecho un procedimiento que se compone de un único shell script, ahora modificado gracias a ti, muy similar al contenido del rc.local:<div><br></div><div><table border="0" cellspacing="0" cellpadding="0" style="border-bottom:1px solid rgb(0,0,0)"><tbody><tr height="16px"><td width="1024px" class="gmail-tabla_listados_sin" style="background-color:rgb(238,238,204);color:rgb(0,0,0);font-family:Arial,Helvetica,sans-serif;font-size:11px"><a href="https://147.83.79.251/opengnsys/varios/informacion_acciones.php?idtipoaccion=68&descripcionaccion=ACTIVAR%20TORRENT&tipoaccion=33#nodo" class="gmail-tabla_listados_sin" style="color:rgb(0,0,0);font-family:sans-serif;text-decoration-line:none"><span id="gmail-"><br class="gmail-Apple-interchange-newline">Código script:<b><pre>#!/bin/bash
cd /opt/opengnsys/cache/opt/opengnsys/images/
for i in `/bin/ls /opt/opengnsys/cache/opt/opengnsys/images/*.torrent`; do /usr/bin/ctorrent -e -1 -f -d $i; done
exit 0</pre></b></span></a></td></tr></tbody></table><div><br></div><div>de manera que cuando necesito tener mas seeders los puedo ir añadiendo encendiendo equipos en modo OGClient y ejecutándoles el procedimiento. Así, como ejemplo de despliegue de una imagen nueva lo que podemos hacer es hacer el deploy en un aula pequeña pero rápida y una vez han acabado, ejecutar el procedimiento en ese ámbito, incrementando el número de seeders de forma sencilla para seguir haciendo el deploy en el resto de aulas.</div><div><br></div><div>Sobre el segundo punto, tomo nota por si se nos reproduciera mucho el error para parchear el ctorrent. De momento desde el cambio del bittornado por el ctorrent creo que solo nos han petado 3 descargas de un total de varios centenares por lo que no nos preocupa en absoluto. Una cosa que creo que seria bastante positiva si no fuera costosa seria incorporar ese ctorrent parcheado a los OGLive del proyecto.</div><div><br></div><div>Saludos y gracias,</div><div>Pep.<br clear="all"><div><div dir="ltr" class="gmail_signature" data-smartmail="gmail_signature"><div dir="ltr"><div><div dir="ltr"><pre cols="80">--
O O O Universitat Politecnica de Catalunya
O O O BarcelonaTECH
O O O ------------------------------------
U P C Facultat de Matematiques i Estadistica
Pau Gargallo, 14 - 08028 Barcelona
Pep Ciuraneta Sanchez
Serveis TIC
<a href="mailto:josep.ciuraneta@upc.edu" target="_blank">josep.ciuraneta@upc.edu</a>
Tel. 934015853
AVIS DE CONFIDENCIALITAT:
Aquest missatge pot contenir informacio confidencial o legalment protegida i esta exclusivament adrecat a la persona o entitat destinataria. Si no sou el destinatari final o persona encarregada de recollir-lo, no esteu autoritzat a llegir-lo, retenir-lo, modificar-lo, distribuir-lo, copiar-lo ni a revelar el seu contingut. Si heu rebut aquest missatge per error, us preguem que informeu al remitent i elimineu del vostre sistema el missatge i el material annex que pugui contenir. Gracies per la vostra col.laboracio.
Abans d'imprimir aquest correu, penseu si es necessari.</pre></div></div></div></div></div><br></div></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">Missatge de Miguel Sánchez Sánchez <<a href="mailto:msanchez@fi.upm.es">msanchez@fi.upm.es</a>> del dia dl., 12 de jul. 2021 a les 12:39:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
<div>
Hola Pep. Comento entre líneas.<br>
<br>
<div>Pep Ciuraneta Sanchez escribió el
12/7/21 a las 12:18:<br>
</div>
<blockquote type="cite">
<div dir="ltr">Hola Miguel,
<div><br>
</div>
<div>Gracias por indicarme la opcion -f del ctorrent. Lo acabo
de añadir en todos los scripts. :)</div>
<div><br>
</div>
<div>No entiendo lo que comentas sobre el asistente de deploy de
imagenes. Yo lo he estado usando en las pruebas y funciona
perfecto. Quiza no estamos hablando de lo mismo.</div>
</div>
</blockquote>
Me refería a lanzar el semillero desde un ogLive. Aunque ahora mismo
tampoco estoy seguro de que el engine de las librerías del ogLive no
detecte la imagen en caché adecuadamente y no tenga que volver a
descargarse la imagen en concreto cuando lanzas los semilleros desde
el asistente.<br>
<blockquote type="cite">
<div dir="ltr">
<div><br>
</div>
<div>Sobre los errores del ctorrent por entrar en modo EndGame
no nos ha pasado en multiples pruebas de descarga. Unicamente
se me han producido algun error, minimo, al inicio de la
descarga, que supongo debe ser el otro que comentas, con
parche existente.</div>
</div>
</blockquote>
Sí, me refería a ese error inicial. Yo incorporé el parche y en las
pruebas no volvió a surgir el error de segmentation fault. En
nuestro caso, tampoco era desdeñable el porcentaje de equipos que
fallaban con ese error.<br>
Pero dependía mucho de la situación de inició de la descarga. Me
explico, el semillero de Bittornado o Bittorrent se conecta al
tracker por defecto cada 5 minutos (parámetro rerequest_interval)
para anunciarse y volver a aparecer en él. Si los clientes esperan
varios minutos porque el semillero no aparece en el tracker, inician
la descarga al unísono cuando llega a aparece y ante la llamada al
modo endgame (o initial, no sé) inicial, un porcentaje de ellos
(hasta cerca de la mitad en algún caso) falla. Se puede reducir la
incidencia bajando el intervalo del parámetro.<br>
En tu caso, que utilizas como semillero a ctorrent, supongo que no
es tan común.<br>
<blockquote type="cite">
<div dir="ltr">
<div><br>
</div>
<div>Gracias de nuevo y si quieres que probemos algo solo tienes
que decirlo.</div>
</div>
</blockquote>
Igualmente, Pep.<br>
<blockquote type="cite">
<div dir="ltr">
<div><br>
</div>
<div>Saludos, </div>
<div>Pep.<br clear="all">
<div>
<div dir="ltr">
<div dir="ltr">
<div>
<div dir="ltr">
<pre cols="80">--
O O O Universitat Politecnica de Catalunya
O O O BarcelonaTECH
O O O ------------------------------------
U P C Facultat de Matematiques i Estadistica
Pau Gargallo, 14 - 08028 Barcelona
Pep Ciuraneta Sanchez
Serveis TIC
<a href="mailto:josep.ciuraneta@upc.edu" target="_blank">josep.ciuraneta@upc.edu</a>
Tel. 934015853
AVIS DE CONFIDENCIALITAT:
Aquest missatge pot contenir informacio confidencial o legalment protegida i esta exclusivament adrecat a la persona o entitat destinataria. Si no sou el destinatari final o persona encarregada de recollir-lo, no esteu autoritzat a llegir-lo, retenir-lo, modificar-lo, distribuir-lo, copiar-lo ni a revelar el seu contingut. Si heu rebut aquest missatge per error, us preguem que informeu al remitent i elimineu del vostre sistema el missatge i el material annex que pugui contenir. Gracies per la vostra col.laboracio.
Abans d'imprimir aquest correu, penseu si es necessari.</pre>
</div>
</div>
</div>
</div>
</div>
<br>
</div>
</div>
<br>
<div class="gmail_quote">
<div dir="ltr" class="gmail_attr">Missatge de Miguel Sánchez
Sánchez <<a href="mailto:msanchez@fi.upm.es" target="_blank">msanchez@fi.upm.es</a>> del dia
dl., 12 de jul. 2021 a les 10:26:<br>
</div>
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
<div> Hola Pep. Sí, la verdad es que los problemas de
segmentation fault nos empezaron a surgir ya en la versión
1.0.6 y entonces optamos por la solución que tú comentas.
Por cierto, la función ogTorrentStart lanza ctorrent con la
opción -f. Creía que era para evitar el chequeo inicial de
la imagen.<br>
La verdad es que optimiza el uso de la red al máximo, pero
tiene la pega de no poder utilizar el asistente de deploy de
imágenes.<br>
Aunque el despliegue de semilleros que utilizamos en su día
era sencillo, utilizando algunos ogLIve como la imagen ya en
la caché:<br>
IMG=<fichero de imagen><br>
IMGDIR=$(ogGetParentPath CACHE /$IMG)<br>
ogCopyFile REPO $IMG.torrent $IMGDIR<br>
ogTorrentStart CACHE $IMG.torrent seeder:<tiempo en
segundos><br>
<br>
En cuanto a los problemas de segmentation fault y abortos de
ctorrent, después de ponerlo en debug, he podido ver que en
ambos casos están relacionados con la entrada en el modo
EndGame de BitTorrent. Ese modo se utiliza sobre todo al
finalizar las descargas, preguntando a todos los peers por
las partes que le faltan a un cliente, y cancelando las
respuestas a peticiones repetidas. Lamentablemente, ctorrent
no gestiona bien esas cancelaciones y termina cometiendo
errores como la creación de arrays de longitud negativa.<br>
Para el problema del segmentation fault, que se da al poco
de comenzar las sesiones de descarga, creo que tienen un
sencillo parche en <a href="https://sourceforge.net/p/dtorrent/patches/6/" target="_blank">https://sourceforge.net/p/dtorrent/patches/6/</a>
que lo solventa.<br>
Pero solucionar el bug del error final
std::bad_array_new_length creo que me supera, por lo que he
optado por el camino de en medio, evitando que ctorrent
entre en modo endgame. Tiene el inconveniente de que la
localización de las partes finales de una descarga tardan
algo más.<br>
Lo curioso de este último error es que sólo se da, como
comentaba, si los clientes llegan parejos al final en las
partes descargadas. Este sólo es el caso cuando la velocidad
para servir disco del semillero es menor que la velocidad de
la red, de tal manera que los clientes terminan convergiendo
entre ellos aunque arranquen después de un tiempo aleatorio<br>
<br>
Tras regenerar el paquete deb de ctorrent luego sólo hay que
instalarlo en el sistema de ficheros squashfs de
ogclient.sqfs, para que luego lo cargue el ogLive.<br>
<br>
Bueno, al final creo me ha salido también otro ladrillo.<br>
Saludos.<br>
<br>
<div>Pep Ciuraneta Sanchez escribió el 9/7/21 a las 18:21:<br>
</div>
<blockquote type="cite">
<div dir="ltr">Hola Miguel,
<div><br>
</div>
<div>Te explico, nosotros empezamos haciendo pruebas con
1.2.0 para ver si solucionabamos unos problemas con el
torrent (no aprovechamiento del ancho de banda, falta
de fiabilidad con muchos errores segmentation fault en
clientes) y al ver que con 1.2.0 nos pasaba lo mismo
hemos cambiado el programa que se encarga de hacer el
seed. Seguimos con 1.1.0 de momento. Esto lo hemos
hecho tras hacer pruebas esta misma semana.</div>
<div><br>
</div>
<div>En lugar de usar el bittornado hemos optado por
lanzar un ctorrent por cada fichero torrent. Esto
tiene su inconveniente, pero desde entonces el ancho
de banda se aprovecha algo mejor y los errores se han
minimizado muchísimo. De momento lo vamos a dejar así.
En concreto lo lanzamos así para cada fichero
(simplificado)</div>
<div><br>
</div>
<div># cd /opt/opengnsys/images</div>
<div># ctorrent -e -1 -d nombre_fichero_img.torrent</div>
<div><br>
</div>
<div>Yo creo que esto es extrapolable a la versión
1.2.0. El hecho de usar ctorrent en lugar de
bittornado funciona bastante mejor, pero tiene la pega
que cada vez que se inicia se comprueba el fichero a
compartir y eso puede ser costoso en tiempo y depende
de la velocidad acceso de disco.</div>
<div><br>
</div>
<div>Hemos aprovechado este final de curso para hacer
multiples pruebas y el poder aprovechar la red a 1Gbps
da bastante alegria.</div>
<div><br>
</div>
<div>Consejos para subir la velocidad en descarga por
torrent:</div>
<div><br>
</div>
<div>1.- si es posible, tener los ficheros imagen en
disco SSD</div>
<div>2.- tener algun seeder extra. No hace falta que sea
un REPO, simplemente una máquina de backup donde tener
los ficheros imagen y los torrent.</div>
<div>3.- si los equipos destino tienen disco SSD
comprobar que las particiones esten alineadas. Esto es
muy importante.</div>
<div>4.- Realizar un procedimiento para hacer que las
aulas o equipos que tengan la imagen puedan hacer de
seeders. Basicamente es lanzar un ctorrent y esperar
al chequeo de cada imagen, pero esto ayuda mucho a
subir la velocidad de descarga. Esto equivale a
multiplicar el consejo 2 por el numero de máquinas en
las que se ejecute el procedimiento. Por ejemplo, se
puede descargar primero en el aula donde sea más
rapido el despliegue y luego añadir sus equipos como
seeders para acelerar al resto.</div>
<div>5.- Tener REPOS repartidos por diferentes tramos de
la red. Esto depende de la infraestructura de cada
uno.</div>
<div><br>
</div>
<div>Miguel, Perdona el ladrillo, al final me ha salido
algo largo. En resumen, prueba de cambiar el
bittornado por un script que te lance los ctorrent (en
el mismo rc.local) y a ver que tal. </div>
<div><br>
</div>
<div>Saludos,</div>
<div>Pep.</div>
<div>
<div>
<div dir="ltr">
<div dir="ltr">
<div>
<div dir="ltr">
<pre cols="80">--
O O O Universitat Politecnica de Catalunya
O O O BarcelonaTECH
O O O ------------------------------------
U P C Facultat de Matematiques i Estadistica
Pau Gargallo, 14 - 08028 Barcelona
Pep Ciuraneta Sanchez
Serveis TIC
<a href="mailto:josep.ciuraneta@upc.edu" target="_blank">josep.ciuraneta@upc.edu</a>
Tel. 934015853
AVIS DE CONFIDENCIALITAT:
Aquest missatge pot contenir informacio confidencial o legalment protegida i esta exclusivament adrecat a la persona o entitat destinataria. Si no sou el destinatari final o persona encarregada de recollir-lo, no esteu autoritzat a llegir-lo, retenir-lo, modificar-lo, distribuir-lo, copiar-lo ni a revelar el seu contingut. Si heu rebut aquest missatge per error, us preguem que informeu al remitent i elimineu del vostre sistema el missatge i el material annex que pugui contenir. Gracies per la vostra col.laboracio.
Abans d'imprimir aquest correu, penseu si es necessari.</pre>
</div>
</div>
</div>
</div>
</div>
<br>
</div>
</div>
<br>
<div class="gmail_quote">
<div dir="ltr" class="gmail_attr">Missatge de Miguel
Sánchez Sánchez <<a href="mailto:msanchez@fi.upm.es" target="_blank">msanchez@fi.upm.es</a>>
del dia dv., 9 de jul. 2021 a les 12:39:<br>
</div>
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">Buenas. Me estoy
encontrando con que un porcentaje de ogLive, cuando
van <br>
a acabar la descarga de una imagen, ctorrent aborta
con error <br>
std::bad_array_new_length.<br>
Todos los clientes torrent van más o menos igual en la
descarga, pues <br>
acaban bien o fallan al alimón, pues el semillero en
el servidor parece <br>
que no supera los 50Mbit por conexión, y aunque
empiezan la descarga <br>
aleatoriamente van convergiendo. Abortan con un número
pequeño de partes <br>
por completar, menos de 20.<br>
<br>
No estoy seguro si está relacionado con algún
parámetro del semillero en <br>
el servidor, pues hasta ahora nuestro servidor de
OpenGnsys estaba un <br>
poco escaso de recursos y el problema parece que
desaparecía cuando se <br>
limitaban en el semillero el número de peers que se
podían conectar. <br>
Pero hemos cambiado a versión 1.2.0 en un nuevo
servidor y el problema <br>
persiste.<br>
El semillero que estamos utilizando actualmente es <br>
btlaunchmany.bittorrent, por aquello de que utiliza un
thread por imagen <br>
servida. Pero creo recordar que con
btlaunchmany.bittornado los errores <br>
también se producían.<br>
<br>
¿Os habéis encontrado alguno con este problema? ¿Cómo
lo habéis solventado?<br>
<br>
Saludos.<br>
_______________________________________________<br>
Opengnsys-users mailing list<br>
<a href="mailto:Opengnsys-users@listas.unizar.es" target="_blank">Opengnsys-users@listas.unizar.es</a><br>
<a href="https://listas.unizar.es/cgi-bin/mailman/listinfo/opengnsys-users" rel="noreferrer" target="_blank">https://listas.unizar.es/cgi-bin/mailman/listinfo/opengnsys-users</a><br>
----------<br>
INFORMACIÓN SOBRE PROTECCIÓN DE DATOS DE CARÁCTER
PERSONAL<br>
<br>
Ud. recibe este correo por pertenecer a una lista de
correo gestionada por la Universidad de Zaragoza.<br>
Puede encontrar toda la información sobre como
tratamos sus datos en el siguiente enlace: <a href="https://sicuz.unizar.es/informacion-sobre-proteccion-de-datos-de-caracter-personal-en-listas" rel="noreferrer" target="_blank">https://sicuz.unizar.es/informacion-sobre-proteccion-de-datos-de-caracter-personal-en-listas</a><br>
Recuerde que si está suscrito a una lista voluntaria
Ud. puede darse de baja desde la propia aplicación en
el momento en que lo desee.<br>
<a href="http://listas.unizar.es" rel="noreferrer" target="_blank">http://listas.unizar.es</a><br>
----------<br>
</blockquote>
</div>
<br>
<fieldset></fieldset>
<pre>_______________________________________________
Opengnsys-users mailing list
<a href="mailto:Opengnsys-users@listas.unizar.es" target="_blank">Opengnsys-users@listas.unizar.es</a>
<a href="https://listas.unizar.es/cgi-bin/mailman/listinfo/opengnsys-users" target="_blank">https://listas.unizar.es/cgi-bin/mailman/listinfo/opengnsys-users</a>
----------
INFORMACIÓN SOBRE PROTECCIÓN DE DATOS DE CARÁCTER PERSONAL
Ud. recibe este correo por pertenecer a una lista de correo gestionada por la Universidad de Zaragoza.
Puede encontrar toda la información sobre como tratamos sus datos en el siguiente enlace: <a href="https://sicuz.unizar.es/informacion-sobre-proteccion-de-datos-de-caracter-personal-en-listas" target="_blank">https://sicuz.unizar.es/informacion-sobre-proteccion-de-datos-de-caracter-personal-en-listas</a>
Recuerde que si está suscrito a una lista voluntaria Ud. puede darse de baja desde la propia aplicación en el momento en que lo desee.
<a href="http://listas.unizar.es" target="_blank">http://listas.unizar.es</a>
----------
</pre>
</blockquote>
<br>
</div>
_______________________________________________<br>
Opengnsys-users mailing list<br>
<a href="mailto:Opengnsys-users@listas.unizar.es" target="_blank">Opengnsys-users@listas.unizar.es</a><br>
<a href="https://listas.unizar.es/cgi-bin/mailman/listinfo/opengnsys-users" rel="noreferrer" target="_blank">https://listas.unizar.es/cgi-bin/mailman/listinfo/opengnsys-users</a><br>
----------<br>
INFORMACIÓN SOBRE PROTECCIÓN DE DATOS DE CARÁCTER PERSONAL<br>
<br>
Ud. recibe este correo por pertenecer a una lista de correo
gestionada por la Universidad de Zaragoza.<br>
Puede encontrar toda la información sobre como tratamos sus
datos en el siguiente enlace: <a href="https://sicuz.unizar.es/informacion-sobre-proteccion-de-datos-de-caracter-personal-en-listas" rel="noreferrer" target="_blank">https://sicuz.unizar.es/informacion-sobre-proteccion-de-datos-de-caracter-personal-en-listas</a><br>
Recuerde que si está suscrito a una lista voluntaria Ud. puede
darse de baja desde la propia aplicación en el momento en que
lo desee.<br>
<a href="http://listas.unizar.es" rel="noreferrer" target="_blank">http://listas.unizar.es</a><br>
----------<br>
</blockquote>
</div>
<br>
<fieldset></fieldset>
<pre>_______________________________________________
Opengnsys-users mailing list
<a href="mailto:Opengnsys-users@listas.unizar.es" target="_blank">Opengnsys-users@listas.unizar.es</a>
<a href="https://listas.unizar.es/cgi-bin/mailman/listinfo/opengnsys-users" target="_blank">https://listas.unizar.es/cgi-bin/mailman/listinfo/opengnsys-users</a>
----------
INFORMACIÓN SOBRE PROTECCIÓN DE DATOS DE CARÁCTER PERSONAL
Ud. recibe este correo por pertenecer a una lista de correo gestionada por la Universidad de Zaragoza.
Puede encontrar toda la información sobre como tratamos sus datos en el siguiente enlace: <a href="https://sicuz.unizar.es/informacion-sobre-proteccion-de-datos-de-caracter-personal-en-listas" target="_blank">https://sicuz.unizar.es/informacion-sobre-proteccion-de-datos-de-caracter-personal-en-listas</a>
Recuerde que si está suscrito a una lista voluntaria Ud. puede darse de baja desde la propia aplicación en el momento en que lo desee.
<a href="http://listas.unizar.es" target="_blank">http://listas.unizar.es</a>
----------
</pre>
</blockquote>
<br>
</div>
</blockquote></div>