Transferir grandes conjuntos de dados do Cloud Storage para o Filestore

Use o Serviço de transferência do Cloud Storage. para mover grandes conjuntos de dados do Cloud Storage para o Filestore compartilhamentos de arquivos.

Um fluxo de trabalho mostrando dados sendo movidos do Cloud Storage para um Filestore
usando o Serviço de transferência do Cloud Storage. A instância do Filestore é montada
a várias instâncias do Compute Engine.

Serviço de transferência do Cloud Storage que ajuda a transferir grandes conjuntos de dados entre object e sistemas de armazenamento de arquivos, sejam eles os dados são hospedados no Cloud Storage, em provedores de nuvem de terceiros ou no local.

O Serviço de transferência do Cloud Storage oferece suporte a transferências aceleradas de grandes conjuntos de dados, lidando com centenas de TB de dados ou mais. Mova grandes conjuntos de dados para a nuvem para aproveitar as operações de análise e machine learning as instâncias do Compute Engine em que as instâncias do Filestore são montadas.

Com o Serviço de transferência do Cloud Storage, é possível criar transferências gerenciadas pelo Google ou configurar transferências auto-hospedadas para controle total sobre o roteamento de rede e uso da largura de banda.

Transferir dados de um bucket do Cloud Storage para um compartilhamento de arquivos do Filestore

Transferir dados do Cloud Storage para um compartilhamento de arquivos do Filestore usando o O Serviço de transferência do Cloud Storage requer as seguintes tarefas:

  1. Configurar o ambiente.
  2. Configurar o Filestore.
  3. Configurar o Serviço de transferência do Cloud Storage.
  4. Crie e inicie o job de transferência.

As seções a seguir contêm orientações sobre cada tarefa.

Configurar o ambiente

  1. Selecione ou crie um projeto.

    Para este guia, verifique se os recursos de origem e destino residir no mesmo projeto.

    No Console do Google Cloud, na página do seletor de projetos, selecione ou crie um projeto do Google Cloud.

    Se você estiver testando o Filestore e não quiser manter os recursos criada por você, recomendamos criar um projeto em vez de selecionar um projeto que já existe. Depois de concluir os testes, você pode excluir o projeto, removendo todos os recursos associados ao projeto.

    Acessar o seletor de projetos

  2. Ativar faturamento.

    Verifique se a cobrança está ativada para o seu projeto do Google Cloud. Saiba como confirmar se o faturamento está ativado para o projeto.

  3. Ative as seguintes APIs:

    • API Filestore

    • API Resource Manager

    • API Pub/Sub

    • API Cloud Storage

    • API Storage Transfer

    • API Cloud Logging

    • API Compute Engine

    • API Service Usage

    • API Identity and Access Management

  4. Opcional: o gcloud, um dos principais componentes do SDK Google Cloud, é instalado em todas as VMs do Compute Engine. Se você realizar uma das etapas a seguir na linha de comando local, configure o SDK Google Cloud.

    Instale e inicialize o SDK do Google Cloud.

    Se você já instalou o SDK Google Cloud, verifique se tem a versão mais recente disponível executando:

    gcloud components update
    
  5. Criar uma conta de serviço. Na seção Conceda a essa conta de serviço acesso ao projeto, faça o seguinte: atribuir os seguintes papéis:

    • Owner

    • Project IAM Admin

    • Role Administrator

    • Pub/Sub Editor

    • Cloud Filestore Editor

    • Storage Object Admin

    • Storage Transfer Admin

    • Storage Transfer Agent

    1. Copie e salve o nome da conta de serviço que você criou para uma etapa posterior.

    2. Criar uma chave de conta de serviço para a conta que você acabou de criar. Neste guia, crie apenas uma chave. Faça o download do arquivo de chave e salve para uma etapa posterior.

  6. Atribua funções a uma conta de usuário. No IAM encontre sua conta de usuário e atribua a ela as seguintes funções:

    • Owner

    • Project IAM Admin

    • Role Administrator

    • Storage Transfer Admin

    • Storage Admin

    Para mais informações, consulte Permissões do usuário.

Configurar o Filestore

  1. Criar uma instância do Filestore. Ao criar a instância, aplique as seguintes especificações:

    1. Verifique se o bucket do Cloud Storage, a VM do cliente e o Filestore instância, todas residem na mesma região.

    2. Selecione uma região regional ou empresarial.

    3. Opcional: para conjuntos de dados maiores, solicite um aumento de cota.

    4. Copie o nome e o endereço IP da instância e salve para uma etapa posterior.

  2. Monte uma instância do Filestore em uma máquina cliente.

    Neste guia, descrevemos uma transferência que usa quatro VMs do Compute Engine máquinas de cliente NFS. Você vai criar uma única conta de serviço para operar em nome das quatro máquinas clientes. Cada máquina cliente terá três Agentes do Serviço de transferência do Cloud Storage instalados.

    1. Criar uma instância de VM do Compute Engine com acesso a outros serviços do Google Cloud.

      1. Configure uma VM com as seguintes especificações:

        1. Ao especificar um local, verifique se o bucket do Google Cloud, VM do cliente e instância do Filestore residem no mesma região.

        2. Cada agente do Serviço de transferência do Cloud Storage precisa de 4 vCPUs e 8 GB de RAM. Para ter o melhor desempenho, execute vários agentes por VM. Para os fins deste guia, provisione um e2-standard-32 instância de máquina virtual do Compute Engine.

        3. Na seção Identidade e acesso à API, especifique o seguinte:

          1. No menu suspenso Contas de serviço, selecione o serviço que você acabou de criar.
    2. Depois que a instância da VM do Compute Engine for criada, faça login no máquina virtual usando SSH. Da instância de VM do Compute Engine localize a instância que você criou e clique em SSH.

    3. Usar um editor de texto, como o Vim, para criar uma cópia da chave da conta de serviço e o salve temporariamente na VM. Por exemplo, service-account-key.json.

    4. Instalar o Docker na VM

    5. gcloud já está instalado na instância de VM do Compute Engine. Usando o comando SSH linha, digite o seguinte comando para autorizar a conta de serviço para usar gcloud:

      gcloud auth activate-service-account ACCOUNT --key-file=KEY_FILE
      

      em que:

      • ACCOUNT é o endereço de e-mail da conta de serviço que você criados. Por exemplo, my-service-account@my-project.iam.gserviceaccount.com.

      • KEY_FILE é o caminho local relativo para o arquivo de chave que você que você copiou anteriormente. Por exemplo, sa-key.json.

    6. Ainda na linha de comando SSH, instale o NFS:

      sudo apt-get -y update && sudo apt-get install nfs-common
      
    7. Crie um diretório local para mapear para o compartilhamento de arquivos do Filestore. Ao repetir essas etapas para a próxima VM do Compute Engine, usam o mesmo nome e caminho:

      sudo mkdir -p MY_DIRECTORY
      

      em que:

      • MY_DIRECTORY é o nome do diretório POSIX local do instância de VM do Compute Engine. Por exemplo, /usr/local/my_dir.
    8. Montar o compartilhamento de arquivos associado à instância do Filestore executando o comando mount. É possível usar qualquer opção de ativação do NFS. Para o melhor desempenho, consulte as recomendações de montagem do NFS em Como montar um compartilhamento de arquivos em uma instância de VM do Compute Engine:

      sudo mount -o rw,intr IP_ADDRESS:/FILE_SHARE MY_DIRECTORY
      

      em que:

      • IP_ADDRESS é o endereço IP da instância do Filestore. Isso pode ser encontrado na Instâncias do Filestore página.

      • FILE_SHARE é o nome do compartilhamento de arquivos na instância. Por exemplo, my_fs_instance.

      • MY_DIRECTORY é o nome do diretório que você mapeou. na etapa anterior. Este é um diretório na VM do Compute Engine em que você quer ativar a instância do Filestore.

    9. Confirme o ponto de montagem:

      mount -l | grep nfs
      

      Isso vai retornar o seguinte ou algo semelhante:

      10.66.55.194:/my_fs_instance on /home/usr/my_dir type nfs (rw,relatime,vers=3,rsize=262144,wsize=1048576,namlen=255,hard,proto=tcp,timeo=600,retrans=2,sec=sys,mountaddr=10.66.55.194,mountvers=3,mountport=2050,mountproto=udp,local_lock=none,addr=10.66.55.194)
      

      Como alternativa, também é possível usar o seguinte comando:

      df -h --type=nfs
      

      Isso vai retornar o seguinte ou algo semelhante:

      Filesystem                       Size  Used Avail Use% Mounted on
      10.66.55.194:/my_fs_instance  1.0T     0  1.0T   0% /home/usr/my_dir
      
    10. Anote o caminho do diretório POSIX local e salve para uma etapa posterior.

    11. Repita as etapas anteriores para criar mais três VMs do Compute Engine instâncias e ativar a mesma instância do Filestore para cada uma delas. Usar a mesma conta de serviço para gerenciar todas as quatro VMs do Compute Engine. Salve temporariamente uma cópia local da chave da conta de serviço em cada VM.

Configurar o Serviço de transferência do Cloud Storage

  1. Criar um pool de agentes.

  2. Autorize o agente de serviço para todo o Serviço de transferência do Cloud Storage recursos.

    1. Digite este comando:

      gcloud transfer authorize --add-missing --creds-file=KEY_FILE
      

      em que:

      • KEY_FILE é o caminho local relativo para o arquivo de chave que você que você copiou anteriormente. Por exemplo, sa-key.json.

      Observe a notificação retornada sobre o agente de serviço e salve o o endereço de e-mail associado para a próxima etapa.

    2. Após alguns minutos, o agente de serviço vai aparecer na IAM. Após a propagação, verifique os seguintes papéis são atribuídos:

      • Pub/Sub Editor

      • Storage Admin

      .
  3. Instalar agentes de transferência.

    Cada agente do Serviço de transferência do Cloud Storage requer 4 vCPUs e 8 GB de RAM.

    1. Recomendamos instalar vários agentes para maximizar a tolerância a falhas e aproveitar o escalonamento dinâmico oferecido pelo Serviço de transferência do Cloud Storage. A este exemplo mostra como instalar três agentes em uma máquina cliente. Na linha de comando SSH, execute o seguinte:

      gcloud transfer agents install --pool=MY_AGENT_POOL --count=3 \
      --creds-file=MY_SERVICE_ACCOUNT_KEY_FILE
      

      em que:

      • MY_AGENT_POOL é o nome do pool de agentes que você já usou. criados. Por exemplo, my-agent-pool.

      • MY_SERVICE_ACCOUNT_KEY_FILE é o caminho relativo para o chave da conta de serviço. Por exemplo, /relative/path/to/service-account-key.json.

    2. Repita essas etapas para cada computador cliente.

Criar e iniciar o job de transferência

  1. Criar um job de transferência para mover dados do bucket do Cloud Storage para sua instância do Filestore. Consulte o diretório POSIX local que você salvou anteriormente para especificar o caminho de destino. Por exemplo, /home/usr/my_dir.

Monitorar o status de transferências

Console

Monitore o status da transferência nos Jobs de transferência. do console do Google Cloud.

Linha de comando

É possível monitorar o status usando a linha de comando:

gcloud transfer jobs monitor JOB_NAME

em que:

  • JOB_NAME é o nome do job de transferência. Por exemplo, transferJobs/OPI6300379522015192941.

A resposta mostra o seguinte ou algo semelhante:

Polling for latest operation name...done.
Operation name: my-sts-project_transferJobs/OPI6300379522015192941_0000000001660692377
Parent job: OPI6300379522015192941
Start time: 2022-08-16T23:26:17.600981Z
SUCCESS | 100% (731.9MiB of 731.9MiB) | Skipped: 129.8kiB | Errors: 0
End time: 2022-08-16T23:27:23.429472Z

Para mais informações, consulte Monitorar a atividade do agente. ou Detalhes da transferência do sistema de arquivos.

A seguir