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 kit de herramientas incluye:
partar
: utilice este comando para crear y extraer tarballs en paralelo.Nota
La herramientapartar
soporta la extracción de archivostar
creados en el formato básico de GNUtar
POSIX 1003.1-1990. Los archivos creados en otros formatos de archivo, comoPAX
, no están soportados.parrm
: puede utilizar este comando para eliminar de forma recursiva un directorio en paralelo.parcp
: utilice este comando para copiar de forma recursiva un directorio en paralelo.
Instalación de Parallel File Tools
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 de desarrolladores de Oracle Linux, si es necesario, mediante el siguiente comando:
dnf install oraclelinux-developer-release-el8
- Instale Parallel File Tools desde el repositorio de desarrolladores mediante 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 básicos
A continuación se muestran algunos ejemplos sencillos de cómo se suelen utilizar las distintas herramientas en Oracle Cloud Infrastructure File Storage.
En este ejemplo, parcp
se utiliza para copiar el directorio "folder" de /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, parcp
se utiliza para copiar los contenidos del directorio "folder" de /source
en /destination
. El directorio "folder" en sí no se copia.
$parcp -P 16 /source/folder/. /destination
.tar
del contenido del directorio especificado y lo almacena como un tarball
(archivo tar) en el directorio. En el siguiente ejemplo, el nombre del directorio que se utiliza para crear el archivo tar es example
. $partar pcf example.tar example -P 16
example
. El archivo tarball se está creando en el directorio /test
.$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 diferentes herramientas en escenarios más avanzados.
Puede especificar qué archivos y carpetas se incluyen al crear un archivo .tar
mediante partar
. Supongamos que tiene un directorio similar al siguiente:
[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
El siguiente comando crea un archivo .tar
que:
- Contiene un directorio
mydir
con el nombre especificado. - Incluye
File1.txt
,File2.txt
,File3.txt
yFile4.txt
. - No incluye todos los archivos
.log
y.error
. - Envía el archivo
.tar
de/sourcedir
a/mnt/destinationdir
- Extrae el archivo
.tar
[opc@example sourcedir]$ sudo partar cf - mydir --exclude '*.log*' --exclude '*.err*' | sudo partar xf - -C /mnt/destinationdir
Al realizar ls -l
en /mnt/destinationdir/mytar
, se muestra que solo 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
Al excluir un directorio o un archivo del archivo, proporcione solo el nombre del directorio o del archivo. La opción --exclude
no soporta el uso de una ruta de acceso absoluta. El uso de una ruta de acceso absoluta en la opción --exclude
no excluirá el directorio o los archivos especificados del archivo .tar
. Por ejemplo, si necesita excluir un directorio denominado testing
de la ruta del directorio de origen, debe especificarlo en un comando como el siguiente:
sudo partar pczf name_of_tar_file.tar.gz /<path_source_directory> --exclude=testing
Todos los archivos o directorios que coincidan con el patrón
--exclude
en la ruta del directorio de origen se excluirán del archivo partar
.Puede especificar qué archivos y carpetas están incluidos si utiliza parcp
para copiar de un directorio a otro. Supongamos que tiene un directorio similar al siguiente:
[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 desee excluir. En este ejemplo, es /home/opc/list.txt
.
El siguiente comando copia el contenido de sourcedir
a /mnt/destinationdir
y:
- Copia
File1.txt
,File2.txt
yFile3.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 solo 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
de 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.
La opción restore
incluye el siguiente comportamiento:
- Recorrer los 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
Puede utilizar parcp
con las opciones --restore
y --delete
para sincronizar archivos entre una carpeta de origen y una de destino. Este es un buen sustituto del uso de 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