Use o Serviço de transferência de armazenamento para mover grandes conjuntos de dados do Cloud Storage para as suas partilhas de ficheiros do Filestore.
O Serviço de transferência de armazenamento ajuda a transferir de forma rápida e segura grandes conjuntos de dados entre sistemas de armazenamento de objetos e ficheiros, quer os seus dados estejam alojados no Cloud Storage, em fornecedores de nuvem de terceiros ou nas instalações.
O Serviço de transferência de armazenamento suporta transferências aceleradas de grandes conjuntos de dados, processando centenas de TB de dados ou mais. Mova os seus grandes conjuntos de dados para a nuvem para tirar partido das operações de estatísticas e aprendizagem automática disponíveis nas instâncias do Compute Engine subjacentes onde as suas instâncias do Filestore estão montadas.
Com o serviço de transferência de armazenamento, pode criar transferências geridas pela Google ou configurar transferências alojadas por si para ter controlo total sobre o encaminhamento de rede e a utilização da largura de banda.
Transfira dados de um contentor do Cloud Storage para uma partilha de ficheiros do Filestore
A transferência de dados do Cloud Storage para uma partilha de ficheiros do Filestore através do serviço de transferência de armazenamento requer as seguintes tarefas:
- Configure o seu ambiente.
- Configure o Filestore.
- Configure o Serviço de transferência de armazenamento.
- Crie e inicie a tarefa de transferência.
As secções seguintes explicam cada tarefa.
Configure o seu ambiente
Selecione ou crie um projeto.
Para efeitos deste guia, certifique-se de que os recursos de origem e de destino residem no mesmo projeto.
Na Google Cloud consola, na página do seletor de projetos, selecione ou crie um Google Cloud projeto.
Se estiver a testar o Filestore e não planear manter os recursos que criar, recomendamos que crie um projeto em vez de selecionar um projeto existente. Quando terminar os testes, pode eliminar o projeto, removendo todos os recursos associados ao projeto.
Ative a faturação.
Certifique-se de que a faturação está ativada para o seu Google Cloud projeto. Saiba como confirmar se a faturação está ativada para o seu projeto.
-
API Filestore
API Resource Manager
Pub/Sub API
API Cloud Storage
API Storage Transfer
Cloud Logging API
API Compute Engine
API Service Usage
API Identity and Access Management
Opcional: o
gcloud
, um componente principal do SDK do Google Cloud, está instalado em todas as VMs do Compute Engine. Se executar qualquer um dos seguintes passos a partir da linha de comandos local, configure o Google Cloud SDK.Instale e inicialize o SDK do Google Cloud.
Se instalou o SDK do Google Cloud anteriormente, certifique-se de que tem a versão mais recente disponível executando o seguinte comando:
gcloud components update
Crie uma conta de serviço. Na secção Conceda a esta conta de serviço acesso ao projeto, atribua as seguintes funções:
Owner
Project IAM Admin
Role Administrator
Pub/Sub Editor
Cloud Filestore Editor
Storage Object Admin
Storage Transfer Admin
Storage Transfer Agent
Copie e guarde o nome da conta de serviço que criou para um passo posterior.
Crie uma chave de conta de serviço para a conta que acabou de criar. Para os fins deste guia, crie apenas uma chave. Transfira o ficheiro de chave e guarde-o para um passo posterior.
Atribua funções a uma conta de utilizador. Na página IAM, encontre a sua conta de utilizador e atribua-lhe as seguintes funções:
Owner
Project IAM Admin
Role Administrator
Storage Transfer Admin
Storage Admin
Para mais informações, consulte o artigo Autorizações do utilizador.
Configure o Filestore
Crie uma instância do Filestore. Quando criar a instância, aplique as seguintes especificações:
Certifique-se de que o contentor do Cloud Storage, a VM do cliente e a instância do Filestore residem na mesma região.
Selecione um tipo de instância regional ou empresarial.
Opcional: para conjuntos de dados maiores, peça um aumento da quota.
Copie o nome da instância e o endereço IP e guarde-os para um passo posterior.
Monte uma instância do Filestore numa máquina cliente.
Este guia descreve uma transferência que usa quatro VMs do Compute Engine como máquinas cliente NFS. Cria uma única conta de serviço que opera em nome dos quatro computadores cliente. Cada computador cliente tem três agentes do Serviço de transferência de armazenamento instalados.
Crie uma instância de VM do Compute Engine com acesso a outros Google Cloud serviços.
Configure uma VM com as seguintes especificações:
Quando especificar uma localização, certifique-se de que o Google Cloud contentor, a VM do cliente e a instância do Filestore residem na mesma região.
Cada agente do serviço de transferência de armazenamento precisa de 4 vCPU e 8 GB de RAM. Para o melhor desempenho, execute vários agentes por MV. Para efeitos deste guia, aprovisione uma instância de máquina virtual do
e2-standard-32
Compute Engine.Na secção Identidade e acesso à API, especifique o seguinte:
- No menu pendente Contas de serviço, selecione a conta de serviço que acabou de criar.
Depois de criar a instância de VM do Compute Engine, inicie sessão na máquina através de SSH. Na página Instância de VM do Compute Engine, localize a instância que criou e clique em SSH.
Use um editor de texto, como o Vim, para criar uma cópia do ficheiro da chave da conta de serviço e guardá-lo temporariamente na VM. Por exemplo,
service-account-key.json
.O
gcloud
já está instalado na instância de VM do Compute Engine. Na linha de comandos SSH, introduza o seguinte comando para autorizar a conta de serviço a usar ogcloud
:gcloud auth activate-service-account ACCOUNT --key-file=KEY_FILE
where:
ACCOUNT é o endereço de email da conta de serviço que criou. Por exemplo,
my-service-account@my-project.iam.gserviceaccount.com
.KEY_FILE é o caminho local relativo para o ficheiro de chave que copiou anteriormente. Por exemplo,
sa-key.json
.
Ainda na linha de comandos SSH, instale o NFS:
sudo apt-get -y update && sudo apt-get install nfs-common
Crie um diretório local para mapear para a partilha de ficheiros do Filestore. Quando repetir estes passos para instâncias de VMs do Compute Engine subsequentes, use o mesmo nome e caminho:
sudo mkdir -p MY_DIRECTORY
where:
- MY_DIRECTORY é o nome do diretório POSIX local para a instância de VM do Compute Engine. Por exemplo,
/usr/local/my_dir
.
- MY_DIRECTORY é o nome do diretório POSIX local para a instância de VM do Compute Engine. Por exemplo,
Monte a partilha de ficheiros associada à instância do Filestore executando o comando
mount
. Pode usar quaisquer opções de montagem NFS. Para o melhor desempenho, consulte as recomendações de montagem de NFS em Montar uma partilha de ficheiros numa instância de VM do Compute Engine:sudo mount -o rw IP_ADDRESS:/FILE_SHARE MY_DIRECTORY
where:
IP_ADDRESS é o endereço IP da instância do Filestore. Pode encontrá-lo na página Instâncias do Filestore.
FILE_SHARE é o nome da partilha de ficheiros na instância. Por exemplo,
my_fs_instance
.MY_DIRECTORY é o nome do diretório que mapeou no passo anterior. Este é um diretório na instância de VM do Compute Engine onde quer montar a instância do Filestore.
Confirme o ponto de montagem:
mount -l | grep nfs
Isto devolve o seguinte ou 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)
Em alternativa, também pode usar o seguinte comando:
df -h --type=nfs
Isto devolve o seguinte ou 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
Tome nota do caminho do diretório POSIX local e guarde-o para um passo posterior.
Repita os passos anteriores para criar mais três instâncias de VM do Compute Engine e montar a mesma instância do Filestore em cada uma delas. Use a mesma conta de serviço para gerir todas as quatro VMs do Compute Engine. Guardar temporariamente uma cópia local da chave da conta de serviço em cada VM.
Configure o Serviço de transferência de armazenamento
-
Introduza o seguinte comando:
gcloud transfer authorize --add-missing --creds-file=KEY_FILE
where:
- KEY_FILE é o caminho local relativo para o ficheiro de chave que copiou anteriormente. Por exemplo,
sa-key.json
.
Tome nota da notificação devolvida relativamente ao agente de serviço e guarde o endereço de email associado para o passo seguinte.
- KEY_FILE é o caminho local relativo para o ficheiro de chave que copiou anteriormente. Por exemplo,
Após alguns minutos, deve ver o agente de serviço na página IAM. Após a propagação, verifique se as seguintes funções estão atribuídas:
Pub/Sub Editor
Storage Admin
Instale agentes de transferência.
Cada agente do serviço de transferência de armazenamento requer 4 vCPU e 8 GB de RAM.
Recomendamos a instalação de vários agentes para maximizar a tolerância a falhas e tirar partido do escalonamento dinâmico oferecido pelo serviço de transferência de armazenamento. O exemplo seguinte mostra como instalar três agentes numa máquina cliente. Na linha de comandos SSH, execute o seguinte comando:
gcloud transfer agents install --pool=MY_AGENT_POOL --count=3 \ --creds-file=MY_SERVICE_ACCOUNT_KEY_FILE
where:
MY_AGENT_POOL é o nome do conjunto de agentes que criou anteriormente. Por exemplo,
my-agent-pool
.MY_SERVICE_ACCOUNT_KEY_FILE é o caminho relativo para a chave da conta de serviço. Por exemplo,
/relative/path/to/service-account-key.json
.
Repita estes passos para cada computador cliente.
Crie e inicie a tarefa de transferência
- Crie uma tarefa de transferência para mover dados do seu contentor do Cloud Storage para a sua instância do Filestore.
Consulte o diretório POSIX local que guardou anteriormente para especificar o caminho de destino. Por exemplo,
/home/usr/my_dir
.
Monitorize o estado da transferência
Consola
Monitorize o estado da transferência na página Tarefas de transferência da Google Cloud consola.
Linha de comandos
Pode monitorizar o estado através da linha de comandos:
gcloud transfer jobs monitor JOB_NAME
where:
- JOB_NAME é o nome da tarefa de transferência. Por exemplo,
transferJobs/OPI6300379522015192941
.
A resposta mostra o seguinte ou 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 os artigos Monitorize a atividade do agente ou Detalhes da transferência do sistema de ficheiros.
O que se segue?
- Melhore o desempenho em todos os Google Cloud recursos.
- Crie uma instância de VM do Compute Engine com acesso a outros Google Cloud serviços.