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 Toolpartarunterstützt die Extraktion vontar-Dateien, die im Format GNU BasictarPOSIX 1003.1-1990 erstellt wurden. In anderen Archivformaten erstellte Dateien wiePAXwerden 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 /destinationIm 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 16example. Der Tarball wird im Verzeichnis /test erstellt.$partar pcf example.tar example -P 16 -C /testTools 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.txtundFile4.txtumfasst.- Schließt alle
.log- und.error-Dateien aus. - Der
.tarBall wird von/sourcediran/mnt/destinationdirgesendet. - 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.txtWenn 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.txtErstellen 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.txtundFile3.txtwerden kopiert.File4.txtund die.log- und.error-Dateien werden ausgeschlossen, wie in/home/opc/list.txtangegeben.
[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 2020ls -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.txtDie Option --restore in parcp ähnelt der Verwendung der Optionen -a -r -x und -H in rsync. (Weitere Informationen finden Sie auf der rsync(1)- Linux-Manpage.) 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 socketsundfifo-Dateien beibehalten
$parcp -P 16 --restore /source/folder/ /destinationSie 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