41 votes

Meilleure façon de copier des millions de fichiers entre 2 serveurs

J'ai environ 5 millions de petits fichiers (5-30ko) dans un seul répertoire que je voudrais copier vers une autre machine sur le même réseau gigabit. J'ai essayé d'utiliser rsync, mais cela ralentirait à ramper après quelques heures d'exécution, je suppose en raison du fait que rsync doit vérifier le fichier source et la destination à chaque fois?

Ma deuxième pensée serait d'utiliser scp, mais je voulais obtenir un avis extérieur pour voir s'il y avait une meilleure façon. Merci!

4voto

insider Points 426

Je préfère utiliser lz4 comme outil de compression le plus rapide pour le moment. L'option SSH -c arcfour128 utilise un algorithme de chiffrement plus rapide que par défaut. [1]

Donc le transfert de répertoires ressemble à quelque chose comme :

tar -c dossier | lz4 -c | ssh -carcfour128 somehost 'lz4 -d | tar -x > dossier'

Veuillez noter que sur Debian la commande lz4 est lz4c et sur CentOS c'est lz4.

3voto

Joe Points 16850

Robocopy est excellent pour des choses comme celle-ci. Il réessaiera après des délais réseau et vous permet également de définir un délai d'attente entre les paquets pour ne pas surcharger la bande passante.

[Modifier]

Notez que ceci est une application uniquement pour Windows.

3voto

Sathyajith Bhat Points 390

Je sais que cela peut sembler stupide - mais avez-vous pensé à simplement les copier sur un disque externe et à le transporter vers l'autre serveur? Cela pourrait en fait être la solution la plus efficace et la plus simple.

3voto

Ross Points 19037

Déjà des tonnes de bonnes suggestions, mais je voulais ajouter Beyond Compare. J'ai récemment transféré environ 750 000 fichiers entre 5 Ko et 20 Mo d'un serveur à un autre via un commutateur gigabit. Il n'a même pas eu un hoquet. Bien sûr, cela a pris un certain temps, mais je m'attendais à cela avec autant de données.

3voto

Nous enquêtons actuellement sur ce problème. Nous devons transférer environ 18 millions de petits fichiers - environ 200 Go au total. Nous avons obtenu les meilleures performances en utilisant le bon vieux XCopy, mais cela a quand même pris beaucoup de temps. Environ 3 jours d'un serveur à un autre, environ 2 semaines vers un disque externe!

Par un autre processus, nous avons dû dupliquer le serveur. Cela a été fait avec Acronis. Cela a pris environ 3 heures!!!

Nous allons enquêter davantage sur cela. La suggestion dd ci-dessus fournirait probablement des résultats similaires.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X