Lösung 1:
Die Dateianzahl und der Overhead der SSH-Verschlüsselung sind wahrscheinlich die größten Hindernisse. Sie werden bei einer solchen Überweisung keine Übertragungsgeschwindigkeit sehen.
Zu den Verbesserungsoptionen gehören:
- Verwendung von rsync+SSH mit einem weniger kostspieligen Verschlüsselungsalgorithmus (z. B.
-e "ssh -c arcfour"
) - Beseitigung der Verschlüsselung über den SSH-Transport mit etwas wie HPN-SSH.
- Blockbasierte Übertragungen. Schnappschüsse,
dd
, Senden/Empfangen von ZFS-Snapshots usw. - Wenn es sich um eine einmalige oder seltene Überweisung handelt, verwenden Sie
tar
, netcat (nc
), mbuffer oder eine Kombination. - Überprüfen Sie Ihr CentOS
tuned-adm
Einstellungen. - Entfernen der atime von Ihren Dateisystem-Mounts. Untersuchen anderer Mount-Optionen für Dateisysteme.
- NIC-Sende-/Empfangspuffer.
- Tuning Ihres
rsync
Befehl. Würde-W
, macht die Whole-Files-Option hier Sinn? Ist die Komprimierung aktiviert? - Optimieren Sie Ihr Speichersubsystem für die Art der Übertragung (SSDs, Spindle-Count, RAID-Controller-Cache.)
Lösung 2:
Wie Sie wahrscheinlich wissen, ist das Kopieren vieler kleiner Dateien (z. B. Postfächer im MailDir-Format oder ähnliches) definitiv nicht die beste Option, um Schnittstellen mit hoher Bandbreite zu nutzen. SSH ist wahrscheinlich auch nicht das beste Transportprotokoll dafür. Ich würde versuchen, tar zu verwenden um einen Tarball auf dem Quellhost zu erstellen, bevor Sie ihn an Ihren sekundären Host senden.
tar c /var/mail | ssh [email protected] 'tar x -C /var/backups'
Wenn Sie eine inkrementelle Sicherung benötigen, können Sie -g
ausprobieren Optionen von tar. Wenn Sie immer noch den Durchsatz maximieren müssen, versuchen Sie es mit netcat anstelle von ssh.