J'ai quelques gros fichiers que je dois copier d'une machine Linux vers une vingtaine d'autres machines Linux, toutes sur le même LAN aussi rapidement que possible. Quels outils / méthodes seraient les meilleurs pour copier ces fichiers, sachant qu'il ne s'agira pas d'une copie unique. Ces machines ne seront jamais connectées à Internet et la sécurité n'est pas un problème.
Mise à jour:
La raison de ma demande est que (si je comprends bien), nous utilisons actuellement scp
en série pour copier les fichiers sur chacune des machines et j'ai été informé que cela est "trop lent" et qu'une alternative plus rapide est recherchée. Selon ce que l'on m'a dit, tenter de paralléliser les scp
appels ralentit tout simplement davantage en raison des recherches sur le disque dur.
la source
Réponses:
BitTorrent. C'est ainsi que Twitter déploie certaines choses en interne.
http://engineering.twitter.com/2010/07/murder-fast-datacenter-code-deploys.html (lien d'archive Web)
la source
Qu'en est-il de l' UFTP , il utilise la multidiffusion pour livrer des fichiers via UDP à plusieurs clients à la fois. Pas pour tout le monde et je ne suis pas un expert en la matière, mais on dirait qu'il fait ce que vous voulez.
la source
Avez-vous essayé de copier ces données avec
rsync
? Si vous avez un LAN 1 Gbit ou plus rapide, la copie sur 4 * 20 Go ne devrait pas être un problème.À quelle fréquence cette copie se produira-t-elle? Est-ce important si cela prend quelques minutes pour terminer?
la source
scp-tsunami c'est le chemin!
https://code.google.com/p/scp-tsunami/
Il est couramment utilisé pour distribuer des images de disque sur des clusters de virtualisation, ses performances sont proches de bittorrent mais il est plus simple à utiliser pour un usage quotidien.
la source
La configuration d'un partage NFS et le fait que chaque machine tire de ce référentiel partagé de fichiers volumineux serait probablement la méthode la plus rapide (NFS est très rapide et a peu de frais généraux).
Vous pouvez ajouter une ou deux cartes réseau supplémentaires au serveur source et les lier ensemble pour vous offrir un meilleur débit.
L'implémentation peut être un simple travail cron sur chaque serveur cible qui extrait aveuglément du partage toutes les heures / jour / peu importe. Vous pouvez également configurer un démon pour rechercher de nouveaux fichiers; vous pouvez également simplement écrire une session de contrôle sur SSH (avec des paires de clés) dans chaque boîte cible et leur demander de récupérer le fichier lorsque vous exécutez votre script.
la source