Existe-t-il une commande, telle que RSYNC, qui peut synchroniser des fichiers énormes, rares, d'un serveur Linux à un autre?
Il est très important que le fichier de destination reste rare. Il peut être plus long (mais pas plus gros) que le lecteur qui le contient. Seuls les blocs modifiés doivent être envoyés sur le fil.
J'ai essayé rsync, mais je n'ai aucune joie. https://groups.google.com/forum/#!topic/mailing.unix.rsync/lposczgfe9m
Si j'écris un programme pour faire cela, je réinvente juste la roue? http://www.finalcog.com/synchronise-block-devices
Merci,
Chris.
J'ai fini par écrire un logiciel pour faire ceci:
Ce logiciel commercial coûte 49 $ par serveur physique.
Je peux maintenant reproduire un fichier de 50 Go de race (qui contient 3 Go de contenu) en moins de 3 minutes à travers le haut débit résidentiel.
chris@server:~$ time virtsync -v /var/lib/libvirt/images/vsws.img backup.barricane.com:/home/chris/
syncing /var/lib/libvirt/images/vsws.img to backup.barricane.com:/home/chris/vsws.img (dot = 1 GiB)
[........>.........................................]
done - 53687091200 bytes compared, 4096 bytes transferred.
real 2m47.201s
user 0m48.821s
sys 0m43.915s
rsync --ignore-existing --sparse ...
Pour créer de nouveaux fichiers en mode clairsemé
Suivie par
rsync --inplace ...
Pour mettre à jour tous les fichiers existants (y compris ceux qui sont créés précédemment) sur lesquels figurent.
RSYNC Seuls les transferts Les modifications apportées à chaque fichier et avec-EnPlace ne doivent réécrire que les blocs qui ont changé sans recréer le fichier. De leur Caractéristiques de la page .
rSYNC est un programme de transfert de fichiers pour les systèmes UNIX. RSYNC utilise l'algorithme RSYNC "qui fournit une méthode très rapide pour apporter des fichiers distants en synchronisation. Cela le fait en envoyant uniquement les différences entre les fichiers sur le lien, sans exiger que les deux ensembles de fichiers soient présents à l'une des extrémités du lien au préalable.
À l'aide de --Enface devrait travailler pour vous. Cela vous montrera des progrès, comprimez le transfert (au niveau de la compression par défaut), transférer le contenu de l'annuaire de stockage local de récursivité (que la première étape de la barre oblique de finale), apporte les modifications apportées aux fichiers en place et utilisez SSH pour le transport.
rsync -v -z -r --inplace --progress -e ssh /path/to/local/storage/ \
[email protected]:/path/to/remote/storage/
J'utilise souvent le drapeau -a aussi, ce qui fait quelques choses de plus. C'est équivalent à -rlptgod, je laisserai le comportement exact pour que vous recherchiez la page de l'homme.
Jetez un coup d'œil à Projet de stockage Zumastor Linux Il implémente la sauvegarde "Snapshot" à l'aide de binaire "rsync" via l'outil ddsnap
.
De la page de l'homme:
dDSNAP fournit une réplication de périphérique de blocs donné une installation d'instantanée de niveau de bloc capable de contenir plusieurs instantanés simultanés de manière efficace. DDSNAP peut générer une liste de morceaux d'instantanés qui diffèrent entre deux instantanés, puis envoyez cette différence sur le fil. Sur un serveur en aval, écrivez les données mises à jour sur un périphérique de bloc d'instantané.
lvmsync Est-ce que cela.
Voici une transcription d'utilisation . Cela crée un instantané LVM sur la source, transfère la partition logique. Vous pouvez transférer des mises à jour incrémentielles des modifications depuis la création d'instantané aussi souvent que vous le souhaitez.
Pourrait reproduire l'ensemble du système de fichiers être une solution? DRBD? http://www.drbd.org/
Peut-être un peu étrange ici, mais j'ai découvert récemment que NFS gère cette amende.
Donc, vous exportez un répertoire sur une machine puis de la monter sur l'autre et que vous ne copiez simplement les fichiers avec des utils de base comme cp
. (Certains utilitaires anciens/antiques peuvent avoir un problème avec des fichiers clairsemés.)
J'ai trouvé rsync
notamment inefficace dans le transfert de fichiers clairsemés.
Je ne suis pas au courant d'un tel utilitaire, uniquement des appels système qui peuvent le gérer, donc si vous écrivez un tel utilitaire, cela pourrait être plutôt utile.
ce que vous pouvez réellement faire est d'utiliser qemu-img convert pour copier les fichiers, mais cela ne fonctionnera que si la destination FS prend en charge les fichiers rataides