Ce qui est plus efficace: rsync sur ssh ou rsync sur un lecteur monté localement via un tunnel ssh

6

J'essaie de configurer des scripts pour effectuer des sauvegardes nocturnes sur un lecteur distant. Je me demande s'il vaut mieux (en termes d'efficacité et d'intégrité des données):

A: rsync sur un tunnel ssh, ou

B: montez le disque localement sur un tunnel SSH en utilisant un programme tel que ExpanDrive ( http://www.expandrive.com/ ), puis rsync sur le disque via son point de montage local.

Les sauvegardes se feront une fois par jour, mais le lecteur sera probablement connecté la plupart du temps pour d'autres utilisations.

Merci pour toute aide / suggestions.

KidAsComputer
la source

Réponses:

1

IMHO rsync sur ssh serait mieux, cependant ma recommandation est de démarrer un démon rsync de l'autre côté et d'y accéder via un VPN sécurisé (openvpn, pptp). Le cryptage SSH est difficile pour l'utilisation du processeur et, en fonction de la taille transférée, l'expérience peut être pénible. Cependant, rsync en mode démon n'a pas de cryptage et constitue la solution la plus rapide. Notez que rsyncd (rsync en mode démon) n’utilise aucun cryptage et que l’authentification est très limitée.

Mspasov
la source
À moins qu'il ne dispose d'un canal 100 Mbit, le cryptage SSH ne sera pas un problème. La compression RSync peut charger un peu le processeur, mais il sera probablement encore plus rapide que d'essayer le même transfert non compressé.
Faux nom
1
Si vous utilisez openvpn, vous utilisez toujours le cryptage :-) Si vous ne souhaitez pas utiliser le cryptage, utilisez simplement rsh au lieu de ssh. Vous pouvez également configurer SSH pour utiliser le chiffrement non, ce qui vous permettrait tout de même d’avoir une authentification forte via des clés sans chiffrer le trafic.
w00t
+1 pour le non chiffré, je ne le savais pas. openvpn nécessite moins de ressources processeur que ssh, c'est pourquoi je le recommande.
mspasov
10

L'option rsync sera FAR mieux.

Lorsque RSync s'exécute sur SSH, il utilise les deux processeurs du système lors de la comparaison de fichiers.

Fondamentalement, rsync s’exécute sur les deux périphériques (littéralement, rsync se connecte au périphérique distant à l’aide de ssh, exécute le fichier binaire rsync sur le périphérique distant, puis les deux exécutables exécutés interagissent par le biais du canal ssh), ce qui permet de comparer les fichiers deux systèmes échangent des hachages de fichiers , plutôt que de transférer l' intégralité du fichier sur le tuyau, comme cela aurait été le cas si le système distant est monté en tant que lecteur local.

Ce n'est évidemment un avantage que lorsque la vitesse est limitée, contrairement à la plupart des sauvegardes à distance.

De plus, rsync, lorsqu'il est exécuté sur des fichiers compressés SSH lors de leur transfert, accélère les temps de transfert. Je ne crois pas qu'ExpanDrive effectue la compression, mais même si c'est le cas, il perdra beaucoup lors de la comparaison de fichiers entre les deux systèmes.

RSync a un mode de fonctionnement fondamentalement différent lors de l'exécution de sauvegardes locales par opposition à des sauvegardes sur un réseau. Lorsque vous travaillez localement, le hachage n'est pas compliqué pour la comparaison de fichiers et aucune compression de fichier n'est effectuée.


Exécuter rsync en tant que démon n’est vraiment utile que lorsque plusieurs clients effectuent une sauvegarde sur le même périphérique ou que vos périphériques sont fortement sollicités par le processeur (comme sur un NAS intégré). En gros, cela vous permet simplement d’éviter la surcharge SSH et de devoir disposer d’un compte SSH sur chaque périphérique.

Faux nom
la source