So kopieren Sie schnell große Dateien unter Linux

So kopieren Sie schnell große Dateien unter Linux

Daten kopieren

Beim Remote-Kopieren von Daten verwenden wir normalerweise den Befehl rsync. Wenn jedoch eine große Anzahl kleiner Dateien kopiert wird, ist die Übertragungsgeschwindigkeit von rsync langsam. Dieses Problem kann gelöst werden, indem die Übertragung mit tar pv lz4 verpackt und komprimiert wird. Die Verwendung dieser Methode entspricht der Verwendung von scp und rsync zum Übertragen großer Dateien.

In tatsächlichen Tests werden 1200 G mit rsync übertragen. Die Größe einer einzelnen Datei beträgt einige zehn KB bis 2 GB. Mit einer Gigabit-Netzwerkkarte müssen 6 rsyncs gleichzeitig ausgeführt werden, um die Bandbreite voll auszunutzen. Die Geschwindigkeit jedes rsyncs beträgt etwa 20 MB und schwankt stark. Pro Minute können ca. 4,5 GB kopiert werden.

Wenn Sie jedoch tar pv lz4 verwenden, müssen Sie nur eines ausführen und die Geschwindigkeitsschwankungen sind gering. Pro Minute können ca. 6,8 GB kopiert werden.

Anwendungsbeispiele für Rsync

rsync-Installation: yum install -y rsync

# Push [root@vm5 ~]# rsync -auvzP -e "ssh -p22" mssh.tar.gz [email protected]:/data/
Senden einer inkrementellen Dateiliste
mssh.tar.gz
     1.977 100 % 0,00 kB/s 0:00:00 (xfr#1, to-chk=0/1)
gesendet 2.069 Bytes empfangen 35 Bytes 4.208,00 Bytes/Sek.
Gesamtgröße ist 1.977, Beschleunigung ist 0,94

# Ziehen Sie [root@vm5 ~]# rm -f mssh.tar.gz
[root@vm5 ~]# rsync -auvzP -e "ssh -p22" [email protected]:/data/mssh.tar.gz .
Empfangen einer inkrementellen Dateiliste
mssh.tar.gz
     1.977 100 % 1,89 MB/s 0:00:00 (xfr#1, to-chk=0/1)
gesendet 43 Bytes empfangen 2.069 Bytes 4.224,00 Bytes/Sek.
Gesamtgröße ist 1.977, Beschleunigung ist 0,94

Erklärung zum Parameter auvzP: Parameter a steht für die Archivübertragung, bei der die Dateiattribute erhalten bleiben, u steht für die Aktualisierungsübertragung, und wenn der Änderungszeitpunkt der Quelldatei neuer ist, wird dieser übertragen. v bedeutet „Detaillierten Vorgang anzeigen“, z bedeutet „komprimierte Übertragung“ und P bedeutet „Unterbrechungspunktübertragung“.

Hinweis: Wenn rsync Ordner überträgt und der Ordner/ über / verfügt, werden die Dateien im Verzeichnis übertragen. Wenn der Ordner/ nicht über / verfügt, wird der Ordner ebenfalls übertragen.

Komprimierte Übertragung verwenden

Installieren Sie PV- und LZ4-Tools

Hinweis: Dies muss an beiden Enden des Servers installiert werden.

pv ist nicht in der Yum-Quelle enthalten, Sie finden es auf der offiziellen pv-Website

# Gehen Sie zur offiziellen PV-Website, holen Sie sich einen Link zum RPM-Paket und installieren Sie es direkt mit dem RPM-Befehl [root@vm5 ~]# rpm -ivh http://www.ivarch.com/programs/rpms/pv-1.6.6-1.x86_64.rpm
Holen Sie sich http://www.ivarch.com/programs/rpms/pv-1.6.6-1.x86_64.rpm
WARNUNG: /var/tmp/rpm-tmp.mFbA6u: Header V3 DSA/SHA1-Signatur, Schlüssel-ID 3fc56f51: NOKEY
Vorbereitung... ####################################### [100%]
Aktualisieren/Installieren …
  1:pv-1.6.6-1 ######################################### [100 %]
  
# lz4 kann direkt mit yum [root@vm5 ~] installiert werden# yum install -y lz4

verwenden

[root@vm5 ~]# Zeit tar -c go |pv |lz4 -B4 |ssh -p22 -c aes128-ctr 192.168.176.11 "lz4 -d |tar -xC /data/"
Verwendung von Blöcken der Größe 64 KB
18,1 MiB 0:00:00 [49,5 MiB/s] [ <=> ]
real 0m0.376s
Benutzer 0m0.080s
System 0 m 0,108 s
# Vergleich mit rsync
[root@vm5 ~]# Zeit rsync -auvzP -e "ssh -p22" gehe zu 192.168.176.11:/data/
......
gesendet 11.741.677 Bytes empfangen 10.451 Bytes 7.834.752,00 Bytes/Sek.
Gesamtgröße ist 18.502.481, Beschleunigung ist 1,57
real 0m1.130s
Benutzer 0m0.797s
System 0 m 0,160 s
[root@vm5 ~]

Das Obige ist der vollständige Inhalt dieses Artikels. Ich hoffe, er wird für jedermanns Studium hilfreich sein. Ich hoffe auch, dass jeder 123WORDPRESS.COM unterstützen wird.

Das könnte Sie auch interessieren:
  • So erkennen Sie die Dateisystemintegrität basierend auf AIDE in Linux
  • Detaillierte Erläuterung der Befehle zum Lesen und Schreiben von Remotedateien mit Vim im Linux-System
  • Detaillierte Erläuterung verschiedener praktischer Verwendungen virtueller Gerätedateien im Linux-System
  • Lösung für die Eingabeaufforderung „Keine solche Datei oder kein solches Verzeichnis“ beim Ausführen ausführbarer Dateien unter Linux
  • Detaillierte Erläuterung des Problems, dass der Speicherplatz nach dem Löschen der Linux-Datei nicht freigegeben wird
  • Beispielanalyse von Linux-Dateiverwaltungsbefehlen [Anzeige, Ansicht, Statistiken usw.]
  • Implementierung der Deduplizierung von Dateiinhalten sowie von Schnittmengen und Unterschieden in Linux

<<:  Implementieren einer verteilten Sperre mit MySQL

>>:  Detaillierte Erläuterung der dynamischen Änderung des Elementknotenstils in Uniapp

Artikel empfehlen

14 Möglichkeiten zum Erstellen von Website-Inhalten, die Ihre Besucher fesseln

Wenn ich im Internet surfe, sehe ich oft Websites...

Lösung für das Jitter-Problem beim CSS3-Transformationsübergang

transform: scale(); Skalierung verursacht Jitter ...

Implementierung von nacos1.3.0, erstellt mit Docker

1. Fortsetzen nacos-Datenbank Datenbankname nacos...

Details zur MySQL-Sortierfunktion

Inhaltsverzeichnis 1. Problemszenario 2. Ursachen...

Implementierung eines Web-Rechners mit nativem JavaScript

In diesem Artikel wird der spezifische JavaScript...

Beispiel für die Einrichtung eines mehrspaltigen Layouts gleicher Höhe mit CSS

Mehrere Spalten haben zunächst unterschiedliche I...

So implementieren Sie eine einzelne Dateikomponente in JS

Inhaltsverzeichnis Überblick Einzelne Dateikompon...

Fallstudie zu den SQL ROW_NUMBER()- und OVER()-Methoden

Syntaxformat: row_number() über (Partition durch ...