Rsync y Parallel, copias de archivos realmente intensas

El otro día pasó a mejor vida un disco duro externo en el que generalmente hago mis respaldos automáticos. Mientras que consigo otro decidí hacer las copias en una carpeta privada en la computadora que funciona como NAS.

rsync parallel
Divide y vencerás.

La cantidad de datos es importante, estoy hablando de unos cientos de gigabytes y la primer copia puede durar varias horas.

Rsync y Parallel

Buscando en internet me topé con este script llamado rsync_parallel que me resultó muy interesante.

Divide y vencerás

Tiene un enfoque muy interesante, primero obtiene una lista completa de los archivos que se van a copiar y luego divide esa lista en varios archivos de una forma equilibrada.

El total de archivos corresponde al número de procesos concurrentes que queremos trabajar, por default es 10 pero se puede cambiar con un parámetro.

Una vez que tenemos nuestras listas el programa parallel inicia la copia de los archivos con rsync y le entrega una lista de los archivos a cada proceso que se ejecuta simultaneamente.

El problema es el ancho de banda.

Gráfica del tráfico por hora

El problema es que ahora tengo 10 procesos peleándose el ancho de banda, que lamentablemente es poco en mi caso. Supongo que una copia con una buena velocidad o de un disco duro a otro la copia de archivos volaría.

También pueden notar que el equipo se puede comportar un poco lento, eso depende de los recursos de su computadora. Eso se debe al uso intensivo del disco duro durante la copia de los archivos.

El uso de parallel es interesante, actualmente estoy jugando con el número de procesos a ejecutar. Si utilizo pocos, más o menos sería lo mismo que ejecutar un rsync simple. Si uso muchos, los pedazos serán más pequeños, pero el uso del disco será mayor.

copiando ando | rsync parallel
Copiando ando …

Les paso el dato por si algún día se les ofrece hacer una copia masiva de archivos.

Enlaces

2 comentarios en “Rsync y Parallel, copias de archivos realmente intensas”

  1. Se ve interesante, sin enbargo veo un problema adicional al ancho de banda. cuantos procesos pueden correr bien antes que el disco empiece a hacer trashing? es decir hasta cuantos procesos podemos correr en paralelo antes de que el disco pase mas tiempo posicionando las cabezas que escribiendo datos.

    Si tienes un arreglo de discos con buen cache, puede que el efecto sea minimo, pero si es escritura a un disco “tonto” o sea un solo disco, es probable que con 3 o 4 procesos en paralelo el disco o mejor dicho, los discos, ya hagan trashing…

    Saludosludos

    Responder
  2. Hice algunas pruebas y el truco esta en el número de procesos, si especifico 20 empiezo a notar una aumento considerable en el disco duro, si indico 5 la actividad es mucho menor. Vamos que es ajustable 🙂

    Responder

¡Me encantaría saber que opinas!

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.