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 OCI Object Storage Sync y la herramienta s5cmd
Introducción
Este es el tutorial 3 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 OCI Object Storage Sync (os sync) y s5cmd para migrar datos del sistema de archivos (incluido OCI File Storage) hacia y desde OCI Object 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.
-
OCI Object Storage Sync (os sync) forma parte de la interfaz de línea de comandos de Oracle Cloud Infrastructure (CLI de OCI) que sincroniza un directorio del sistema de archivos con objetos de un cubo. El comando recorre subdirectorios copiando archivos u objetos nuevos y modificados del origen al destino y, opcionalmente, suprimiendo aquellos que no están presentes en el origen.
-
La herramienta s5cmd es un proyecto de código abierto gratuito. s5cmd permite explorar y transferir datos desde/hacia almacenes de objetos compatibles con S3 (incluido OCI Object Storage) hacia/desde datos del sistema de archivos (incluido OCI File Storage). Está escrito en el idioma Go.
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.
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 copiar y/o sincronizar datos del sistema de archivos desde y hacia OCI Object Storage mediante la CLI de OCI con os sync y la herramienta s5cmd.
-
Utilice el comando
os sync
con varios parámetros y opciones. -
Varias formas de ejecutar la herramienta s5cmd para la migración y sincronización de datos.
Requisitos
-
Una cuenta de OCI.
-
Instancia de VM en OCI para desplegar las herramientas de migración o un sistema en el que puede desplegar y utilizar herramientas de migración.
-
La CLI de OCI se instala 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. -
Acceso a un cubo de OCI Object Storage.
-
Permisos de usuario en OCI para utilizar OCI Object Storage, tener acceso para gestionar cubos y objetos o gestionar la familia de objetos para al menos 1 cubo o compartimento. Para obtener más información, consulte Políticas comunes y Referencia de políticas.
-
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, u otro montaje de sistema de archivos de red (NFS) o sistema de archivos local que se utilizará para copiar datos desde y hacia. Para obtener más información, consulte Gestión de la política de almacenamiento de archivos.
-
Familiaridad con el uso de una interfaz de terminal o shell en Mac OS, Linux, Berkeley Software Distribution (BSD), o en Windows PowerShell, símbolo del sistema o bash.
-
Consulte Aspectos esenciales de la migración para mover datos a OCI Cloud Storage para instalar la CLI de OCI con os sync y la herramienta s5cmd.
-
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.
Sincronizar datos del sistema de archivos de red y del sistema de archivos local en/desde OCI Object Storage
OCI Object Storage Sync forma parte de la interfaz de línea de comandos (CLI) de OCI que sincroniza un directorio del sistema de archivos con los objetos de un cubo. El comando recorre subdirectorios copiando archivos u objetos nuevos y modificados del origen al destino y, opcionalmente, suprimiendo aquellos que no están presentes en el origen. Es una herramienta práctica para mantener sincronizados los datos del sistema de archivos y los cubos de OCI Object Storage. Nuestro entorno de prueba encontró que OCI Object Storage Sync tuvo un buen rendimiento para conjuntos de datos mixtos y mejor que otras herramientas para archivos de gran tamaño (1 TB o más).
OCI Object Storage admite una API de compatibilidad de Amazon S3. Los clientes que ya están familiarizados con la variedad de herramientas de Amazon S3 pueden seguir usándolas. La herramienta s5cmd es un proyecto gratuito de código abierto. Permite examinar y transferir datos a/desde un almacén de objetos compatible con S3. Está escrito en el lenguaje Go y está optimizado para el rendimiento en paralelo. Durante nuestras pruebas, encontramos que la herramienta s5cmd funciona mejor para archivos pequeños (archivos de menos de 1 MB y hasta 30 MB) y realizó todas las demás herramientas para mover archivos pequeños. La herramienta s5cmd también funciona bien para juegos de datos mixtos al mover datos de sistemas de archivos a OCI Object Storage.
Si los datos se pueden organizar en subjuegos por directorios o prefijos, también puede escalar horizontalmente la sincronización de sistema operativo y s5cmd se ejecuta en varias máquinas virtuales para mejorar los tiempos de transferencia.
Usar sincronización de sistema operativo para sincronizar
-
Sincronice los datos del sistema de archivos local en OCI Object Storage.
Ejecute el siguiente comando
os sync
básico para sincronizar los archivos de un directorio de origen en un cubo de destino.oci os object sync --src-dir <path to migration-files> --bucket-name <bucket name>
Nota: Este mismo comando se puede utilizar para sistemas de archivos locales, sistemas de archivos NFS locales y en una instancia de OCI Compute con montajes NFS de OCI File Storage para mover datos de OCI File Storage a un cubo de OCI Object Storage.
-
Migre datos de OCI Object Storage a un sistema de archivos local.
Ejecute el siguiente comando
os sync
básico para sincronizar archivos/objetos desde un cubo de origen en un sistema de archivos de destino.oci os object sync --dest-dir <path to migration-target directory> --bucket-name <bucket name>
Nota: Este mismo comando se puede utilizar para sistemas de archivos locales, sistemas de archivos NFS locales y en una instancia de OCI Compute con un montaje NFS de OCI File Storage para mover los datos del servicio OCI File Storage a un cubo de OCI Object Storage.
-
Aumentar las operaciones paralelas.
Por defecto, solo se ejecutan 10 operaciones en paralelo, el aumento de las operaciones en paralelo mejora las velocidades de transferencia de datos y también consume más recursos del sistema y ancho de banda. En nuestro entorno de prueba, hemos utilizado
VM.Standard.E4.Flex
con 24 OCPU, 24Gbps ancho de banda de red, 384 GB de memoria y encontrado 100 operaciones paralelas que funcionan mejor para las velocidades de transferencia. Las máquinas virtuales más grandes pueden aumentar este número 10 operaciones a la vez hasta que se alcance una velocidad de transferencia óptima o hasta que se alcance el máximo de 1.000 transferencias paralelas. Las unidades de máquina virtual más pequeñas deben comenzar en 10 operaciones y aumentar en incrementos de 5 a 10 hasta que se logre un buen rendimiento. Aumente o disminuya las operaciones paralelas con el siguiente indicador.--parallel-operations-count <integer range>
Nota: Si los errores comienzan a producirse después de aumentar la operación paralela, especialmente los errores con 429 "TooManyRequests", reduzca las operaciones paralelas en 2 hasta que se detengan los errores.
-
Filtre los archivos coincidentes mediante el comando de patrón.
Los patrones se pueden utilizar para incluir o excluir archivos coincidentes. Los comandos de patrón se pueden utilizar varias veces en la línea de comandos para que coincidan con varios patrones.
-
Para incluir archivos que coincidan con un patrón, utilice el siguiente comando.
--include
-
Para excluir archivos que coinciden con un patrón, utilice el siguiente comando.
--exclude
Nota:
*
: coincide con todo?
: coincide con un carácter cualquiera[sequence]
: coincide con cualquier carácter de la secuencia[!sequence]
: coincide con cualquier carácter que no esté en la secuencia
-
-
Utilice el indicador
--prefix
.El indicador
--prefix
utilizado al cargar archivos en Object Storage con el comando--src-dir
carga objetos y agrega la ruta de directorio al nombre del objeto como prefijo. Cuando se utilizan para descargar objetos de OCI Object Storage, solo se descargan los objetos con el prefijo especificado y no se muestran como parte del nombre de objeto/archivo. -
Verifique una transferencia antes de una ejecución.
Antes de iniciar una transferencia, puede determinar qué archivos se cargarán/descargarán en/desde OCI Object Storage haciendo que OS sync solo realice una impresión. Ejecute la línea de comandos con el siguiente indicador.
--dry-run
Utilice s5cmd para sincronizar
-
Comando Sync y Copy.
-
La opción
sync
para s5cmd realiza una sincronización unidireccional de origen a destino sin modificar ninguno de los archivos de origen y tampoco suprimirá los archivos del destino que no existan en el origen. Agregue el indicador--delete
para eliminar archivos en el destino que no existan en el origen. -
El comando
copy
simplemente copiará objetos del origen al destino.
-
-
Paridad de patrón.
La herramienta s5cmd soporta comodines de varios niveles para las operaciones de sincronización y copia. Esto se consigue enumerando todos los objetos con el prefijo hasta el primer comodín y, a continuación, filtrando los resultados en memoria.
Cuando el origen es un sistema de archivos, también se aplican comodines. Al utilizar el carácter
*
, a veces se interpreta como un comodín de globalización, envuélvalo entre comillas simples para evitar resultados inesperados.Por ejemplo, para copiar todos los archivos comprimidos en un directorio en un cubo, ejecute el siguiente comando.
s5cmd cp '*.gz' s3:/<bucket name>
-
Comando de sincronización básico.
-
Sincronice los datos del sistema de archivos local en OCI Object Storage. Ejecute el siguiente comando
s5cmd
básico para sincronizar los archivos de un directorio de origen en un cubo de destino.s5cmd sync /<path to migration-files> s3://<bucket name>
-
Sincronice los datos de OCI Object Storage con un sistema de archivos local. Ejecute el siguiente comando
s5cmd
básico para sincronizar archivos/objetos desde un cubo de origen en un sistema de archivos de destino.s5cmd sync s3:/<bucket name>/* /<path to migration-target directory>
Nota: Los mismos comandos se pueden utilizar para sistemas de archivos locales, sistemas de archivos NFS locales y en una instancia de OCI Compute con montajes NFS de OCI File Storage para mover datos de OCI File Storage a un cubo de OCI Object Storage.
-
-
Comando de copia básico.
Ejecute el siguiente comando
s5cmd
básico para copiar los archivos de un directorio de origen de sistema de archivos local en un cubo de destino de OCI Object Storage.s5cmd cp /<path to migration-files> s3://<bucket name>
Copie los datos de OCI Object Storage en un sistema de archivos local.
s5cmd cp "s3:/<bucket name>/*" /<path to migration-target directory>
Nota: Estos comandos se pueden utilizar para sistemas de archivos locales, sistemas de archivos NFS locales y en una instancia informática de OCI con montajes NFS de OCI File Storage para mover datos de OCI File Storage a un cubo de OCI Object Storage. Nuestras pruebas utilizaron principalmente el comando copy con s5cmd.
-
Aumentar el paralelismo.
La herramienta s5cmd ejecuta 256 trabajadores en paralelo por defecto. En función del tamaño de la máquina virtual, puede que desee aumentar o reducir el paralelismo. En nuestro entorno de prueba, hemos utilizado
VM.Standard.E4.Flex
con 24 OCPU, 24Gbps ancho de banda de red, 384 GB de memoria y encontrado 1.000 operaciones paralelas que funcionan mejor para las velocidades de transferencia. Las máquinas virtuales más grandes pueden aumentar este número 10 operaciones a la vez hasta que se alcance una velocidad de transferencia óptima o hasta que se alcance el máximo de 1.000 transferencias paralelas. Las unidades de máquina virtual más pequeñas deben comenzar en 10 operaciones y aumentar en incrementos de 5 a 10 hasta que se logre un buen rendimiento. Aumente o disminuya las operaciones paralelas con el siguiente indicador.--numworkers <interger>
Nota: En caso de que se produzcan errores después de aumentar el número de trabajadores, especialmente errores con 429 "TooManyRequests", reduzca el número de trabajadores en 2 hasta que dejen de producirse los errores.
Por ejemplo, copie todos los objetos de un cubo en un directorio del sistema de archivos local.
s5cmd --numworkers 1000 cp "s3://MyBucket/*" /my/directory
Nota: Probamos con hasta 1.500 trabajadores y no vimos ninguna mejora significativa. Dado que nuestras pruebas encontraron que la herramienta s5cmd funcionaba mejor para archivos pequeños, no encontramos ninguna ventaja al usar el indicador
concurrency
para archivos que necesitan cargas de varias partes y el uso de un alto número de trabajadores mostró el mejor rendimiento general.
(Opcional) Entornos de prueba
Las recomendaciones se realizan en función de las pruebas y las interacciones con los clientes.
Nota: Los resultados de clonación se incluyen para proporcionar más información. Para obtener más información sobre el uso de Rclone, consulte Tutorial 2: Mover datos a OCI Cloud Storage Services mediante Rclone.
Entorno de Prueba 1:
1 instancia de VM VM.Standard.E4.Flex
, 1 OCPU, 1Gbps ancho de banda de red, 16 GB de memoria. Para simular la migración local a OCI, copie datos de PHX NFS a IAD.
Juegos de Datos
-
Juego de Datos 1:
Tamaño Total Recuento de Archivos Rango de tamaño de archivo 3TB 3 1TB Método De Tiempo Comando Indicadores sincronización de sistema operativo PHX de archivos/NFS a IAD de objetos 123m17.102s NA --parallel-operations-count 100
s5cmd PHX de archivos/NFS a IAD de objetos 239m20.625s copy run commands.txt
, ejecución por defecto--numworkers 256
rclone PHX de archivos/NFS a IAD de objetos 178m27.101s copy --transfers=100 --oos-no-check-bucket --fast-list --checkers 64 --retries 2 --no-check-dest
Nota: Nuestras pruebas muestran que
os sync
se ejecuta más rápido para este juego de datos. -
Juego de Datos 2:
Tamaño Total Recuento de Archivos Rango de tamaño de archivo 9.787 GB 20.000 1 MB Método De Tiempo Comando Indicadores s5cmd PHX de archivos/NFS a IAD de objetos 1m12.746s copy ejecución por defecto --numworkers 256
sincronización de sistema operativo PHX de archivos/NFS a IAD de objetos 2m48.742s NA --parallel-operations-count 1000
rclone PHX de archivos/NFS a IAD de objetos 1m52.886s copy --transfers=500 --oos-no-check-bucket --no-check-dest
Nota: Nuestras pruebas muestran que s5cmd está realizando el mejor rendimiento para este juego de datos.
Entorno de Prueba 2:
Instancias de VM: se han utilizado 1-2 instancias de VM por cada prueba, hemos utilizado VM.Standard.E4.Flex
con 24 OCPU, 24Gbps ancho de banda de red y 384 GB de memoria. Oracle Linux 8 se utilizó para las pruebas de Linux.
Juegos de Datos
-
Juego de Datos 1:
14 directorios principales con los siguientes tamaños y recuentos de archivos.
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 Nota:
- Los 14 directorios se dividieron entre las 2 instancias de VM.
- Cada VM ejecutó 7 comandos/procesos, 1 para cada directorio a menos que se indique lo contrario.
Método De Tiempo Comando Indicadores/Notas s5cmd PHX de archivos/NFS a IAD de objetos 54m41.814s copy --numworkers 74
sincronización de sistema operativo PHX de archivos/NFS a IAD de objetos 65m43.200s NA --parallel-operations-count 50
rclone PHX de archivos/NFS a IAD de objetos 111m59.704s copy --oos-no-check-bucket --no-check-dest --ignore-checksum --oos-disable-checksum --transfers 50
Nota: Nuestras pruebas mostraron que s5cmd se ejecutaba más rápido, con la sincronización de os bastante bien en comparación con Rclone.
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.
-
Uso de Fpsync y Rsync para migraciones de datos de sistemas de archivos, consulte Tutorial 4: Mover datos a OCI Cloud Storage Services mediante Fpsync y Rsync para migraciones de datos de sistemas de archivos.
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
-
Sincronización de almacenamiento de objetos de la CLI de OCI
Agradecimientos
- Autor: Melinda Centeno (directora principal sénior de productos de OCI Object 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 OCI Object Storage Sync and the s5cmd Tool
G25636-01
January 2025
Copyright ©2025, Oracle and/or its affiliates.