Copie dados para ou a partir de instâncias

Esta página mostra-lhe como copiar dados de:

  • Contentores do Cloud Storage para partilhas de ficheiros do Filestore
  • Computadores no seu ambiente para partilhas de ficheiros do Filestore
  • Partilhas de ficheiros do Filestore para contentores do Cloud Storage

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

Antes de começar

Para seguir estas instruções, tem de instalar a CLI gcloud.

Copie dados de um contentor do Cloud Storage para uma partilha de ficheiros do Filestore

Para copiar dados de um contentor do Cloud Storage para uma partilha de ficheiros do Filestore montada numa instância de VM do Compute Engine, use o comando gcloud storage rsync. Este comando funciona em VMs Linux e Windows. Para copiar dados em instâncias de VMs Linux, também pode usar comandos padrão, como rsync.

Linux

  1. Na Google Cloud consola, aceda à página Instâncias de VM.

    Aceda à página de instâncias do Compute Engine

  2. Escolha uma instância de VM do Compute Engine que tenha a partilha de ficheiros do Filestore de destino montada e clique em SSH para abrir um terminal nessa instância de VM.

  3. Copie os dados para a partilha de ficheiros do Filestore montada executando o seguinte comando. Para sincronizar recursivamente subdiretórios da localização especificada, use a opção --recursive com o comando gcloud storage rsync.

    gcloud storage rsync gs://bucket mount-directory
    

    where:

    • bucket é o contentor, o diretório ou o subdiretório do Cloud Storage a partir do qual copiar os dados.
    • mount-directory é o diretório no cliente onde a partilha de ficheiros do Filestore está montada.

Exemplo

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

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

Windows

  1. Na Google Cloud consola, aceda à página Instâncias de VM.

    Aceda à página de instâncias do Compute Engine

  2. Escolha uma instância de VM do Compute Engine que tenha a partilha de ficheiros do Filestore de destino mapeada para uma unidade e clique em RDP para abrir uma ligação de ambiente de trabalho remoto a essa VM.

  3. Copie os dados para a partilha de ficheiros do Filestore mapeada executando o seguinte comando. Para sincronizar recursivamente subdiretórios da localização especificada, use a opção --recursive com o comando gcloud storage rsync.

    gcloud storage rsync gs://bucket mount-directory
    

    where:

    • bucket é o contentor, o diretório ou o subdiretório do Cloud Storage a partir do qual copiar os dados.
    • mount-directory é o diretório no cliente onde a partilha de ficheiros do Filestore está montada.

Exemplo

O comando seguinte copia os dados do contentor data e de todos os subdiretórios para a unidade Z: mapeada para a partilha de ficheiros do Filestore.

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

Copie dados de um computador no seu ambiente para uma partilha de ficheiros do Filestore

Para copiar dados de um computador no seu ambiente para uma partilha de ficheiros do Filestore montada numa instância de VM 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 SSH para se ligar ao computador que contém os dados que quer copiar.
  2. Verifique se tem a CLI gcloud instalada executando o seguinte comando:

     which gcloud
    

    Se a CLI gcloud estiver instalada, o comando devolve o caminho de instalação. Se não for devolvido nenhum caminho de instalação, siga as instruções em Instalar a CLI gcloud para a instalar.

  3. Copie dados para a partilha de ficheiros do Filestore montada:

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

    where:

    • local-data-path é o caminho de um ficheiro ou um diretório local que contém os dados que quer copiar para a instância. Se quiser copiar dados de outros subdiretórios, use a flag --recurse após local-data-path.
    • client-name é o nome da instância de VM do Compute Engine na qual a partilha de ficheiros do Filestore está montada.
    • mount-directory é o diretório no cliente onde a partilha de ficheiros do Filestore está montada.
    • project-id é o ID do projeto que contém a instância de VM do cliente. Se tiver definido o gcloudprojeto predefinido através de gcloud config set project project-id, pode ignorar esta flag e usar o projeto predefinido.
    • zone é a zona na qual a instância de VM do Compute Engine reside. Se tiver definido a gcloudzona predefinida através de gcloud config set compute/zone zone, pode ignorar esta flag e usar a zona predefinida.

Exemplo

O comando seguinte copia os dados do diretório /etc/acme/data local e dos respetivos subdiretórios 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

Copie dados de uma partilha de ficheiros do Filestore para um contentor do Cloud Storage

Pode copiar dados de uma partilha de ficheiros do Filestore montada numa instância de VM do Compute Engine para um contentor do Cloud Storage através do comando gcloud storage rsync.

Antes de continuar, certifique-se de que a VM do Compute Engine consegue escrever no Cloud Storage:

  1. Na Google Cloud consola, aceda à página Instâncias de VM.

    Aceda à página de instâncias do Compute Engine

  2. Escolha uma instância de VM do Compute Engine que tenha a partilha de ficheiros do Filestore de origem montada.

  3. Verifique se a instância tem o âmbito Ler/escrever:

    1. Clique no nome da instância para abrir a página de detalhes da instância.
    2. Expanda os âmbitos de acesso da API Cloud e verifique se o armazenamento tem o âmbito Leitura/escrita.

Se a VM do Compute Engine não tiver o âmbito Ler/escrever, siga estes passos:

  1. Pare a instância do Compute Engine clicando em Parar.
  2. Quando a instância tiver sido parada, clique em Editar na parte superior da página.
  3. Em Âmbitos de acesso, selecione Definir acesso para cada API.
  4. Em Armazenamento, selecione Leitura/escrita e clique em Guardar.
  5. Quando a instância terminar a atualização, clique em Iniciar na parte superior da página.

Para copiar dados de uma partilha de ficheiros do Filestore para um contentor do Cloud Storage, faça o seguinte:

Linux

  1. Na Google Cloud consola, aceda à página Instâncias de VM.

    Aceda à página de instâncias do Compute Engine

  2. Escolha uma instância de VM do Compute Engine que tenha a partilha de ficheiros do Filestore de origem montada e, de seguida, clique em SSH para abrir um terminal nessa instância de VM.

  3. Copie dados da partilha de ficheiros do Filestore montada executando o seguinte comando. Para sincronizar recursivamente subdiretórios da localização especificada, use a opção --recursive com o comando gcloud storage rsync.

    gcloud storage rsync mount-directory gs://bucket
    

    where:

    • mount-directory é o diretório no cliente onde a partilha de ficheiros do Filestore está montada.
    • bucket é o contentor, o diretório ou o subdiretório do Cloud Storage para o qual copiar os dados.

Exemplo

O comando seguinte copia dados do diretório /mnt/filer e de todos os subdiretórios para o contentor archive.

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

Windows

  1. Na Google Cloud consola, aceda à página Instâncias de VM.

    Aceda à página de instâncias do Compute Engine

  2. Escolha uma instância de VM do Compute Engine que tenha a partilha de ficheiros do Filestore de origem montada e, de seguida, clique em RDP para abrir uma ligação de ambiente de trabalho remoto a essa VM.

  3. Copie dados da partilha de ficheiros do Filestore executando o seguinte comando. Para sincronizar recursivamente subdiretórios da localização especificada, use a opção --recursive com o comando gcloud storage rsync.

    gcloud storage rsync mapped-drive gs://bucket
    

    where:

    • mapped-drive é a unidade no cliente à qual o partilha de ficheiros do Filestore está mapeada.
    • bucket é o contentor, o diretório ou o subdiretório do Cloud Storage para o qual copiar os dados.

Exemplo

O comando seguinte copia os dados da unidade mapeada Z: e de todos os subdiretórios para o contentor archive.

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

Resolução de problemas

A cópia de dados do Cloud Storage para uma instância do Filestore através da CLI gcloud pode ser lenta. Para ver informações detalhadas sobre como melhorar o desempenho, consulte o artigo Melhore o desempenho em todos os Google Cloud recursos.