As instâncias do Compute Engine possuem memória de classe corporativa de alto desempenho que pode ser usada para executar seus aplicativos. Aloque uma parte dessa memória para criar um disco RAM com latência excepcionalmente baixa e alta capacidade. Os discos RAM funcionam bem quando o aplicativo espera uma estrutura de sistema de arquivos e não consegue armazenar os dados na memória. Esses discos, isoladamente, não fornecem redundância nem flexibilidade de armazenamento e, por isso, é preferível combinar o uso de discos RAM com outras opções de armazenamento de instância.
Os discos RAM compartilham memória de instância com os aplicativos. Se as instâncias não
tiverem memória suficiente para conter discos RAM e seus aplicativos, crie
instâncias com tipos de máquina highmem, como
N2 ou
fazer upgrade das instâncias atuais para adicionar mais memória.
Antes de começar
- Leia sobre a diferença entre discos RAM e outras opções de armazenamento do Compute Engine.
-
Configure a autenticação, caso ainda não tenha feito isso.
Com isso, você confirma sua identidade para acesso a serviços e APIs do Google Cloud . Para executar
códigos ou amostras de um ambiente de desenvolvimento local, autentique-se no
Compute Engine selecionando uma das seguintes opções:
Selecione a guia para como planeja usar as amostras nesta página:
Console
Quando você usa o console Google Cloud para acessar os serviços e as APIs Google Cloud , não é necessário configurar a autenticação.
gcloud
-
Instale a CLI do Google Cloud. Após a instalação, inicialize a Google Cloud CLI executando o seguinte comando:
gcloud initAo usar um provedor de identidade (IdP) externo, primeiro faça login na CLI gcloud com sua identidade federada.
-
- Defina uma região e uma zona padrão.
REST
Para usar as amostras da API REST nesta página em um ambiente de desenvolvimento local, use as credenciais fornecidas para a CLI gcloud.
Instale a CLI do Google Cloud.
Ao usar um provedor de identidade (IdP) externo, primeiro faça login na CLI gcloud com sua identidade federada.
Saiba mais em Autenticar para usar REST na documentação de autenticação do Google Cloud .
Como criar um disco RAM
É possível criar um disco RAM com o sistema de arquivos tmpfs, incluído por padrão na maioria das
distribuições do Linux.
Se a instância não tiver memória suficiente, será possível alterar o tipo de máquina da instância para um que tenha mais memória.
Conecte-se à instância pelo SSH. Para este exemplo, acesse a página "Instâncias de VMs" e clique no botão SSH próximo à instância em que o disco RAM será adicionado.
Crie um ponto de ativação para o disco RAM.
$ sudo mkdir /mnt/ram-diskCrie e ative um novo disco RAM
tmpfs. Determine um valor para a propriedadesizeque atenda aos requisitos de armazenamento, sem competir por memória com seus aplicativos nem gastar toda a memória disponível. Para este exemplo, a instância tem um tipo de máquinan1-highmem-32com 208 GB de memória. Portanto, um tamanho de disco de50gde RAM é apropriado.$ sudo mount -t tmpfs -o size=50g tmpfs /mnt/ram-diskAdicione o disco RAM ao arquivo
/etc/fstabpara que o dispositivo seja ativado outra vez de modo automático se você reiniciar a instância:$ echo 'tmpfs /mnt/ram-disk tmpfs nodev,nosuid,noexec,nodiratime,size=50G 0 0' | sudo tee -a /etc/fstab
Como excluir um disco RAM
É possível desmontar um disco RAM tmpfs como qualquer outro volume. Isso exclui o disco RAM e todos os dados armazenados nele. Nesse exemplo, remova um disco RAM ativado em /mnt/ram-disk:
$ sudo umount /mnt/ram-disk
Backup automático dos dados do disco RAM entre reinícios de instância
Faça backup do disco RAM antes do reinício da instância para preservar os dados do disco RAM até a conclusão do reinício. Faça backup dos dados em um volume do Google Cloud Hyperdisk ou em um volume do Persistent Disk se o tipo de máquina da VM não for compatível com o Hyperdisk.
Crie e ative um volume do Hyperdisk para usar como um disco de backup do disco RAM. Verifique se o disco é grande o suficiente para conter as informações no disco RAM.
Crie um script de encerramento para a instância com um comando
rsyncque grava o conteúdo do disco RAM no volume de backup. Neste exemplo, use a CLI gcloud para adicionar os metadadosshutdown-scriptà instância com o disco RAM ativado em/mnt/ram-diske o volume do Hyperdisk ativado em/mnt/ram-disk-backup.gcloud compute instances add-metadata example-instance --metadata shutdown-script="#! /bin/bash rsync -a --delete --recursive --force /mnt/ram-disk/ /mnt/ram-disk-backup/ EOF"Se preferir, crie um script de inicialização que restaure os arquivos no disco RAM quando a instância é reiniciada. Use a CLI gcloud para adicionar os metadados
startup-scriptà instância.gcloud compute instances add-metadata example-instance --metadata startup-script="#! /bin/bash rsync -a --recursive --force /mnt/ram-disk-backup/ /mnt/ram-disk/ EOF"