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

Beispielcode der Uniapp Vue- und NVUE-Karussellkomponenten

Der Vue-Teil ist wie folgt: <Vorlage> <K...

So laden Sie die Kamera in HTML

Wirkungsdiagramm: Gesamtwirkung: Video wird gelad...

So deinstallieren Sie MySQL 8.0 unter Linux

1. MySQL herunterfahren [root@localhost /]# Diens...

Vue Router lädt verschiedene Komponenten je nach Hintergrunddaten

Inhaltsverzeichnis Anforderungen aus der Projektp...

Canonical ermöglicht Linux-Desktop-Apps mit Flutter (empfohlen)

Das Ziel von Google mit Flutter bestand immer dar...

Layui implementiert Beispielcode für Abfragen mit mehreren Bedingungen

Ich habe vor kurzem ein Dateisystem erstellt und ...

Kostenlose Installationskonfigurationsmethode für MySQL 5.7.18 WinX64

1. Herunterladen 2. Dekompression 3. Fügen Sie di...

Detaillierte Beschreibung des MySQL-Ersetzens in der Verwendung

Die Ersetzungsanweisung ähnelt im Allgemeinen der...

Teilen Sie 8 sehr nützliche CSS-Entwicklungstools

CSS3-Mustergalerie Diese CSS3-Musterbibliothek ze...