Copiar dados para ou de instâncias

Nesta página, mostramos como copiar dados de:

  • Intervalos do Cloud Storage para compartilhamentos de arquivos do Filestore
  • Computadores no seu ambiente para compartilhamentos de arquivos do Filestore
  • Compartilhamentos de arquivos do Filestore com intervalos do Cloud Storage

Recomendamos as seguintes opções para transferir grandes volumes de dados:

Antes de começar

Para seguir estas instruções, você precisa instalar a CLI gcloud.

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

Para copiar dados de um bucket do Cloud Storage para um compartilhamento de arquivos do Filestore ativado em uma instância de VM do Compute Engine, use o comando gcloud storage rsync. Esse comando funciona em VMs do Linux e do Windows. Para copiar dados em instâncias de VM do Linux, também é possível usar comandos padrão como rsync.

Linux

  1. No console do Google Cloud, acesse a página "Instâncias de VM".

    Acesse a página de instâncias do Compute Engine.

  2. Escolha uma instância de VM do Compute Engine que tenha o compartilhamento de arquivos do Filestore de destino ativado e clique em SSH para abrir um terminal nessa instância de VM.

  3. Copie os dados para o compartilhamento de arquivos do Filestore ativado executando o comando a seguir. Para sincronizar de forma recorrente os subdiretórios do local especificado, use a opção --recursive com o comando gcloud storage rsync.

    gcloud storage rsync gs://bucket mount-directory
    

    em que:

    • bucket é o bucket, diretório ou subdiretório do Cloud Storage de onde os dados são copiados;
    • mount-directory é o diretório no cliente em que o compartilhamento de arquivos do Filestore está ativado.

Exemplo

O comando a seguir copia dados do bucket data e de todos os subdiretórios para o diretório /mnt/filer.

gcloud storage rsync gs://data /mnt/filer --recursive

Windows

  1. No console do Google Cloud, acesse a página "Instâncias de VM".

    Acesse a página de instâncias do Compute Engine.

  2. Escolha uma instância de VM do Compute Engine que tenha o compartilhamento de arquivos do Filestore de destino mapeado para uma unidade e clique em RDP para abrir uma conexão de área de trabalho remota com essa VM.

  3. Copie os dados para o compartilhamento de arquivos mapeados do Filestore executando o comando a seguir. Para sincronizar de forma recorrente os subdiretórios do local especificado, use a opção --recursive com o comando gcloud storage rsync.

    gcloud storage rsync gs://bucket mount-directory
    

    em que:

    • bucket é o bucket, diretório ou subdiretório do Cloud Storage de onde os dados são copiados;
    • mount-directory é o diretório no cliente em que o compartilhamento de arquivos do Filestore está ativado.

Exemplo

O comando a seguir copia dados do intervalo data e de todos os subdiretórios para a unidade Z: mapeada para o compartilhamento de arquivos do Filestore.

gcloud storage rsync gs://data Z:\ --recursive

Copiar dados de um computador no seu ambiente para um compartilhamento de arquivos do Filestore

Para copiar dados de um computador no seu ambiente para um compartilhamento de arquivos do Filestore ativado em uma instância de VM do Linux do Compute Engine, use o comando gcloud compute scp. O comando gcloud compute scp não funciona em instâncias de VM do Windows.

  1. Use o SSH para se conectar ao computador que contém os dados que você quer copiar.
  2. Verifique se a CLI gcloud está instalada executando o seguinte comando:

     which gcloud
    

    Se a CLI gcloud estiver instalada, o comando vai retornar o caminho de instalação. Se nenhum caminho de instalação for retornado, siga as instruções em Como instalar a gcloud CLI para instalá-lo.

  3. Copie os dados para o compartilhamento de arquivos do Filestore ativado:

     gcloud compute scp local-data-path client-name:/mount-directory --project=project-id --zone=zone
    

    onde:

    • local-data-path é o caminho de um arquivo ou diretório local que contém os dados que você quer copiar para a instância. Se quiser copiar dados de outros subdiretórios, use a sinalização --recurse após local-data-path.
    • client-name é o nome da instância da VM do Compute Engine em que o compartilhamento de arquivos do Filestore é ativado.
    • mount-directory é o diretório no cliente em que o compartilhamento de arquivos do Filestore está ativado.
    • project-id é o ID do projeto que contém a instância de VM do cliente. Se você definiu o projeto padrão gcloud usando gcloud config set project project-id, ignore essa sinalização e use o projeto padrão.
    • zone é a zona onde a instância de VM do Compute Engine reside. Se você definiu a zona padrão gcloud usando gcloud config set compute/zone zone, pule essa sinalização e use a zona padrão.

Exemplo

O comando a seguir copia dados do diretório e subdiretórios /etc/acme/data locais para o diretório /mnt/filer na instância de VM nfs-client, no projeto myproject, na zona us-central1-c:

gcloud compute scp /etc/acme/data --recurse nfs-client:/mnt/filer --project myproject --zone us-central1-c

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

É possível copiar dados de um compartilhamento de arquivos do Filestore que esteja montado em uma instância de VM do Compute Engine para um intervalo do Cloud Storage usando o comando gcloud storage rsync.

Antes de iniciar, verifique se a VM do Compute Engine pode gravar no Cloud Storage:

  1. No console do Google Cloud, acesse a página "Instâncias de VM".

    Acesse a página de instâncias do Compute Engine.

  2. Escolha uma instância de VM do Compute Engine que tenha o compartilhamento de arquivos de origem do Filestore ativado.

  3. Verifique se a instância tem o escopo Read Write:

    1. Clique no nome da instância para abrir a página de detalhes da instância.
    2. Expanda a opção Escopos de acesso de API do Cloud e veja se Armazenamento tem o escopo Leitura/ gravação.

Se a VM do Compute Engine não tiver o escopo Leitura/Gravação, execute as seguintes etapas:

  1. Pare a instância do Compute Engine clicando em Parar.
  2. Quando a instância parar, clique em Editar na parte superior da página.
  3. Em Escopos de acesso, selecione Definir acesso para cada API.
  4. Em Armazenamento, selecione Read Write e clique em Salvar.
  5. Quando a instância terminar de atualizar, clique em Iniciar na parte superior da página.

Para copiar dados de um compartilhamento de arquivos do Filestore para um intervalo do Cloud Storage, faça o seguinte:

Linux

  1. No console do Google Cloud, acesse a página "Instâncias de VM".

    Acesse a página de instâncias do Compute Engine.

  2. Escolha uma instância de VM do Compute Engine que tenha o compartilhamento de arquivos de origem do Filestore ativado e clique em SSH para abrir um terminal nessa instância de VM.

  3. Copie os dados do compartilhamento de arquivos do Filestore ativado executando o comando a seguir. Para sincronizar de forma recorrente os subdiretórios do local especificado, use a opção --recursive com o comando gcloud storage rsync.

    gcloud storage rsync mount-directory gs://bucket
    

    em que:

    • mount-directory é o diretório no cliente em que o compartilhamento de arquivos do Filestore está ativado.
    • bucket é o bucket, diretório ou subdiretório do Cloud Storage para onde os dados serão copiados.

Exemplo

O comando a seguir copia os dados do diretório /mnt/filer e todos os subdiretórios para o bloco archive.

gcloud storage rsync /mnt/filer gs://archive --recursive

Windows

  1. No console do Google Cloud, acesse a página "Instâncias de VM".

    Acesse a página de instâncias do Compute Engine.

  2. Escolha uma instância de VM do Compute Engine com o compartilhamento de arquivos do Filestore de origem ativado e clique em RDP para abrir uma conexão de área de trabalho remota com essa VM.

  3. Copie os dados do compartilhamento de arquivos mapeado do Filestore executando o comando a seguir. Para sincronizar de forma recorrente os subdiretórios do local especificado, use a opção --recursive com o comando gcloud storage rsync.

    gcloud storage rsync mapped-drive gs://bucket
    

    em que:

    • mapped-drive é a unidade no cliente em que o compartilhamento de arquivos do Filestore é mapeado.
    • bucket é o bucket, diretório ou subdiretório do Cloud Storage para onde os dados serão copiados.

Exemplo

Com o comando a seguir, você copia dados da unidade mapeada Z: e todos os subdiretórios para o intervalo archive.

gcloud storage rsync Z:\ gs://archive --recursive

Solução de problemas

A cópia de dados do Cloud Storage para uma instância do Filestore usando a CLI gcloud pode ser lenta. Para informações detalhadas sobre como melhorar a performance, consulte Melhorar a performance nos recursos do Google Cloud.