Uso de herramientas paralelas de File Storage
La suite Parallel File Tools proporciona versiones paralelas de tar
, rm
y cp
. Estas herramientas pueden ejecutar solicitudes en sistemas de archivos grandes en paralelo, lo que maximiza el rendimiento para las operaciones de protección de datos.
El toolkit incluye:
partar
: utilice este comando para crear y extraer tarballs en paralelo.parrm
: puede utilizar este comando para eliminar (remove) de forma recursiva un directorio en paralelo.parcp
: utilice este comando para copiar (copy ) de forma recursiva un directorio en paralelo.
Instalación de las herramientas de archivos paralelas
La suite de herramientas se distribuye como un RPM para Oracle Linux, Red Hat Enterprise Linux y CentOS.
Para instalar Parallel File Tools en una instancia de Oracle Linux:
- Abra una ventana de terminal en la instancia de destino.
- Escriba el siguiente comando:
sudo yum install -y fss-parallel-tools
Para instalar Parallel File Tools en una instancia de Oracle Linux 8:
- Abra una ventana de terminal en la instancia de destino.
- Instale el repositorio del desarrollador de Oracle Linux, si es necesario, mediante el siguiente comando:
dnf install oraclelinux-developer-release-el8
- Instale Parallel File Tools desde el repositorio del desarrollador con el siguiente comando:
dnf --enablerepo=ol8_developer install fss-parallel-tools
Para instalar Parallel File Tools en CentOS y Red Hat 6.x:
- Abra una ventana de terminal en la instancia de destino.
- Escriba el siguiente comando:
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
- Abra una ventana de terminal en la instancia de destino.
- Escriba el siguiente comando:
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
Uso de Herramientas: Ejemplos Simples
A continuación, se muestran algunos ejemplos sencillos de cómo se utilizan las distintas herramientas en Oracle Cloud Infrastructure File Storage.
En este ejemplo, se utiliza parcp
para copiar la "carpeta" del directorio en /source en /destination. La opción -P
se utiliza para definir el número de threads paralelos que desea utilizar.
$parcp -P 16 /source/folder /destination
En el siguiente ejemplo, se utiliza parcp
para copiar los contents del directorio "folder" en /source en /destination. No se copia el directorio "folder".
$parcp -P 16 /source/folder/. /destination
.tar
del contenido del directorio especificado y lo almacena como tarball
en el directorio. En el siguiente ejemplo, el nombre del directorio que se está utilizando para crear el tarball es example.
$partar pcf example.tar example -P 16
$partar pcf example.tar example -P 16 -C /test
Uso de Herramientas - Ejemplos Avanzados
A continuación se muestran algunos ejemplos de cómo se utilizan las distintas herramientas en escenarios más avanzados.
.tar
con partar
. Supongamos que tiene un directorio que tiene el siguiente aspecto:[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
.tar
que:- Contiene File1.txt, File2.txt, File3.txt y File4.txt.
- Excluye todos los archivos .log y .error.
- Asigna un nombre al archivo
.tar
mytar
- Envía la bola .tar de /sourcedir a /mnt/destinationdir
- Extrae el archivo .tar.
[opc@example sourcedir]$ partar cf - mytar '*.log*' --exclude '*.err*' | partar xf - -C /mnt/destinationdir
ls -l
en /mnt/destinationdir/mytar, se muestra que sólo se han copiado los archivos deseados.[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
parcp
para copiar de un directorio a otro. Supongamos que tiene un directorio que tiene el siguiente aspecto:[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
En primer lugar, cree un archivo .txt
que contenga una lista de archivos que desea excluir. En este ejemplo, es /home/opc/list.txt.
- Copia File1.txt, File2.txt y File3.txt.
- Excluye los archivos File4.txt y .log y .error, como se muestra en /home/opc/list.txt.
[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
en /mnt/destinationdir, se muestra que sólo se han copiado los archivos deseados.[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
La opción --restore
en parcp
es similar al uso de las opciones -a -r -x
y -H
en rsync
. (Consulte rsync(1)- Linux Man Page). La opción -P
se utiliza para definir el número de threads paralelos que desea utilizar.
restore
incluye el siguiente comportamiento:- Volver a formar directorios
- Parar en los límites del sistema de archivos
- Conservar enlaces físicos, enlaces simbólicos, permisos, horas de modificación, grupo, propietarios y archivos especiales como archivos
named sockets
yfifo
$parcp -P 16 --restore /source/folder/ /destination
parcp
con las opciones --restore
y --delete
para sincronizar archivos entre una carpeta de origen y de destino. Esto es un buen sustituto para utilizar rsync
en paralelo. A medida que se agregan o eliminan archivos del directorio de origen, puede ejecutar este comando a intervalos regulares para agregar o eliminar los mismos archivos del directorio de destino. Puede automatizar la sincronización mediante esta opción de comando en un trabajo cron.
sudo parcp -P 32 --restore --delete /source/folder/ /destination