Visão geral do serviço de transferência de dados locais

Nesta página, descrevemos o serviço de transferência de dados locais, seus requisitos e recursos.

Sobre o serviço de transferência de dados locais

O serviço de transferência de dados locais é um serviço de software que permite transferir grandes quantidades de dados do seu data center para um bucket do Cloud Storage. Ele é adequado para clientes que estão movendo bilhões de arquivos e centenas de TB de dados em uma única transferência. Pode ser escalonado para conexões de rede nos 10s de Gbps.

Benefícios do serviço de transferência de dados locais

O serviço de transferência de dados locais é um serviço escalonável, confiável e gerenciado que permite transferir grandes volumes de dados sem investir em equipes de engenharia ou comprar soluções prontas para uso. Você instala um contêiner do Docker com o agente local para Linux nos computadores do data center, e a transferência para o local coordena os agentes para transferir seus dados com segurança para o Cloud Storage.

Como usar o serviço de transferência de dados locais com largura de banda limitada

Se você tiver largura de banda limitada, ainda poderá usar o serviço de transferência de dados locais. É possível definir um limite de largura de banda para o projeto do Google Cloud, o que limita a taxa em que os agentes locais copiam dados para o Google Cloud. O limite de largura de banda é compartilhado entre todos os jobs de transferência e os agentes locais associados no projeto do Google Cloud.

Como funciona o serviço de transferência de dados locais

Veja a seguir uma visão geral de alto nível sobre como funciona o serviço de transferência de dados locais:

  1. Instale o Docker e execute um pequeno software, chamado de agente, no seu data center particular. O agente é executado em um contêiner do Docker e tem acesso aos dados NFS montados localmente.

    Consulte Como instalar e executar o agente local para mais informações.

  2. Conclua Como configurar a transferência de dados locais. Isso inclui conceder acesso a recursos usados pelo Serviço de transferência do Cloud Storage, como o Pub/Sub e o Cloud Storage.

  3. Inicie um serviço de transferência de dados locais no Console do Google Cloud. Você fornecerá o diretório NFS e um bucket de destino do Cloud Storage para onde os dados serão transferidos.

    Para mais informações, consulte Como criar um job de transferência.

  4. Quando a transferência é iniciada, ela percorre recursivamente o diretório NFS fornecido e transfere os dados encontrados para o bucket do Cloud Storage.

    Os dados transferidos são somados e verificados, os arquivos com erros são executados novamente e os dados são enviados por uma conexão segura. Um registro do progresso da transferência é gravado para registrar objetos no bucket de destino do Cloud Storage. É possível acompanhar o progresso da transferência no Console do Cloud.

  5. Quando a transferência for concluída, será possível visualizar amostras de erros no Console do Cloud. Também é possível analisar o registro de transferência para ver um catálogo de arquivos transferidos e erros.

Como funcionam os agentes de serviço de transferência de dados locais

Veja a seguir a descrição dos processos do agente do serviço de transferência de dados locais:

  • Os processos do agente são dinâmicos. Enquanto você está executando uma transferência, é possível adicionar agentes para aumentar o desempenho. Agentes recém-iniciados entram no pool de agentes e realizam o trabalho de transferências existentes. É possível usar isso para ajustar quantos agentes estão em execução ou adaptar o desempenho para alterar a demanda de transferência.

  • Os processos do agente são um coletivo tolerante a falhas. Se um agente parar de ser executado, os demais continuarão trabalhando. Se todos os agentes forem interrompidos, quando você reiniciar, a transferência será retomada de onde o agente parou. Isso permite evitar agentes de monitoramento, tentativas de novas transferências ou implementação da lógica de recuperação. É possível corrigir, mover e escalonar dinamicamente o pool de agentes sem inatividade de transferência ao coordenar agentes com o Google Kubernetes Engine.

    Por exemplo, você envia duas transferências enquanto dois agentes estão em execução. Se um dos agentes for interrompido devido a uma reinicialização da máquina ou a um patch do sistema operacional, o agente restante continuará funcionando. As duas transferências ainda estão em execução, porém, mais lentas, porque um único agente está movendo dados. Se o agente restante também for interrompido, todas as transferências deixarão de progredir, já que não há agentes em execução. Ao reiniciar os processos do agente, as transferências serão retomadas de onde pararam.

  • Os processos do agente são um pool. Coletivamente, eles movem os dados em paralelo. Por isso, todos os agentes precisam ter o mesmo acesso a todas as fontes de dados que você quer transferir.

    Por exemplo, se você estiver transferindo dados de um sistema de arquivos específico, será necessário ativá-lo em todas as máquinas onde você instalou agentes. Se alguns agentes puderem acessar uma fonte de dados e outros não, as transferências dessa fonte não terão êxito.

Requisitos do serviço de transferência de dados locais

Para usar a transferência local, você precisa de:

  • Uma origem compatível com POSIX

  • Conexão de rede de 300 Mbps ou mais rápida

  • Um servidor Linux ou máquina virtual de 64 bits compatível com o Docker (em inglês) capaz de acessar os dados que você quer transferir.

    O Docker Community Edition (links em inglês) é compatível com sistemas operacionais CentOs, Debian, Fedora e Ubuntu.

    Para usar outros sistemas operacionais Linux, consulte Docker Enterprise (links em inglês).

  • Um bucket do Cloud Storage sem uma política de retenção.

    Para transferir para um bucket com uma política de retenção, recomendamos o seguinte processo:

    1. Crie um bucket do Cloud Storage na mesma região do bucket final. Verifique se esse bucket temporário não tem uma política de retenção.

      Para mais informações sobre regiões, consulte Locais de bucket.

    2. Use o serviço de transferência de dados locais para transferir seus dados para o bucket temporário que você criou sem uma política de retenção.

    3. Realize uma transferência entre buckets para transferir os dados para o bucket com uma política de retenção.

    4. Exclua o bucket do Cloud Storage criado para armazenar temporariamente os dados.

  • Conclua a Configuração inicial para transferência local.

Antes de iniciar uma transferência, verifique se:

  • As portas TCP 80 (HTTP) e 443 (HTTPS) estão abertas para conexões de saída.
  • Todos os processos de agente em um único projeto do Google Cloud têm o mesmo sistema de arquivos ativado no mesmo ponto de montagem.

A seguir

Como configurar a transferência de dados locais.