Ich muss 20 TB Daten auf ein Thunderbolt-Array kopieren. Die Box, in der die Daten vorhanden sind, hat keine Blitzverbindung, daher muss ich das lokale 1-GB-Netzwerk dafür verwenden. (Ja, es wird ewig dauern).
Ich habe versucht, Filezilla / sftp zu verwenden, aber es stürzte ab, als die Warteschlange sehr groß wurde. Ist rsync oder scp der richtige Weg?
data-transfer
thunderbolt
rsync
Lacinda
quelle
quelle
Antworten:
rsync ist ein guter Weg (scp ist mit weniger Funktionen ziemlich gleich). Möglicherweise möchten Sie die
-Z
Option verwenden, mit der die zlib-Komprimierung aktiviert wird. Abhängig davon, wie schnell Ihre Laufwerke / Computer sind, ist dies möglicherweise schneller als das unkomprimierte Senden, dh wenn Ihre Netzwerkverbindung überlastet ist. Möglicherweise möchten Sie auch die Option Archivierungsmodus, mit-a
der Symlinks, Berechtigungen und Erstellungs- / Änderungszeiten beibehalten und Verzeichnisse rekursiv kopiert werden. Je nachdem, was Sie kopieren, möchten Sie möglicherweise-E
erweiterte Attribute und Mac-Ressourcengabeln beibehalten. Schließlich--progress
werden Ihnen Fortschrittsinformationen angezeigt.quelle
Obwohl nicht so allgegenwärtig wie rsync, habe ich in der Vergangenheit einen Tool-Aufruf "mpscp" verwendet - http://www.sandia.gov/MPSCP/mpscp_design.htm
Von Sandia National Labs handelt es sich um ein Dateikopier-Tool, das über SSH ausgeführt wird und speziell für die Sättigung von Hochgeschwindigkeitsnetzwerken zwischen engen Systemen optimiert ist (z. B. das Kopieren von Terabytes an Daten zwischen zwei Supercomputern am selben Standort, die über 10 GB + oder Infiniband verbunden sind). Es funktioniert gut, kann aber etwas mühsam einzurichten sein. Beim Testen habe ich leicht gesehen, dass es 2x-3x schneller als rsync läuft.
quelle
Verwenden Sie rsync und erwägen Sie, es mit rsyncd zu verwenden. Wenn Sie rsync ohne rsyncd verwenden, stecken Sie mit ssh fest, was bedeutet, dass Sie eine Art Verschlüsselung verwenden. Sie kopieren wahrscheinlich die Daten von einem älteren Computer auf einen neueren Computer, und der ältere Computer verfügt möglicherweise nicht über das CPU-Grunzen, um die Daten für die Übertragung schnell genug zu verschlüsseln, damit eine Gigabit-Ethernet-Verbindung gesättigt bleibt. Testen Sie die Übertragung von Dateistapeln mit beiden Methoden und finden Sie heraus, welcher Weg schneller ist.
Aus dem gleichen Grund würde ich empfehlen, die Verwendung der Komprimierungsoption von rsync zu testen, bevor Sie sich zur Verwendung verpflichten. Die Komprimierung ist eine weitere CPU-intensive Aktivität, die möglicherweise nicht mit der Gigabit-Ethernet-Geschwindigkeit Schritt halten kann, wenn sie auf älterer Hardware versucht wird. rsync ist ein fünfzehn Jahre altes Programm, das zurückgeschrieben wurde, als die Mehrheit der Menschen selbst in Ländern der Ersten Welt über ein DFÜ-Modem auf das Internet zugegriffen hat. Die Kompromisse zwischen Netzwerkbandbreite und CPU waren damals sehr unterschiedlich.
quelle
-e
Option verwenden. Mit derselben Option können Sie die Optionen von ssh ändern, um eine weniger CPU-intensive Verschlüsselung zu verwenden:-e 'ssh -c arcfour,blowfish-cbc'
oder dergleichen. Ob dies bei einer modernen Maschine einen Geschwindigkeitsunterschied ausmacht, weiß ich nicht, aber ein schneller Benchmark kann sich lohnen, insbesondere bei 20 TB Dateien.Sind diese 20 TB in einer kleinen Anzahl großer Dateien (wie Video, Monsterdatenbank) oder Millionen kleinerer Dateien verpackt?
Wenn viele kleine Dateien vorhanden sind, würde ich aus Gründen der Neustartbarkeit rsync oder aus Effizienzgründen einen Piped-Tar-Stream verwenden (eine Netzwerkverbindung für das Los, beginnen Sie erneut von vorne, wenn dies fehlschlägt).
Remote-Ordner muss gemountet sein.
Könnten Sie das neue Array direkt mit einer anderen Schnittstelle verbinden? Local rsync verwendet ssh nicht, daher entfernen Sie diesen Fehlerpunkt. Ja, Firewire 800 ist langsamer als Gigabit-Ethernet, aber Sie können Ethernet nicht zu 100% laden - es kann durch Firewire schneller sein. Zu Ihrer Information können Sie auch Firewire vernetzen, wenn die Boxen nahe genug sind. Fügen Sie die Schnittstelle in den Systemeinstellungen -> Netzwerk hinzu.
quelle
Eine andere Möglichkeit wäre, Bittorrent Sync ( http://www.bittorrent.com/sync ) auszuprobieren . Ich habe es verwendet, um Familienfotos und -videos zwischen Mitgliedern unserer Familie über das WAN zu synchronisieren, aber es gibt keinen Grund, warum es für ein lokales Netzwerk nicht funktioniert. Es werden Peer-to-Peer-Verbindungen verwendet, sodass die Daten nicht wie bei einem Dropbox-Vorgang über einen Server übertragen werden (ich glaube nicht, dass Sie über 20 TB Dropbox-Speicherplatz verfügen oder so lange warten möchten, um so viel hochzuladen Daten!)
Es wird auch auf mehreren Plattformen unterstützt und bietet somit mehr Flexibilität als rsync und tar.
quelle