File Storage Parallel Tools verwenden
Die Parallel File Tools-Suite stellt parallele Versionen von tar
, rm
und cp
bereit. Diese Tools können Anforderungen in großen Dateisystemen parallel ausführen. Dadurch wird die Performance für Datenschutzvorgänge maximiert.
Das Toolkit enthält:
partar
: Mit diesem Befehl können Sie tarballs parallel erstellen und extrahieren.Hinweis
Das Toolpartar
unterstützt die Extraktion vontar
-Dateien, die im Format GNU Basictar
POSIX 1003.1-1990 erstellt wurden. In anderen Archivformaten erstellte Dateien wiePAX
werden nicht unterstützt.parrm
: Mit diesem Befehl können Sie ein Verzeichnis rekursiv im Parallelverfahren entfernen.parcp
: Mit diesem Befehl können Sie ein Verzeichnis rekursiv im Parallelverfahren kopieren.
Parallel File Tools installieren
Die Toolsuite wird als RPM für Oracle Linux, Red Hat Enterprise Linux und CentOS verteilt.
So installieren Sie Parallel File Tools auf einer Oracle Linux-Instanz:
- Öffnen Sie ein Terminalfenster auf der Zielinstanz.
- Geben Sie folgenden Befehl ein:
sudo yum install -y fss-parallel-tools
So installieren Sie Parallel File Tools auf einer Oracle Linux 8-Instanz:
- Öffnen Sie ein Terminalfenster auf der Zielinstanz.
- Installieren Sie bei Bedarf mit dem folgenden Befehl das Oracle Linux-Entwickler-Repository:
dnf install oraclelinux-developer-release-el8
- Installieren Sie mit dem folgenden Befehl die Parallel File Tools aus dem Entwickler-Repository:
dnf --enablerepo=ol8_developer install fss-parallel-tools
So installieren Sie Parallel File Tools auf CentOS und Red Hat 6. x:
- Öffnen Sie ein Terminalfenster auf der Zielinstanz.
- Geben Sie folgenden Befehl ein:
sudo wget http://yum.oracle.com/public-yum-ol6.repo -O /etc/yum.repos.d/public-yum-ol6.repo sudo wget http://yum.oracle.com/RPM-GPG-KEY-oracle-ol6 -O /etc/pki/rpm-gpg/RPM-GPG-KEY-oracle sudo yum --enablerepo=ol6_developer install fss-parallel-tools
- Öffnen Sie ein Terminalfenster auf der Zielinstanz.
- Geben Sie folgenden Befehl ein:
sudo wget http://yum.oracle.com/public-yum-ol7.repo -O /etc/yum.repos.d/public-yum-ol7.repo sudo wget http://yum.oracle.com/RPM-GPG-KEY-oracle-ol7 -O /etc/pki/rpm-gpg/RPM-GPG-KEY-oracle sudo yum --enablerepo=ol7_developer install fss-parallel-tools
Tools verwenden - Grundlegende Beispiele
Nachfolgend finden Sie einige einfache Beispiele für die typische Verwendung der verschiedenen Tools in Oracle Cloud Infrastructure File Storage.
In diesem Beispiel wird parcp
verwendet, um das Verzeichnis "folder" aus /source
in /destination
zu kopieren. Mit der Option -P
wird die Anzahl der parallelen Threads festgelegt, die verwendet werden sollen.
$parcp -P 16 /source/folder /destination
Im folgenden Beispiel wird parcp
verwendet, um den content des Verzeichnisses "folder" in /source
in /destination
zu kopieren. Das Verzeichnis "folder" selbst wird nicht kopiert.
$parcp -P 16 /source/folder/. /destination
.tar
-Archiv des Inhalts des angegebenen Verzeichnisses und speichert es als tarball
im Verzeichnis. Im folgenden Beispiel lautet der Name des Verzeichnisses, das zum Erstellen des Tarballs verwendet wird, example
. $partar pcf example.tar example -P 16
example
. Der Tarball wird im Verzeichnis /test
erstellt.$partar pcf example.tar example -P 16 -C /test
Tools verwenden - Erweiterte Beispiele
Im Folgenden finden Sie einige Beispiele für die Verwendung der verschiedenen Tools in erweiterten Szenarios.
Beim Erstellen eines .tar
-Archivs mit partar
können Sie angeben, welche Dateien und Ordner einbezogen werden sollen. Beispiel für ein Verzeichnis wie das folgende:
[opc@example sourcedir]$ ls -l
total 180
-rw-r-----. 1 opc opc 0 Apr 15 02:55 example2020-04-15_02-55-33_217107549.error
-rw-r-----. 1 opc opc 10 Apr 15 03:18 example2020-04-15_02-55-33_217107549.log
-rw-rw-r--. 1 opc opc 12 Apr 15 03:18 example2020-04-15_03-18-13_267771997.error
-rw-rw-r--. 1 opc opc 10 Apr 15 03:18 example2020-04-15_03-18-13_267771997.log
-rwxr-xr-x. 1 opc opc 37 Nov 30 2017 File1.txt
-rwxr-xr-x. 1 opc opc 15 Dec 1 2017 File2.txt
-rwxr-xr-x. 1 opc opc 39 Nov 30 2017 File3.txt
-rwxr-xr-x. 1 opc opc 57 Dec 1 2017 File4.txt
Der folgende Befehl erstellt ein .tar
-Archiv, das:
- ein
mydir
-Verzeichnis mit dem angegebenen Namen enthält. File1.txt
,File2.txt
,File3.txt
undFile4.txt
umfasst.- Schließt alle
.log
- und.error
-Dateien aus. - Der
.tar
Ball wird von/sourcedir
an/mnt/destinationdir
gesendet. - das
.tar
-Archiv extrahiert.
[opc@example sourcedir]$ sudo partar cf - mydir --exclude '*.log*' --exclude '*.err*' | sudo partar xf - -C /mnt/destinationdir
Wenn Sie ls -l
auf /mnt/destinationdir/mytar
ausführen, sehen Sie, dass nur die gewünschten Dateien kopiert wurden.
[opc@example mytar]$ ls -l
total 148
-rwxr-xr-x. 1 opc opc 37 Nov 30 2017 File1.txt
-rwxr-xr-x. 1 opc opc 15 Dec 1 2017 File2.txt
-rwxr-xr-x. 1 opc opc 39 Nov 30 2017 File3.txt
-rwxr-xr-x. 1 opc opc 57 Dec 1 2017 File4.txt
Wenn Sie ein Verzeichnis oder eine Datei aus dem Archiv ausschließen, geben Sie nur den Namen des Verzeichnisses oder der Datei an. Die Option --exclude
unterstützt nicht die Angabe eines absoluten Pfades. Wenn Sie in der Option --exclude
einen absoluten Pfad verwenden, werden das angegebene Verzeichnis oder die angegebenen Dateien nicht aus dem .tar
-Archiv ausgeschlossen. Beispiel: Wenn Sie ein Verzeichnis mit dem Namen testing
aus dem Pfad des Quellverzeichnisses ausschließen möchten, geben Sie dies wie folgt in einem Befehl an:
sudo partar pczf name_of_tar_file.tar.gz /<path_source_directory> --exclude=testing
Alle Dateien oder Verzeichnisse im Quellverzeichnispfad, die dem Muster
--exclude
entsprechen, werden aus dem partar
-Archiv ausgeschlossen.Wenn Sie parcp
zum Kopieren von einem Verzeichnis in ein anderes Verzeichnis verwenden, können Sie angeben, welche Dateien und Ordner einbezogen werden sollen. Beispiel für ein Verzeichnis wie das folgende:
[opc@example sourcedir]$ ls -l
total 180
-rw-r-----. 1 opc opc 0 Apr 15 02:55 example2020-04-15_02-55-33_217107549.error
-rw-r-----. 1 opc opc 10 Apr 15 03:18 example2020-04-15_02-55-33_217107549.log
-rw-rw-r--. 1 opc opc 12 Apr 15 03:18 example2020-04-15_03-18-13_267771997.error
-rw-rw-r--. 1 opc opc 10 Apr 15 03:18 example2020-04-15_03-18-13_267771997.log
-rwxr-xr-x. 1 opc opc 37 Nov 30 2017 File1.txt
-rwxr-xr-x. 1 opc opc 15 Dec 1 2017 File2.txt
-rwxr-xr-x. 1 opc opc 39 Nov 30 2017 File3.txt
-rwxr-xr-x. 1 opc opc 57 Dec 1 2017 File4.txt
Erstellen Sie zunächst eine .txt
-Datei mit einer Liste der auszuschließenden Dateien. In diesem Beispiel ist es /home/opc/list.txt
.
Mit dem folgenden Befehl wird der Inhalt aus sourcedir
in /mnt/destinationdir
kopiert. Dabei gilt:
File1.txt
,File2.txt
undFile3.txt
werden kopiert.File4.txt
und die.log
- und.error
-Dateien werden ausgeschlossen, wie in/home/opc/list.txt
angegeben.
[opc@example ~]$ cat /home/opc/list.txt
File4.txt
*.log*
*.err*
[opc@example ~]$ date; time sudo parcp --exclude-from=/home/opc/list.txt -P 16 --restore /sourcedir /mnt/destinationdir;
date Mon Jun 1 15:58:30 GMT 2020
real 9m55.820s
user 0m3.602s
sys 1m5.441s
Mon Jun 1 16:08:25 GMT 2020
ls -l
auf /mnt/destinationdir
ausführen, sehen Sie, dass nur die gewünschten Dateien kopiert wurden.[opc@example destinationdir]$ ls -l
total 91
-rwxr-xr-x. 1 opc opc 37 Nov 30 2017 File1.txt
-rwxr-xr-x. 1 opc opc 15 Dec 1 2017 File2.txt
-rwxr-xr-x. 1 opc opc 39 Nov 30 2017 File3.txt
Die Option --restore
in parcp
ähnelt der Verwendung der Optionen -a -r -x
und -H
in rsync
. (Weitere Informationen finden Sie auf der Linux-Manpage für rsync(1).) Mit der Option -P
wird die Anzahl der parallelen Threads festgelegt, die verwendet werden sollen.
Die Option restore
umfasst das folgende Verhalten:
- Verzeichnisse rekursiv durchlaufen
- An Dateisystemgrenzen stoppen
- Hardlinks, Symlinks, Berechtigungen, Änderungszeiten, Gruppen, Eigentümer und spezielle Dateien wie
named sockets
undfifo
-Dateien beibehalten
$parcp -P 16 --restore /source/folder/ /destination
Sie können parcp
mit den Optionen --restore
und --delete
verwenden, um Dateien zwischen einem Quell- und einem Zielordner zu synchronisieren. Dies ist ein guter Ersatz für die parallele Verwendung von rsync
. Beim Hinzufügen oder Entfernen von Dateien zu bzw. aus dem Quellverzeichnis können Sie diesen Befehl in regelmäßigen Abständen ausführen, um dieselben Dateien zum Zielverzeichnis hinzuzufügen bzw. daraus zu entfernen. Sie können die Synchronisierung mit dieser Befehlsoption in einem Cron-Job automatisieren.
sudo parcp -P 32 --restore --delete /source/folder/ /destination