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

JS realisiert Bild Digitaluhr

In diesem Artikelbeispiel wird der spezifische JS...

So mounten Sie die CD, um das RPM-Paket unter Linux zu finden

Vorne geschrieben Manchmal müssen Sie bei der Ver...

Beispielanalyse der Listen-Direktive in Nginx

Handlungsüberblick Im vorherigen Artikel haben wi...

SQL-Implementierung von LeetCode (177. N-höchstes Gehalt)

[LeetCode] 177.N-höchstes Gehalt Schreiben Sie ei...

Tiefgreifendes Verständnis mathematischer Ausdrücke in CSS calc()

Der mathematische Ausdruck calc() ist eine Funkti...

Installation und Verwendung der MySQL MyCat-Middleware

1. Was ist mycat Ein vollständig Open Source-Groß...

Vue implementiert eine einfache bidirektionale Datenbindung

In diesem Artikelbeispiel wird der spezifische Co...

Eine kurze Diskussion über die Sortierabfrage mit angegebener MySQL-Reihenfolge

Vor kurzem habe ich an einem Großbildschirmprojek...

Techniken zur Wiederverwendung von HTML

HTML-Wiederverwendung ist ein Begriff, der selten ...

JS Leicht verständliche Funktion und Konstruktor

Inhaltsverzeichnis 1. Übersicht 1.1 Erstellen ein...

MySQL-Serververbindung, Trennung und cmd-Bedienung

Verwenden Sie den Befehl mysql, um eine Verbindun...

Warum MySQL große Transaktionen vermeiden sollte und wie man sie löst

Was ist eine große Sache? Transaktionen, die über...