5 votos

Cómo copiar grandes (> 1 millones) número de archivos pequeños entre dos servidores

Necesito migrar alrededor de 1 tb de datos compuesta de archivos más pequeños (la mayoría menores de 100KB) a otro servidor. No he incluso completamente enumeran los archivos, pero se calcula que son entre 1 y 2 millones de euros.

La copia inicial utilizando SCP tomó más de una semana. Ahora tenemos que sincronizar los cambios. Cientos de miles de archivos se añaden a diario.

He attemped usando rsync (v3), pero se está tomando demasiado tiempo. En el momento en que termine, vamos a volver a tener los datos de sincronización de nuevo.

He visto preguntas similares, pero aquí son un poco más mayores y pregunto si hay nuevas herramientas para ayudar con este proceso.

Los problemas son más complicados por la fuente de datos que se comparten un sistema iSCSI con el pobre rendimiento de la lectura.

La última estrategia puede ser la de volver a realizar la migración de datos y pida a los desarrolladores escribir una herramienta para el registro de todos los archivos nuevos que se agregan durante el proceso de migración. La estructura de directorios, claves de un identificador único que es es muy amplio y profundo, por lo que los nuevos archivos se encuentran dispersos dentro de esta estructura y rewritting la aplicación para poner de nuevo los archivos en un directorio específico no funcionará.

Las estrategias apreciado.

OS es RHEL 5 de ir a red hat enterprise linux 6.

7voto

Stephane Puntos 4772

Yo estaría tentado a responder que "deje de abusar de el sistema de archivos por medio de un tratamiento como una base de datos" pero estoy seguro de que esto no ayuda mucho ;)

En primer lugar, usted tiene que entender que si su limitación en el ancho de banda disponible en la lectura, no hay nada que usted puede hacer para mejorar el rendimiento mediante un simple comando de sincronización. En tal caso, usted tiene que dividir los datos cuando sea por escrito, ya sea por cambiar la forma en que los archivos se han creado (lo que significa que, como usted adivinó correctamente, pidiendo a los desarrolladores para cambiar la fuente de programa) o mediante el uso de un producto que hace lo hace geo-reflejo (como, por ejemplo, double-take: revise alrededor como estoy seguro de que usted encontrará las alternativas, que es sólo un ejemplo).

En casos similares, la principal causa del problema no es normalmente el archivo de datos, sino más bien el meta-datos de acceso. Su primera estrategia va a ser, por tanto, dividir la carga en múltiples procesos que actúan sobre (completamente) diferentes directorios: que debe ayudar a que el sistema de archivos proporcionar usted con los meta-datos que usted necesita.

Otra estrategia es el uso de su sistema de copia de seguridad para que: reproducción de su última copias de seguridad incrementales en el objetivo de mantener la base de datos en modo de sincronización.

Por último, hay más exóticos estrategias que pueden ser aplicadas en los casos específicos. Por ejemplo, he resuelto un problema similar en un sitio de Windows escribiendo un programa que carga los archivos en el sistema de archivos cada pocos minutos, manteniendo así el FS limpio.

2voto

Tina Puntos 21

Yo no creo que nada ha cambiado. Si usted puede detener los datos en el sistema de origen, creo que alguna variante de alquitrán será el más rápido. Si no, rsync es todavía la mejor manera, asegurándose de utilizar el conjunto de modificador de archivo y una menos intensivo de la CPU algoritmo de compresión (por ejemplo, arcfour). ¿Tiene alguna opción para realizar una copia de nivel de bloque? Usted menciona de almacenamiento iSCSI. El nuevo sistema iSCSI de almacenamiento conectado así?

2voto

jeffatrackaid Puntos 3359

Esto se realiza en fases:

1) inicial transer usando scp 2) algunos datos freshed con rsync 3) devs están escribiendo un guión para tirar de los archivos desde el paso 1 para el sistema 4) los datos del proxy de servidor original a nuevo servidor durante el cambio de dns 5) cambio de dns y deshacerse de bajo rendimiento compartido iSCSI servicios.

EnMiMaquinaFunciona.com

EnMiMaquinaFunciona es una comunidad de administradores de sistemas en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros sysadmin, hacer tus propias preguntas o resolver las de los demás.

Powered by: