Note:

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.

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.

Requisitos

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

  1. 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.

  2. 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.

  3. 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.

  4. 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
  5. 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.

  6. 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

  1. 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.

  2. 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>
    
  3. 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.

  4. 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.

  5. 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

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

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:

Agradecimientos

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.