J'essaie de transférer environ 100 000 fichiers totalisant 90 Go. En ce moment, j'utilise le démon rsync mais sa lenteur de 3,4 Mo / s et je dois le faire plusieurs fois. Je me demande quelles options ai-je pour maximiser une connexion de 100 Mbits sur Internet et être très fiable.
rsync
file-transfer
incognito2
la source
la source
Réponses:
Avez-vous pensé à Sneakernet ? Avec de grands ensembles de données, l'expédition de nuit va souvent être plus rapide et moins chère que le transfert via Internet.
la source
Comment? Ou TL; DR
La méthode la plus rapide que j'ai trouvée est une combinaison de
tar
,mbuffer
etssh
.Par exemple:
Grâce à cela, j'ai obtenu des transferts de réseau local soutenus de plus de 950 Mb / s sur des liaisons 1Gb. Remplacez les chemins d'accès dans chaque commande tar pour convenir à ce que vous transférez.
Pourquoi? mbuffer!
Le plus gros goulot d'étranglement dans le transfert de fichiers volumineux sur un réseau est, de loin, les E / S disque. La réponse à cette question est
mbuffer
oubuffer
. Ils sont largement similaires maismbuffer
présentent certains avantages. La taille de mémoire tampon par défaut est 2 Mo pourmbuffer
et 1 Mo pourbuffer
. Les tampons plus grands sont plus susceptibles de ne jamais être vides. Le choix d'une taille de bloc qui est le plus petit commun multiple de la taille de bloc native sur le système de fichiers cible et de destination donnera les meilleures performances.La mise en mémoire tampon est la chose qui fait toute la différence! Utilisez-le si vous l'avez! Si vous ne l'avez pas, obtenez-le! Utiliser
(m}?buffer
plus n'importe quoi est mieux que tout seul. c'est presque littéralement une panacée pour les transferts de fichiers réseau lents.Si vous transférez plusieurs fichiers, utilisez-les
tar
pour les regrouper en un seul flux de données. S'il s'agit d'un seul fichier, vous pouvez utiliser lacat
redirection d'E / S. La surcharge detar
vscat
est statistiquement insignifiante, donc j'utilise toujourstar
(ouzfs -send
là où je peux) à moins que ce ne soit déjà une tarball . Aucun de ces éléments n'est garanti pour vous donner des métadonnées (et en particuliercat
ne le fera pas). Si vous voulez des métadonnées, je vous laisse cela comme un exercice.Enfin, l'utilisation
ssh
d'un mécanisme de transport est à la fois sécurisée et entraîne très peu de frais généraux. Encore une fois, les frais généraux dessh
vsnc
sont statistiquement insignifiants.la source
tar -cf - .|mbuffer -m128k -s 256M -I 9090 & mbuffer -m128k -s 256M -O host:9090 | tar -xf -
ssh
rend cela simple. L' utilisationstunnel
,socat
ouopenssl
fonctionne aussi, mais ils sont plus complexes à mettre en place pour les transferts simples.Vous mentionnez "rsync", donc je suppose que vous utilisez Linux:
Pourquoi ne créez-vous pas un fichier tar ou tar.gz? Le temps de transfert réseau d'un gros fichier est plus rapide que de nombreux petits. Vous pouvez même le compresser si vous le souhaitez ...
Goudron sans compression:
Sur le serveur source:
Ensuite, côté réception:
Goudron avec compression:
Sur le serveur source:
Ensuite, côté réception:
Vous utiliseriez simplement rsync pour effectuer le transfert réel des fichiers (tar | tar.gz).
la source
Vous pouvez essayer la
tar
etssh
astuce décrite ici :cela devrait être réinscriptible comme suit :
Vous perdriez cependant les
--partial
fonctionnalités dersync
dans le processus. Si les fichiers ne changent pas très fréquemment, vivre avec une initiale lentersync
pourrait être très utile car cela ira beaucoup plus vite à l'avenir.la source
Vous pouvez utiliser diverses options de compression de rsync.
le taux de compression des fichiers binaires est très faible, vous pouvez donc ignorer ces fichiers en utilisant --skip-compress, par exemple iso, des archives tar déjà archivées et compressées, etc.
la source
Je suis un grand fan de SFTP. J'utilise SFTP pour transférer des médias de mon ordinateur principal vers mon serveur. J'obtiens de bonnes vitesses, sur LAN.
SFTP est fiable, je donnerais un coup de feu, car il est facile à configurer, et il pourrait être plus rapide dans certains cas.
la source