[CentOS-es] Optimizar el proceso "building file list" de Rsync
Santi Saez
santisaez en woop.es
Jue Mayo 6 12:29:37 UTC 2010
El 04/05/10 19:58, "Ing. Ernesto Pérez Estévez" escribió:
>> El problema de este escenario es que rsync se tira entre 15 y 20 minutos
>> construyendo el listado de ficheros a sincronizar (proceso "building
>> file list"), un tiempo que me gustaría reducir al máximo posible
(..)
> Hola Santi
>
> técnicamente la primera ejecución SÍ de demorará pero la segunda ya debe
> ser muy rápida.
Hola Ernesto!
En todas las ejecuciones el tiempo necesario para construir el listado
de ficheros a sincronizar es prácticamente el mismo, unos 15-20 minutos
aprox; Lógicamente la primera ejecución debe mover el grueso de los
datos = varias horas, en la segunda pasada de rsync se moverán muy pocos
datos y será mucho más rápido = tiempo prácticamente despreciable.
Pero en ambos casos, el tiempo necesario para construir el listado de
ficheros es el mismo. Por eso comento que, lo interesante para este tipo
de escenarios es hacer uso de FAM, inotify, kqueue, etc. para tener un
listado de la información que ha cambiado entre las 2 ejecuciones de
rsyncs, evitando realizar el calculo con todos los ficheros, esto es lo
realmente interesante :)
> Ahora, otra variante sería que uses drbd quizá con ocfs2 o con gfs2 en
> activo-activo.. o como creas más conveniente!.
Cualquier solución NAS, SAN o DRBD como comentas queda descartada: lo
estamos utilizando para migrar virtuales basados en OpenVZ entre 2
cabinas diferentes; además el contenido a migrar no se corresponde con
una partición completa, volumen, etc. tan solo es parte de la estructura
de un directorio (por eso las soluciones que comentas están descartadas).
He podido "rascar" algunos minutos a dicho proceso compilando la última
versión de rsync (v3.0.7), cambiando el cifrado de SSH por uno mas
ligero -blowfish- (se hace rsync sobre SSH, por si no lo había
comentado) y quitando las opciones de verbose, estadísticas, etc.. del
propio rsync; En cualquier caso, sigue siendo necesario cerca de ~15
mins para generar el listado :-(
Voy a echarle un ojo a la alternativa Unison, aunque estoy casi seguro
que pecará de lo mismo.. al final tendré que jugar con las opciones de
suspender/reanudar de la virtualización + inotify :)
En cualquier caso, cualquier sugerencia será muy bien recibida, gracias!
Saludos,
--
Santi Saez
http://woop.es
Más información sobre la lista de distribución CentOS-es