Transfert d'une grande quantité de données entre les continents [doublon]

12

Duplicata possible:
moyen gratuit de partager des fichiers volumineux sur Internet?
Quelles sont les options de transfert de gros fichiers sans utiliser Internet?

Le laboratoire de ma femme réalise un projet ici aux États-Unis avec des collaborateurs à Singapour. Ils ont parfois besoin de transférer une grande quantité de données d'image de grande dimension (~ 10 Go compressés) à travers les continents. Avec les technologies actuelles, quelle serait une bonne solution pour ce scénario d'utilisation?

J'en pense à quelques-uns, mais aucun ne semble idéal:

  • Connexion directe via Internet: le taux de transfert est d'environ 500 Ko / s, il manque également un outil pour gérer les erreurs / retransmissions.
  • Téléchargement vers un serveur ou un service commun tel que Dropbox: difficile à télécharger pour un collaborateur non américain.
  • Graver des disques ou copier sur des disques durs et expédier via Courier: la latence est importante, plus le travail supplémentaire pour faire une copie locale.

Aucune suggestion?

Mise à jour: aucune des parties à la collaboration n'est un utilisateur averti.

Franc
la source
Image comme dans les images, ou image comme dans un fichier représentant un DVD?
Daniel Beck
Images de haute dimension, telles que générées par des microscopes.
Frank
1
Il s'agit donc de plusieurs très gros fichiers? Pourriez-vous nous donner plus d'informations sur le nombre de fichiers, la taille des fichiers individuels et combien de ces changements entre les transferts? Est-ce tous, certains d'entre eux, etc.?
Daniel Beck
Cela ressemble à un travail pour Sneakernet ou IPoAC .
Naftuli Kay

Réponses:

20

Je vous suggère d'utiliser rsync . Rsync prend en charge l'algorithme de transfert delta, donc si vos fichiers ne sont que partiellement modifiés, ou si le transfert précédent a été interrompu anormalement, Rsync est suffisamment intelligent pour synchroniser uniquement les nouveautés / modifications.

Il existe plusieurs ports du Rsync d'origine vers Windows et d'autres systèmes non compatibles Unix, à la fois gratuits et non libres. Veuillez consulter l'article Wikipedia de Rsync pour plus de détails.

Rsync sur SSH est très largement utilisé et fonctionne bien. 10 Go sont une quantité de données relativement faible de nos jours, et vous n'avez pas spécifié ce que signifie «occasionnellement». Hebdomadaire? Du quotidien? Toutes les heures? Avec un taux de transfert de 500 Ko / sec, cela prendra environ 6 heures, pas vraiment longtemps. Si vous devez transférer fréquemment les données, il est probablement préférable de créer une tâche cron pour démarrer rsync automatiquement.

haimg
la source
Ne rsyncnécessite pas son propre protocole pour les deltas, nécessitant un système de contrepartie capable à l'autre extrémité?
Daniel Beck
@DanielBeck: Rien dans les documents ne dit que rsync sur SSH ne peut pas utiliser deltacopy ... Fondamentalement, le client rsync exécute une autre copie rsync sur le serveur via ssh, donc je ne vois pas pourquoi cela ne fonctionnerait pas.
haimg
+1 Vous marquez un point. Cela laisse cependant l'exigence Linux sur le serveur?
Daniel Beck
L' rsyncalgorithme delta de fonctionne- t -il lors du transfert de données compressées binaires ( .zipou .jpg)?
Aditya
@DanielBeck: J'ai ajouté un lien vers un article Wikipedia avec plusieurs ports Windows rsync. Apparemment, au moins certains d'entre eux fonctionnent comme un serveur, y compris ssh. Je n'en ai jamais utilisé.
haimg
12

La connexion via Internet peut être une option viable et un programme tel que bittorrent est exactement adapté à cet objectif car il décomposera les fichiers en morceaux logiques à envoyer sur Internet pour être reconstruit à l'autre extrémité.

Bittorrent vous offre également la correction automatique des erreurs, la réparation des pièces endommagées et si plus de gens ont besoin des fichiers, ils bénéficieront de la possibilité de recevoir le fichier à partir d'autant de sources que le fichier téléchargé (en partie).

Certes, les gens le voient comme une bonne façon de télécharger des films et autres, mais il a beaucoup plus d'utilisations légales.

De nombreux clients bittorrent ont également des trackers intégrés, vous n'avez donc pas besoin d'avoir un serveur dédié pour héberger les fichiers.

Mokubai
la source
2
Merci pour la contribution. L'utilisation de BitTorrent au sein des réseaux universitaires peut rendre leurs administrateurs nerveux. De plus, la configuration et la maintenance d'un serveur de suivi peuvent ne pas être aussi simples pour un utilisateur d'ordinateur moyen.
Frank
2
C'est un bon point, bittorrent est activement interdit dans de nombreux réseaux d'entreprises et universitaires. Avec une bonne administration, vous pouvez mettre en place une liste blanche au sein des réseaux d'utilisateurs ou de machines autorisés à utiliser bittorrent, mais cela signifierait des liens très étroits avec les services informatiques respectifs pour fonctionner correctement. Comme je l'ai mentionné, vous n'avez pas nécessairement besoin d'un serveur dédié car il peut être intégré à de nombreux programmes clients. Si cela ne convient pas à votre situation, alors ne vous inquiétez pas, cela m'a semblé raisonnable compte tenu de vos besoins.
Mokubai
Si vous utilisiez bitorrent, utiliser également un webseed sonne comme une idée intelligente
Journeyman Geek
(À titre d'exemple d'une des `` utilisations les plus légales '' mentionnée dans la réponse, Facebook utilise bittorrent pour déployer son site, 1 Go binaire, sur des milliers de serveurs de production. Quelle malchance qu'une technologie soit rejetée principalement à cause de l'une de ses utilisations.)
Anton Strogonoff
6

Divisez le fichier en morceaux de 50 Mo par exemple (en utilisant par exemple split). Calculer des sommes de contrôle pour chacun d'eux (par exemple md5sum). Téléchargez directement via FTP et un client FTP tolérant aux erreurs, comme sous lftpLinux. Transférez tous les morceaux et un fichier contenant toutes les sommes de contrôle.

Sur le site distant, vérifiez que tous les morceaux ont la somme de contrôle souhaitée, téléchargez à nouveau ceux qui ont échoué et réassemblez-les dans le fichier d'origine (par exemple en utilisant cat).

Rétablir l'emplacement du serveur (j'ai posté sous l'hypothèse que le site de destination a fourni le serveur et que vous démarrez le transfert localement lorsque les fichiers sont prêts) selon les besoins. Votre client FTP ne devrait pas s'en soucier.


J'ai eu des problèmes similaires dans le passé et l'utilisation d'un client FTP tolérant aux erreurs a fonctionné. Aucun bit n'a jamais été inversé, juste une connexion régulière abandonnée, donc je pouvais ignorer la création de morceaux et simplement télécharger le fichier. Nous avons toujours fourni une somme de contrôle pour le fichier complet, juste au cas où.

Daniel Beck
la source
3
Vous devez être conscient que cela lftpn'interrompt pas un transfert en cours pour une raison quelconque . Assurez-vous que vous disposez toujours de suffisamment d'espace disque disponible sur le site de destination.
Daniel Beck
3

Une variante de la réponse de Daniel Beck consiste à diviser les fichiers en morceaux de l'ordre de 50 Mo à 200 Mo et à créer des fichiers de parité pour l'ensemble.

Vous pouvez maintenant transférer les fichiers (y compris les fichiers de parité) avec FTP, SCP ou autre chose vers le site distant et faire une vérification après l'arrivée de l'ensemble complet. Maintenant, s'il y a des pièces endommagées, elles peuvent être corrigées par les fichiers de parité s'il y a suffisamment de blocs. Cela dépend plus ou moins du nombre de fichiers endommagés et du nombre de fichiers de parité que vous avez créés.

Les fichiers de parité sont beaucoup utilisés sur Usenet pour envoyer des fichiers volumineux. La plupart du temps, ils sont ensuite divisés en archives RAR. Il n'est pas rare d'envoyer des données jusqu'à 50 à 60 Go de cette façon.

Vous devriez certainement vérifier le premier lien et vous pouvez également jeter un œil à QuickPar , un outil qui peut être utilisé pour créer des fichiers de parité, vérifie vos fichiers téléchargés et peut même restaurer des fichiers endommagés avec les fichiers de parité fournis.

Martijn B
la source
+1 - Cette approche fonctionne bien sur usenet, et les fichiers de parité peuvent réparer une quantité étonnante de données manquantes. L'inconvénient est le temps de traitement nécessaire pour diviser et générer des fichiers de parité et pour vérifier et extraire les fichiers après réception.
deizel
1

Est-ce un gros fichier de 10 Go? Pourrait-il être facilement divisé?

Je n'ai pas beaucoup joué avec cela, mais cela m'a semblé être un concept intéressant et relativement simple qui pourrait fonctionner dans cette situation:

http://sendoid.com/

Craig H
la source
Sendoid est assez cool, mais malheureusement, le téléchargement sera toujours douloureux. Là encore, le problème persiste pour tous les types, je crois, sauf si vous allez envoyer un disque dur. +1 car il est facile à utiliser.
DMan
0

Rendez les données disponibles via ftp / http / https / sftp / ftps (nécessitant des informations d'identification de connexion) et utilisez n'importe quel gestionnaire de téléchargement côté client.

Les gestionnaires de téléchargement sont spécialement conçus pour récupérer des données quelles que soient les erreurs qui peuvent survenir afin qu'elles correspondent parfaitement à votre tâche.

Quant au serveur, un serveur FTP est généralement le plus facile à configurer. Vous pouvez consulter une liste sur Wikipedia. HTTPS, SFTP et FTPS permettent le chiffrement (en pur FTP / HTTP, le mot de passe est envoyé en texte clair) mais SFTP / FTPS sont moins souvent pris en charge par le logiciel client et la configuration du serveur HTTP / HTTPS est délicate.

ivan_pozdeev
la source
1
Le problème avec l'utilisation de http ou ftp est qu'il y a des erreurs de transmission, vous devez renvoyer le tout. rsync, bittorrent et d'autres protocoles peuvent vérifier que les fichiers correspondent et retransmettre uniquement les éléments endommagés. Les données de parité, comme QuickPar génère, peuvent également aider.
afrazier
FTP et HTTP incluent une capacité de reprise de transfert comme extension facultative qui est prise en charge par la majorité des serveurs et pratiquement tous les gestionnaires de téléchargement.
ivan_pozdeev
Ils peuvent reprendre et, en théorie, TCP s'assure que les données arrivent dans l'ordre et avec une somme de contrôle valide. Cependant, quiconque a eu un gros transfert HTTP ou FTP corrompu a appris la valeur de protocoles plus robustes ou d'une sorte d'ECC.
afrazier