Copiar dados para ou de instâncias

Nesta página, mostramos como copiar dados de:

  • Buckets 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 buckets 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 ter gsutil e gcloud as ferramentas de linha de comando instaladas. Ambas as ferramentas estão incluídas na 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 gsutil rsync. O comando gsutil rsync 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 subdiretórios do local especificado, use a opção -r com o comando gsutil rsync.

    gsutil rsync gs://bucket mount-directory
    

    onde:

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

gsutil rsync -r gs://data /mnt/filer

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 -r com o comando gsutil rsync.

    gsutil rsync gs://bucket mount-directory
    

    onde:

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

gsutil rsync -r gs://data Z:\

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. Para verificar se você tem a CLI gcloud instalada, execute o seguinte comando:

     which gcloud
    

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

  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 gsutil 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 ps subdiretórios do local especificado, use a opção -r com o comando gsutil rsync.

    gsutil rsync mount-directory gs://bucket
    

    onde:

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

gsutil rsync -r /mnt/filer gs://archive

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 ps subdiretórios do local especificado, use a opção -r com o comando gsutil rsync.

    gsutil rsync mapped-drive gs://bucket
    

    onde:

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

gsutil rsync -r Z:\ gs://archive

Solução de problemas

Copiar dados do Cloud Storage para uma instância do Filestore usando gsutil pode ser lento. Para informações detalhadas sobre como melhorar o desempenho, consulte Melhorar o desempenho nos recursos do Google Cloud.