Note:
- Este tutorial requiere acceso a Oracle Cloud. Para registrarse para obtener una cuenta gratuita, consulte Introducción a la cuenta gratuita de Oracle Cloud Infrastructure.
- Utiliza valores de ejemplo para credenciales, arrendamiento y compartimentos de Oracle Cloud Infrastructure. Al finalizar la práctica, sustituya estos valores por otros específicos de su entorno en la nube.
Traslado de datos a OCI Cloud Storage Services mediante Fpsync y Rsync
Introducción
Este es el tutorial 4 de una serie de cuatro tutoriales en los que se muestran varias formas de migrar datos a los servicios de almacenamiento en la nube de Oracle Cloud Infrastructure (OCI). La serie está configurada para que pueda revisar el Tutorial 1: Uso de herramientas de migración para mover datos a los servicios de almacenamiento en la nube de OCI para obtener una amplia comprensión de las distintas herramientas y, a continuación, continuar con los tutoriales o documentos relacionados relevantes para sus necesidades de migración. Este tutorial se centrará en el uso de fpsync y rsync para migrar datos del sistema de archivos a OCI File Storage.
OCI proporciona a los clientes recursos informáticos de alto rendimiento y opciones de almacenamiento en la nube de bajo costo. A través del almacenamiento local, de objetos, de archivos, de bloques y de archivos bajo demanda, Oracle aborda los requisitos y casos de uso de la carga de trabajo de almacenamiento de claves.
Los servicios de almacenamiento en la nube de OCI ofrecen opciones de almacenamiento en la nube rápidas, seguras y duraderas para todas las necesidades de su empresa. A partir de las opciones de alto rendimiento, como OCI File Storage con el servicio Lustre y OCI Block Volumes; sistemas de archivos de escala de exabytes totalmente gestionados desde el servicio OCI File Storage con destinos de montaje de alto rendimiento; hasta OCI Object Storage altamente duradero y escalable. Nuestras soluciones pueden satisfacer sus demandas, desde aplicaciones de alto rendimiento como cargas de trabajo de IA/AA hasta lagos de datos a escala de exabytes.
-
La herramienta fpsync es una secuencia de comandos de envoltorio paralelo que, por defecto, utiliza rsync. También puede utilizar Rclone (como se describe en Tutorial 2: Mover datos a OCI Cloud Storage Services mediante Rclone), tar, tarify y cpio.
-
Rsync es una utilidad versátil para transferir y sincronizar archivos para sistemas de archivos remotos y locales.
Determina la cantidad de datos que se deben migrar y el tiempo de inactividad disponible para la transición a la nueva plataforma de almacenamiento de OCI. Las migraciones por lotes son una buena opción para desglosar la migración en incrementos gestionables. Las migraciones por lotes le permitirán programar el tiempo de inactividad de aplicaciones específicas en diferentes ventanas. Algunos clientes tienen la flexibilidad de realizar una migración única durante un período de mantenimiento programado de 2 a 4 días. OCI FastConnect se puede utilizar para crear una conexión dedicada y privada entre OCI y su entorno, con velocidades de puerto de 1G a 400G para acelerar el proceso de transferencia de datos. OCI FastConnect se puede integrar con soluciones de partners como Megaport y ConsoleConnect para crear una conexión privada a su centro de datos o interconexión de nube a nube para mover los datos más directamente de otro proveedor en la nube al servicio de almacenamiento en la nube de OCI. Para obtener más información, consulte la integración de FastConnect con Megaport Cloud Router.
Diferencia entre Rsync y Fpsync
-
Rsync es una utilidad tradicional del sistema operativo (SO) Linux que se utiliza para realizar una copia única o sincronización periódica de datos de una máquina a otra en la misma ubicación geográfica o en diferentes ubicaciones. Es posible que un único proceso de sincronización no sea suficiente con grandes conjuntos de datos para realizar la transferencia en la cantidad de tiempo deseada. Rsync tiene opciones para poner en marcha varios procesos rsync, cada uno en ejecución en un subconjunto específico del conjunto de datos, completando la transferencia del conjunto de datos más rápidamente que un solo proceso. Sin embargo, determinar el equilibrio entre cuántos procesos y qué subconjuntos puede ser un desafío en función de la complejidad de la jerarquía de conjuntos de datos. Fpsync simplifica este proceso. Fpsync es un orquestador que divide todo el conjunto de datos en fragmentos más pequeños y genera varios procesos rsync basados en el paralelismo del conjunto de usuarios. Internamente, Fpsync utiliza rsync para realizar la transferencia real. Las opciones Cpio y tar están disponibles como opciones de herramienta subyacentes para fpsync, pero rsync es el valor predeterminado.
-
Fpsync tiene la opción de nodos de trabajador, donde puede distribuir el traslado entre varios nodos en lugar de entre un único nodo. Además del aumento de procesos rsync paralelos en el mismo nodo (escalado), también puede aumentar el número de nodos (escalado) para ejecutar el mayor número de procesos rsync.
Público Objetivo
DevOps ingenieros, desarrolladores, administradores y usuarios de OCI Cloud Storage, responsables de TI, usuarios avanzados de OCI y administradores de aplicaciones.
Objetivo
Descubra cómo utilizar rsync y fpsync para copiar y sincronizar datos en los servicios de almacenamiento en la nube de OCI:
-
Aprenda a utilizar rsync y fpsync juntos.
-
Comprenda las ventajas de rendimiento del uso de fpsync.
Requisitos
-
Una cuenta de OCI.
-
Interfaz de línea de comandos (CLI) de Oracle Cloud Infrastructure instalada con un archivo de configuración de trabajo en el directorio raíz en un subdirectorio denominado
.oci
. Para obtener más información, consulte Configuración del archivo de configuración. -
Permiso de usuario para crear, exportar y montar OCI File Storage o acceso a un destino de montaje de OCI File Storage que ya esté montado en una máquina virtual. Para obtener más información, consulte Gestión de la política de almacenamiento de archivos.
-
Ya sabe cómo crear, gestionar y montar el almacenamiento conectado a la red (NAS) y OCI File Storage. Para obtener más información, consulte Configuración de OCI para File System Storage y Visión general de File Storage.
-
Acceso para crear e iniciar instancias de OCI Compute o acceso a 3 sistemas para ejecutar fpsync. Para obtener más información, consulte Creación de una instancia.
-
Familiarizado con:
-
Trabajar con SSH, generar claves SSH y trabajar con archivos de configuración SSH. Para obtener más información, consulte Creación de un par de claves SSH en la línea de comandos de Linux para el acceso a OCI.
-
Herramientas y comandos de red básicos para comprobar la conectividad entre dos sitios o sistemas.
-
Uso de una interfaz de terminal o shell en Mac OS, Linux, Berkeley Software Distribution (BSD) y en Windows PowerShell, símbolo del sistema o bash.
-
Instalación de software en un sistema Linux.
-
-
Para conocer las herramientas de migración que podemos utilizar, consulte Tutorial 1: Uso de herramientas de migración para mover datos a OCI Cloud Storage Services.
Migración de datos a OCI File Storage
Fpsync y rsync se pueden utilizar para migrar datos del sistema de archivos (servicio OCI File Storage, servicio OCI Block Volumes, OCI File Storage with Lustre, sistema de archivos local y sistema de archivos de red local (NFS) a otros tipos de almacenamiento de sistemas de archivos (incluido OCI File Storage).
Uso de Rsync para Migrar Datos
-
Utilice rsync con transmisión de instancia a instancia.
Para conjuntos de datos pequeños de hasta unas pocas decenas de GB y unos pocos miles de archivos, se puede utilizar la transmisión de instancia a instancia de rsync. La transmisión de instancia a instancia mediante NFS local activado mediante SSH dentro de una red y SSH entre la red de origen y destino y, por lo tanto, ayuda a reducir la latencia de NFS entre dos redes. Utilice el comando siguiente.
rsync --archive --perms --owner --group --xattrs --acls --recursive --delete --compress --ignore-errors --progress --log-file=$HOME/rsync/logs/test.log1 --quiet -e ssh /src/path/ root@<destination_instance>:/destination/path/
-
Ejecución de varios procesos de sincronización en paralelo.
-
Puede utilizar los comandos
find
yxargs
para ejecutar varios procesos rsync.find /src/path/ -maxdepth 1 | xargs -P 24 -I {} rsync --archive --perms --owner --group --xattrs --acls --recursive --delete --compress --log-file=<logfile_path> -quiet -e ssh {} root@<destination_instance>:/destination/path/
-
También puede utilizar GNU en paralelo.
find /src/path/ -maxdepth 1 | parallel -P24 rsync --archive --perms --owner --group --xattrs --acls --recursive --delete --compress --exclude=.snapshot --ignore-errors --progress --log-file=$HOME/rsync/logs/test.log1 --quiet -e ssh {} root@<destination_instance>:/destination/path/
Nota: En ambos ejemplos, se ejecutan 24 procesos a la vez, el parámetro se ha seleccionado según la capacidad de CPU de la instancia utilizada.
-
Uso de Fpsync para Migrar Datos
La herramienta fpsync es un envoltorio paralelo de rsync. También puede utilizar tar, tarify y cpio, pero el valor por defecto es rsync.
-
Instale fpsync en su máquina Linux.
- Ejecute el siguiente comando para Linux 8.
sudo yum install -y https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm sudo yum install fpart -y
- Ejecute el siguiente comando para Linux 9.
sudo yum install -y https://dl.fedoraproject.org/pub/epel/epel-release-latest-9.noarch.rpm sudo yum install fpart -y
-
Ejecute fpsync con el siguiente comando.
Por ejemplo:
fpsync -v -n `nproc` -o "-lptgoD -v --numeric-ids --logfile /tmp/fpsync.log1” /src/path/ root@<destination_instance>:/destination/path/
Nota: Para obtener más información sobre las opciones y los parámetros de fpsync, consulte
man fpsync
.
Ejecución de Fpsync mediante tres nodos de trabajador para migrar datos de recursos compartidos de archivos locales al servicio OCI File Storage
Siga los pasos de alto nivel para ejecutar fpsync mediante tres nodos de trabajador para migrar datos de recursos compartidos de archivos locales (disco local, SAN o NAS) al servicio OCI File Storage.
En la siguiente imagen se muestra un diagrama de arquitectura de componentes.
Realice los pasos:
-
Identifique tres nodos de trabajador y un nodo de destino.
Identifique tres sistemas locales a los que tenga acceso para montar el sistema de archivos de origen. También puede crear e iniciar tres instancias de OCI Compute VM con fines de prueba.
Identifique una instancia de máquina virtual de OCI existente o cree e inicie una nueva para que sirva como nodo de destino.
-
Monte el recurso compartido NAS de origen en los tres nodos.
Utilice las opciones de montaje
nordirplus
ynconnect=16
, no especifique otras opciones de montajenfs
.Por ejemplo, ejecute el siguiente comando de montaje en un sistema Linux.
sudo mount -t nfs -o nordirplus,nconnect=16 10.x.x.x:/<EXPORT_PATH_NAME> /mnt/nfs-data
Por ejemplo, ejecute el siguiente comando para verificar el montaje.
mount | grep /mnt/nfs-data
Nota: con fines de prueba, puede utilizar OCI File Storage para crear, exportar y montar un sistema de archivos. Se pueden crear datos de prueba en el montaje para probar fpsync.
-
Seleccione un nodo para ejecutar fpsync y actualizar el archivo
/etc/hosts
.Puede seleccionar uno de los tres nodos o un nodo diferente para ejecutar el comando
fpsync
. El nodo en el que se ejecuta el comandofpsync
se denomina nodo ejecutador.En el nodo donde se ejecutará fpsync, utilice el editor de texto preferido para actualizar el archivo
/etc/hosts
con los tres nodos de trabajador comoworker-src-1
,worker-src-2
yworker-src-3
.Por ejemplo:
vim /etc/hosts 127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4 ::1 localhost localhost.localdomain localhost6 localhost6.localdomain6 10.0.0.4 worker-src-1.subnet.vcn.oraclevcn.com worker-src-1 10.0.0.5 worker-src-2 10.0.0.6 worker-src-3
-
Monte el sistema de archivos de destino en el nodo de destino.
Identifique el sistema de archivos de destino y móntelo en el nodo de destino. También puede crear y montar OCI File Storage en el nodo de destino.
-
Asegúrese de que se ha establecido la conectividad local a OCI.
Utilice herramientas de red comunes como
ping
,traceroute
,ssh
, etc., para verificar la conectividad entre sistemas, locales y OCI. -
Active SSH sin contraseña entre todos los nodos de origen y de destino y verifique la conexión SSH entre los pares de nodos de origen y de destino.
Identifique la clave SSH pública para el usuario que ejecutará el comando
fpsync
en el nodo de ejecutor. Esta clave se encuentra normalmente en el directorio raíz del usuario en el directorio.ssh
y normalmente se denominaid_rsa.pub
. Propague esta clave a todos los nodos de trabajador mediante el comandocat
para mostrar su contenido, copiar la clave y pegarla en el archivo$HOME/.ssh/authorized_keys
de los nodos de trabajador. También puede utilizar el comandossh-copy-id
para distribuir la clave a cada nodo de trabajador y al nodo de destino si está activado SSH basado en contraseña. Por ejemplo:[worker-src-1 ~]$ ssh-copy-id username@worker-src-2
-
Ejecute el comando fpsync en el nodo ejecutador.
Nota: es necesario que fpsync se instale solo en el nodo ejecutador que ejecutará los comandos
rsync
en los nodos de destino mediante SSH a través de los nodos de trabajador.Por ejemplo:
fpsync -v -n X -f Y -o "-lptgoD -v --numeric-ids -e ssh -C" \ -w username@worker-src-1 -w username@worker-src-2 -w username@worker-src-3 \ -d /nfs-data/fpsync_wrkr /nfs-data/fpsync_src/ opc@worker-dest:/fpsync-fs/
Nota: Sustituya X e Y por los valores de las opciones de fpsync
-n
y-f
.-
Determine el valor de los trabajos de sincronización simultáneos, que es
-n
.- Seleccione el valor
-n
para que sea igual al número decpu_cores
de todos los nodos de trabajador del origen y mantenga tantos como nodos de trabajador de destino de la misma CPU y memoria. - Si tiene 3 nodos de trabajador con 16 núcleos de CPU en cada uno, es 3 nodos de trabajador por 16
cpu_cores
= 48.
- Seleccione el valor
-
Determine el valor de la cantidad de archivos que se transferirán por trabajo de sincronización, que es
-f
.- Por ejemplo, si tiene dos carpetas con directorios grandes y un total de 1,1 millones de archivos, las dos carpetas contienen archivos ~700K con un tamaño de archivo medio de 160 KB.
- Cada nodo de trabajador se configura con: 64 GB = 64000000KB de memoria, 8 OCPU = 16
cpu_cores
, con la memoria porcpu_core
siendo: 64000000/16 = 400000KB/cpu_core
. Memoria en cada nodo de trabajador = 64 GB = 64000000 KB. - Calcule el valor de
-f
, 4000000KB/160 = 25000.
-
(Opcional) Entorno de prueba
Para simular la migración local a OCI, se utiliza el sistema de archivos de OCI File Storage (Ashburn) con el siguiente juego de datos como recurso compartido NAS local y el sistema de archivos de OCI File Storage (Phoenix) como destino.
Ambas regiones se intercambian de forma remota mediante el gateway de direccionamiento dinámico.
Directorio de juego de datos | Tamaño | Recuento de Archivos | Tamaño de cada archivo |
---|---|---|---|
Directorio 1 | 107.658 GiB | 110.242 | 1 MiB |
Directorio 2 | 1.687 GiB | 110.569 | 15 MiB |
Directorio 3 | 222 GiB | 111 | 2 GiB |
Directorio 4 | 1.265 TiB | 1.295 | 1 GiB |
Directorio 5 | 26.359 GiB | 1.687 | 16 MiB |
Directorio 6 | 105.281 MiB | 26.952 | 4 KiB |
Directorio 7 | 29.697 MiB | 30.410 | 1 KiB |
Directorio 8 | 83.124 GiB | 340.488 | 256 KiB |
Directorio 9 | 21.662 GiB | 354.909 | 64 KiB |
Directorio 10 | 142.629 GiB | 36.514 | 4 MiB |
Directorio 11 | 452.328 MiB | 57.898 | 8 MiB |
Directorio 12 | 144 GiB | 72 | 2GiB |
Directorio 13 | 208.500 GiB | 834 | 256 MiB |
Directorio 14 | 54.688 GiB | 875 | 64 MiB |
Instancias de VM: en las regiones Ashburn y Phoenix, se utilizan tres 16 VM cpu_core
, 64 GB de memoria, 8Gbps de ancho de banda Linux9 VM como nodos de trabajador y una VM 8 cpu_core
como nodo ejecutador.
A continuación se muestran los valores de TCP que tiene toda la instancia:
net.core.rmem_max = 16777216
net.core.wmem_max = 16777216
net.ipv4.tcp_rmem = 4096 87380 16777216
net.ipv4.tcp_wmem = 4096 87380 16777216
net.ipv4.tcp_window_scaling = 1
Ambas instancias regionales tienen el sistema de archivos de OCI File Storage respectivo montado como se menciona en la sección Ejecución de Fpsync mediante tres nodos de trabajador para migrar datos de recursos compartidos de archivos locales al servicio OCI File Storage.
Ejecute el siguiente comando fpsync
. X e Y son opciones de fpsync.
fpsync -v -n X -f Y -o "-lptgoD -v --numeric-ids -e ssh -C" \
-w opc@worker-src-1 -w opc@worker-src-2 -w opc@worker-src-3 \
-d /fpsync-fs/fpsync_wrkr /fpsync-fs/x_region_fpsync_src/ opc@worker-dest:/fpsync-fs/
-
Determine el valor de
-n
.Select the -n value to be equal to number of cpu_cores of all worker nodes in the source and keep as many as destination worker nodes of same CPU and memory. In this example, it is 3 worker nodes times 16 cpu_cores = 48.
-
Determine el valor de
-f
.In this example, two folders are large directories. Of the total 1.1 million files, the two folders contain ~700K files with an average file size of 160KB. Memory in each worker node = 64GB = 64000000KB. Processes in each worker node = 8 OCPU = 16 cpu_cores. Memory per Process = 64000000/16 = 4000000KB/process. Now, an appropriate value for -f can be calculated as 4000000KB / 160 = 25000.
En la siguiente tabla se muestra el tiempo que tarda fpsync en completar los archivos de transferencia de datos de 2,25 TB y 1 millón para diferentes combinaciones de compresión y SSH X e Y y rsync.
opción fpsync | Opción de montaje nfs en nodos de trabajador de origen y destino | Tipo de rendimiento de destino de montaje de almacenamiento de archivos | Tiempo Utilizado |
---|---|---|---|
-n 30 -f 2000 -e ssh | nconnect=16, nordirplus | 3 destinos de montaje estándar, 1:1 asignados a nodos de trabajador | 237m28s |
-n 48 -f 5000 -e ssh -C | nconnect=16, nordirplus | fuente y destino con 1 HPMT 40 cada uno | 163m38.887s |
-n 60 -f 20000 | nconnect=16, nordirplus | 3 destinos de montaje estándar, 1:1 asignados a nodos de trabajador | 124m25.435s |
-n 48 -f 400000 -e ssh -C | nconnect=16, nordirplus | 3 destinos de montaje estándar, 1:1 asignados a nodos de trabajador | 122m55.458s |
-n 100 -f 200000 -e ssh | nconnect=16, nordirplus | 3 destinos de montaje estándar, 1:1 asignados a nodos de trabajador | 120m44s |
-n 60 -f 200000 -e ssh | nordirplus solamente, NO nconnect | 3 destinos de montaje estándar, 1:1 asignados a nodos de trabajador | 118m41.393s |
-n 60 -f 200000 -e ssh | nconnect=16, nordirplus | 3 destinos de montaje estándar, 1:1 asignados a nodos de trabajador | 118m3.845s |
-n 48 -f 20000 -e ssh | nconnect=16, nordirplus | fuente y destino con 1 HPMT 40 cada uno | 113m34.011s |
-n 48 -f 200000 | nconnect=16, nordirplus | fuente y destino con 1 HPMT 40 cada uno | 110m15.555s |
-n 48 -f 200000 | nconnect=16, nordirplus | fuente y destino con 1 HPMT 40 cada uno | 109m3.472s |
Podemos ver que cualquier combinación de -n
por encima de 48 y -f
por encima de 20000 dio un rendimiento similar alrededor de 2 horas de tiempo de transferencia en toda la región. Incluso, con el destino de montaje de alto rendimiento 40 GBps, no se reduce mucho el tiempo que se tarda.
El resultado significa que, según el tamaño del juego de datos real que se va a transferir, puede seleccionar varios destinos de montaje estándar o de alto rendimiento para el sistema de archivos. Si el juego de datos de origen está compuesto principalmente por archivos de gran tamaño (tamaño de archivo >= 1M) y el tamaño total del juego de datos es de 20 TB y superior, el destino de montaje de alto rendimiento es una buena opción. De lo contrario, los destinos de montaje estándar con una configuración de escala horizontal pueden proporcionar el rendimiento deseado, además de una rentabilidad.
Pasos Siguientes
Vaya a los tutoriales relacionados relevantes para sus necesidades de migración. Para mover datos a los servicios de almacenamiento en la nube de OCI:
-
Uso de Rclone, consulte Tutorial 2: Movimiento de datos a los servicios de almacenamiento en la nube de OCI mediante Rclone.
-
Con OCI Object Storage Sync y S5cmd, consulte Tutorial 3: traslado de datos a OCI Cloud Storage Services mediante OCI Object Storage Sync y S5cmd.
Enlaces relacionados
-
Aspectos esenciales de la migración de datos al almacenamiento en la nube de OCI
-
Tutorial 2: Traslado de datos a los servicios de almacenamiento en la nube de OCI mediante Rclone
-
Tutorial 3: Traslado de datos a OCI Cloud Storage Services mediante OCI Object Storage Sync y S5cmd
Agradecimientos
- Autor: Vinoth Krishnamurthy (miembro principal del personal técnico de OCI File Storage)
Más recursos de aprendizaje
Explore otros laboratorios en docs.oracle.com/learn o acceda a más contenido de formación gratuita en el canal YouTube de Oracle Learning. Además, visite education.oracle.com/learning-explorer para convertirse en un explorador de Oracle Learning.
Para obtener documentación sobre el producto, visite Oracle Help Center.
Move Data into OCI Cloud Storage Services using Fpsync and Rsync
G25646-01
January 2025
Copyright ©2025, Oracle and/or its affiliates.