Observação:
- Este tutorial requer acesso ao Oracle Cloud. Para se inscrever em uma conta gratuita, consulte Conceitos Básicos do Oracle Cloud Infrastructure Free Tier.
- Ele usa valores de exemplo para credenciais, tenancy e compartimentos do Oracle Cloud Infrastructure. Ao concluir seu laboratório, substitua esses valores por valores específicos do seu ambiente de nuvem.
Migre Dados para o OCI Cloud Storage Services usando o OCI Object Storage Sync e a Ferramenta s5cmd
Introdução
Este é o tutorial 3 de uma série de quatro tutoriais que mostra várias maneiras de migrar dados para os serviços de armazenamento em nuvem do OCI (Oracle Cloud Infrastructure). A série está configurada para que você possa revisar o Tutorial 1: Usar Ferramentas de Migração para Mover Dados para Serviços do OCI Cloud Storage para obter uma ampla compreensão das várias ferramentas e, em seguida, prosseguir para os tutoriais ou documentos relacionados relevantes para suas necessidades de migração. Este tutorial se concentrará no uso do OCI Object Storage Sync (os sync) e do s5cmd para migrar dados do sistema de arquivos (incluindo o OCI File Storage) de e para o OCI Object Storage.
A OCI oferece aos clientes computação de alto desempenho e opções de armazenamento em nuvem de baixo custo. Por meio do armazenamento sob demanda local, de objetos, arquivos, blocos e arquivos compactados, a Oracle atende aos principais requisitos de carga de trabalho de armazenamento e casos de uso.
Os serviços de armazenamento em nuvem da OCI oferecem opções de armazenamento em nuvem rápidas, seguras e duráveis para todas as necessidades da sua empresa. Começando com as opções de alto desempenho, como o OCI File Storage com o Lustre e o serviço OCI Block Volumes; sistemas de arquivos de escala de exabytes totalmente gerenciados do serviço OCI File Storage com pontos de acesso NFS de alto desempenho; para o OCI Object Storage altamente durável e escalável. Nossas soluções podem atender às suas demandas, desde aplicações com alto desempenho, como cargas de trabalho de IA/ML, até data lakes em escala de exabytes.
-
O OCI Object Storage Sync (os sync) faz parte da Interface de Linha de Comando (CLI do OCI) do Oracle Cloud Infrastructure que sincroniza um diretório do sistema de arquivos com objetos em um bucket. O comando percorre subdiretórios copiando arquivos ou objetos novos e modificados da origem para o destino e, opcionalmente, excluindo aqueles que não estão presentes na origem.
-
A ferramenta s5cmd é um projeto gratuito de código aberto. O s5cmd permite navegar e transferir dados de/para armazenamentos de objetos compatíveis com S3 (incluindo OCI Object Storage) para/de dados do sistema de arquivos (incluindo OCI File Storage). Está escrito na língua Go.
Determine a quantidade de dados que precisam ser migrados e o tempo de inatividade disponível para transferência para a nova plataforma de armazenamento da OCI. As migrações em lote são uma boa opção para dividir a migração em incrementos gerenciáveis. As migrações em batch permitirão que você programe o tempo de inatividade para aplicativos específicos em diferentes janelas. Alguns clientes têm a flexibilidade de fazer uma migração única em uma janela de manutenção programada de 2 a 4 dias. O OCI FastConnect pode ser usado para criar uma conexão privada dedicada entre o OCI e seu ambiente, com velocidades de porta de 1G a 400G para acelerar o processo de transferência de dados. O OCI FastConnect pode ser integrado a soluções de parceiros, como Megaport e ConsoleConnect, para criar uma conexão privada com seu data center ou interconexão nuvem a nuvem para mover dados mais diretamente de outro fornecedor de nuvem para o serviço de armazenamento em nuvem da OCI. Para obter mais informações, consulte a integração FastConnect com o Megaport Cloud Router.
Público-alvo
DevOps engenheiros, desenvolvedores, administradores e usuários de armazenamento em nuvem da OCI, gerentes de TI, usuários avançados da OCI e administradores de aplicativos.
Objetivo
Saiba como copiar e/ou sincronizar dados do sistema de arquivos de/para o OCI Object Storage usando a CLI do OCI com o os sync e a ferramenta s5cmd.
-
Use o comando
os sync
com vários parâmetros e opções. -
Várias maneiras de executar a ferramenta s5cmd para migração e sincronização de dados.
Pré-requisitos
-
Uma conta do OCI.
-
Instância de VM no OCI para implantar as ferramentas de migração ou um sistema no qual você pode implantar e usar ferramentas de migração.
-
A CLI do OCI instalada com um arquivo de configuração de trabalho no diretório home em um subdiretório chamado
.oci
. Para obter mais informações, consulte Configurando o Arquivo de Configuração. -
Acesso a um bucket do OCI Object Storage.
-
Permissões de usuário no OCI para usar o OCI Object Storage, ter acesso para gerenciar buckets e objetos ou gerenciar a família de objetos para pelo menos 1 bucket ou compartimento. Para mais informações, consulte Políticas Comuns e Referência de Políticas.
-
Permissão do usuário para criar, exportar e montar o OCI File Storage ou acesso a um ponto de acesso NFS do OCI File Storage que já esteja montado em uma VM ou em outra montagem do NFS (Network File System) ou sistema de arquivos local a ser usado para copiar dados de/para. Para obter mais informações, consulte Gerenciar Política de Armazenamento de Arquivos.
-
Familiaridade com o uso de uma interface de terminal ou shell no Mac OS, Linux, Berkeley Software Distribution (BSD) ou no Windows PowerShell, prompt de comando ou bash.
-
Analise Migration Essentials for Moving Data into OCI Cloud Storage para instalar a CLI do OCI com os sync e a ferramenta s5cmd.
-
Para saber as ferramentas de migração que podemos usar, consulte o Tutorial 1: Usar Ferramentas de Migração para Mover Dados para o OCI Cloud Storage Services.
Sincronizar o Sistema de Arquivos de Rede e os Dados do Sistema de Arquivos Local de/para o OCI Object Storage
O OCI Object Storage Sync faz parte da Interface de Linha de Comando (CLI) do OCI, que sincroniza um diretório do sistema de arquivos com objetos em um bucket. O comando percorre subdiretórios copiando arquivos ou objetos novos e modificados da origem para o destino e, opcionalmente, excluindo aqueles que não estão presentes na origem. É uma ferramenta conveniente para manter os dados do sistema de arquivos e os buckets do OCI Object Storage sincronizados. Nosso ambiente de teste descobriu que o OCI Object Storage Sync teve um bom desempenho para conjuntos de dados mistos e foi melhor do que outras ferramentas para arquivos grandes (1 TB ou mais).
O OCI Object Storage suporta uma API de Compatibilidade com Amazon S3. Os clientes que já estão familiarizados com a variedade de ferramentas do Amazon S3 podem continuar a usá-las. A ferramenta s5cmd é um projeto de código aberto gratuito. Ele permite navegar e transferir dados de/para um armazenamento de objetos compatível com S3. Ele é escrito na linguagem Go e otimizado para throughput paralelo. Durante nossos testes, descobrimos que a ferramenta s5cmd funciona melhor para arquivos pequenos (arquivos menores que 1 MB até 30 MB) e realizamos todas as outras ferramentas para mover arquivos pequenos. A ferramenta s5cmd também funciona bem para conjuntos de dados mistos ao mover dados de sistemas de arquivos para o OCI Object Storage.
Se seus dados puderem ser organizados em subconjuntos por diretórios ou prefixos, você também poderá expandir sua sincronização os e o s5cmd será executado em várias VMs para melhorar os tempos de transferência.
Usar Sincronização do SO para Sincronização
-
Sincronize dados do sistema de arquivos local no OCI Object Storage.
Execute o comando
os sync
básico a seguir para sincronizar os arquivos de um diretório de origem em um bucket de destino.oci os object sync --src-dir <path to migration-files> --bucket-name <bucket name>
Observação: Esse mesmo comando pode ser usado para sistemas de arquivos locais locais, sistemas de arquivos NFS locais e em uma instância do OCI Compute com montagens NFS do OCI File Storage para mover dados do OCI File Storage para um bucket do OCI Object Storage.
-
Migre dados do OCI Object Storage para um sistema de arquivos local.
Execute o comando
os sync
básico a seguir para sincronizar arquivos/objetos de um bucket de origem em um sistema de arquivos de destino.oci os object sync --dest-dir <path to migration-target directory> --bucket-name <bucket name>
Observação: Esse mesmo comando pode ser usado para sistemas de arquivos locais locais, sistemas de arquivos NFS locais e em uma instância do OCI Compute com uma montagem NFS do OCI File Storage para mover os dados do serviço OCI File Storage para um bucket do OCI Object Storage.
-
Aumente as operações paralelas.
Por padrão, apenas 10 operações são executadas em paralelo, aumentando as operações paralelas melhora as velocidades de transferência de dados e também consome mais recursos do sistema e largura de banda. Em nosso ambiente de teste, usamos o
VM.Standard.E4.Flex
com 24 OCPUs, largura de banda de rede 24Gbps, 384 GB de memória e encontramos 100 operações paralelas para funcionar melhor para velocidades de transferência. As VMs maiores podem aumentar esse número em 10 operações de cada vez até que uma velocidade de transferência ideal seja atingida ou até que o máximo de 1.000 transferências paralelas seja atingido. Formas de VM menores devem começar em 10 operações e aumentar em incrementos de 5 a 10 até que um bom throughput seja alcançado. Aumente ou diminua as operações paralelas com o flag a seguir.--parallel-operations-count <integer range>
Observação: Se os erros começarem a ocorrer após o aumento da operação paralela, especialmente os erros com 429 "TooManyRequests", reduza as operações paralelas em 2 até que os erros sejam interrompidos.
-
Filtre os arquivos correspondentes usando o comando pattern.
Os padrões podem ser usados para incluir ou excluir arquivos correspondentes. Os comandos de padrão podem ser usados várias vezes na linha de comando para corresponder a vários padrões.
-
Para incluir arquivos que correspondam a um padrão, use o comando a seguir.
--include
-
Para excluir arquivos que correspondem a um padrão, use o comando a seguir.
--exclude
Observação:
*
: Corresponde a tudo?
: Corresponde a qualquer caractere único[sequence]
: Corresponde a qualquer caractere na sequência[!sequence]
: Corresponde a qualquer caractere que não esteja na sequência
-
-
Use o flag
--prefix
.O flag
--prefix
usado ao fazer upload de arquivos para o armazenamento de objetos com o comando--src-dir
faz upload de objetos e adiciona o caminho do diretório ao nome do objeto como prefixo. Quando usado para fazer download de objetos do OCI Object Storage, somente objetos com o prefixo especificado são baixados e não aparecem como parte do nome do objeto/arquivo. -
Verifique uma transferência antes de uma execução.
Antes de iniciar uma transferência, você pode determinar quais arquivos serão submetidos a upload/download para/do OCI Object Storage fazendo com que a sincronização os faça apenas uma impressão. Execute a linha de comando com o flag a seguir.
--dry-run
Use s5cmd para Sincronizar
-
Comando de sincronização e cópia.
-
A opção
sync
para s5cmd faz uma sincronização unidirecional da origem para o destino sem modificar nenhum dos arquivos de origem e também não excluirá arquivos no destino que não existem na origem. Adicione o flag--delete
para remover arquivos no destino que não existem na origem. -
O comando
copy
simplesmente copiará objetos da origem para o destino.
-
-
Correspondência de padrão.
A ferramenta s5cmd suporta curingas de vários níveis para as operações de sincronização e cópia. Isso é feito listando todos os objetos com o prefixo até o primeiro curinga e, em seguida, filtrando os resultados na memória.
Quando a origem é um sistema de arquivos, os curingas também se aplicam. Ao usar o caractere
*
, às vezes ele é interpretado como um curinga globbing, coloque-o entre aspas simples para evitar resultados inesperados.Por exemplo, para copiar todos os arquivos compactados em um diretório em um bucket, execute o comando a seguir.
s5cmd cp '*.gz' s3:/<bucket name>
-
Comando básico de sincronização.
-
Sincronize dados do sistema de arquivos local no OCI Object Storage. Execute o comando
s5cmd
básico a seguir para sincronizar os arquivos de um diretório de origem em um bucket de destino.s5cmd sync /<path to migration-files> s3://<bucket name>
-
Sincronize dados do OCI Object Storage com um sistema de arquivos local. Execute o comando
s5cmd
básico a seguir para sincronizar arquivos/objetos de um bucket de origem em um sistema de arquivos de destino.s5cmd sync s3:/<bucket name>/* /<path to migration-target directory>
Observação: Os mesmos comandos podem ser usados para sistemas de arquivos locais locais, sistemas de arquivos NFS locais e em uma instância do OCI Compute com montagens NFS do OCI File Storage para mover dados do OCI File Storage para um bucket do OCI Object Storage.
-
-
Comando de cópia básica.
Execute o comando
s5cmd
básico a seguir para copiar os arquivos de um diretório de origem do sistema de arquivos local para um bucket de destino do OCI Object Storage.s5cmd cp /<path to migration-files> s3://<bucket name>
Copiar dados do OCI Object Storage para um sistema de arquivos local.
s5cmd cp "s3:/<bucket name>/*" /<path to migration-target directory>
Observação: Esses comandos podem ser usados para sistemas de arquivos locais locais, sistemas de arquivos NFS locais e em uma instância de computação do OCI com montagens NFS do OCI File Storage para mover dados do OCI File Storage para um Bucket do OCI Object Storage. Nosso teste usou principalmente o comando copy com s5cmd.
-
Aumentar o paralelismo.
Por padrão, a ferramenta s5cmd executa 256 workers em paralelo. Dependendo do tamanho da sua VM, talvez você queira aumentar ou diminuir o paralelismo. Em nosso ambiente de teste, usamos o
VM.Standard.E4.Flex
com 24 OCPUs, largura de banda de rede 24Gbps, 384 GB de memória e encontramos 1.000 operações paralelas para funcionar melhor para velocidades de transferência. As VMs maiores podem aumentar esse número em 10 operações de cada vez até que uma velocidade de transferência ideal seja atingida ou até que o máximo de 1.000 transferências paralelas seja atingido. Formas de VM menores devem começar em 10 operações e aumentar em incrementos de 5 a 10 até que um bom throughput seja alcançado. Aumente ou diminua as operações paralelas com o flag a seguir.--numworkers <interger>
Observação: Se os erros começarem a ocorrer depois de aumentar o número de colaboradores, especialmente erros com 429 "TooManyRequests", reduza o número de colaboradores em 2 até que os erros parem de ocorrer.
Por exemplo, copie todos os objetos de um bucket para um diretório local do sistema de arquivos.
s5cmd --numworkers 1000 cp "s3://MyBucket/*" /my/directory
Observação: Testamos com até 1.500 colaboradores e não vimos melhorias significativas. Como nossos testes descobriram que a ferramenta s5cmd funcionava melhor para arquivos pequenos, não encontramos benefícios em usar o flag
concurrency
para arquivos que precisam de uploads em várias partes e usar um alto número de colaboradores mostrou o melhor desempenho geral.
(Opcional) Ambientes de Teste
As recomendações são feitas com base em testes e interações com o cliente.
Observação: Os resultados do clone são incluídos para fornecer mais informações. Para obter detalhes sobre o uso do Rclone, consulte Tutorial 2: Mover Dados para o OCI Cloud Storage Services usando o Rclone.
Ambiente de Teste 1:
1 instância de VM VM.Standard.E4.Flex
, 1 OCPU, largura de banda de rede 1Gbps, 16 GB de memória. Para simular a migração on-premises para o OCI, copie os dados do NFS PHX para o IAD.
Conjuntos de Dados
-
Conjunto de Dados 1:
Tamanho Total Contagem de Arquivos Intervalo de Tamanho do Arquivo 3TB 3 1TB Método Para Tempo Comando Flags sincronização do OS NFS/File PHX para IAD do Objeto 123m17.102s NA --parallel-operations-count 100
s5cmd NFS/File PHX para IAD do Objeto 239m20.625s copiar run commands.txt
, execução padrão--numworkers 256
rclone NFS/File PHX para IAD do Objeto 178m27.101s copiar --transfers=100 --oos-no-check-bucket --fast-list --checkers 64 --retries 2 --no-check-dest
Observação: Nossos testes mostraram
os sync
executando o mais rápido para esse conjunto de dados. -
Conjunto de Dados 2:
Tamanho Total Contagem de Arquivos Intervalo de Tamanho do Arquivo 9.787GB 20.000 1 MB Método Para Tempo Comando Flags s5cmd NFS/File PHX para IAD do Objeto 1m12.746s copiar execução padrão --numworkers 256
sincronização do OS NFS/File PHX para IAD do Objeto 2m48.742s NA --parallel-operations-count 1000
rclone NFS/File PHX para IAD do Objeto 1m52.886s copiar --transfers=500 --oos-no-check-bucket --no-check-dest
Observação: Nossos testes mostraram que s5cmd tem o melhor desempenho para este conjunto de dados.
Ambiente de Teste 2:
Instâncias de VM: 1 a 2 instâncias de VM foram usadas por cada teste; usamos um VM.Standard.E4.Flex
com 24 OCPUs, largura de banda de rede 24Gbps e 384 GB de memória. O Oracle Linux 8 foi usado para testes do Linux.
Conjuntos de Dados
-
Conjunto de Dados 1:
14 diretórios principais com a seguinte contagem de arquivos e tamanhos.
Diretório do Conjunto de Dados Tamanho Contagem de arquivos Tamanho de cada arquivo Diretório 1 107.658 GiB 110,242 1 MiB Diretório 2 1.687 GiB 110,569 15 MiB Diretório 3 222 GiB 111 2 GiB Diretório 4 1.265 TiB 1,295 1 GiB Diretório 5 26.359 GiB 1,687 16 MiB Diretório 6 105.281 MiB 26,952 4 KiB Diretório 7 29.697 MiB 30,410 1 KiB Diretório 8 83.124 GiB 340,488 256 KiB Diretório 9 21.662 GiB 354,909 64 KiB Diretório 10 142.629 GiB 36,514 4 MiB Diretório 11 452.328 MiB 57,898 8 MiB Diretório 12 144 GiB 72 2GiB Diretório 13 208.500 GiB 834 256 MiB Diretório 14 54.688 GiB 875 64 MiB Observação:
- Os 14 diretórios foram divididos entre as 2 instâncias de VM.
- Cada VM executou 7 comandos/processos, 1 para cada diretório, salvo indicação em contrário.
Método Para Tempo Comando Sinalizadores/Observações s5cmd NFS/File PHX para IAD do Objeto 54m41.814s copiar --numworkers 74
sincronização do OS NFS/File PHX para IAD do Objeto 65m43.200s NA --parallel-operations-count 50
rclone NFS/File PHX para IAD do Objeto 111m59.704s copiar --oos-no-check-bucket --no-check-dest --ignore-checksum --oos-disable-checksum --transfers 50
Observação: Nossos testes mostraram s5cmd executando o mais rápido, com a sincronização os indo muito bem em comparação com o Rclone.
Próximas Etapas
Prossiga para os tutoriais relacionados relevantes para suas necessidades de migração. Para mover dados para os serviços de armazenamento em nuvem do OCI:
-
Usando o Rclone, consulte Tutorial 2: Mover Dados para o OCI Cloud Storage Services usando o Rclone.
-
Usando o Fpsync e o Rsync para migrações de dados do sistema de arquivos, consulte Tutorial 4: Mover Dados para Serviços de Armazenamento na Nuvem do OCI usando o Fpsync e o Rsync para Migrações de Dados do Sistema de Arquivos.
Links Relacionados
-
Fundamentos de Migração para Mover Dados para o OCI Cloud Storage
-
Tutorial 2: Mover Dados para o OCI Cloud Storage Services usando o Rclone
Confirmações
- Autor - Melinda Centeno (Gerente Sênior Principal de Produtos, OCI Object Storage)
Mais Recursos de Aprendizagem
Explore outros laboratórios em docs.oracle.com/learn ou acesse mais conteúdo de aprendizado gratuito no canal Oracle Learning YouTube. Além disso, visite education.oracle.com/learning-explorer para se tornar um Oracle Learning Explorer.
Para obter a documentação do produto, visite o Oracle Help Center.
Move Data into OCI Cloud Storage Services using OCI Object Storage Sync and the s5cmd Tool
G25640-01
January 2025
Copyright ©2025, Oracle and/or its affiliates.