Preservar o estado dos dados com snapshots

Nesta página, descrevemos como preservar o estado dos dados do Filestore usando snapshots. Para saber mais sobre snapshots, consulte Snapshots.

Níveis compatíveis

A tabela a seguir mostra quais níveis de serviço do Filestore são compatíveis com snapshots e a operação revert instance:

Nível Compatibilidade com snapshot Compatibilidade com Revert
HDD básico No No
SSD básico No No
Por zona com um intervalo de capacidade menor Sim Sim (prévia)
Zonal com um intervalo de capacidade maior (anteriormente um SSD de alta escala) Sim Sim (prévia)
Enterprise Sim Sim (prévia)

Criar um snapshot

Use um dos seguintes métodos para criar um snapshot de uma instância:

Console do Google Cloud

  1. No console do Google Cloud, acesse a página de instâncias do Filestore.

    Acessar a página de instâncias do Filestore

  2. Clique na instância da qual você quer criar um snapshot.

  3. Clique na guia Snapshots e depois em Criar snapshot.

  4. Em Código do snapshot, insira um nome para ele. O nome do compartilhamento de arquivos e o ID do snapshot podem ter até 77 caracteres combinados.

  5. Opcional: adicione uma descrição ou identificadores ao snapshot.

  6. Clique em Criar.

CLI da gcloud

Para criar um snapshot de uma instância, execute o comando instances snapshots create. As sinalizações --description e --labels são adicionadas como argumentos opcionais:

gcloud filestore instances snapshots create SNAPSHOT_ID \
    --instance=INSTANCE_ID \
    --instance-location=LOCATION \
    --description="DESCRIPTION" \
    --labels=KEY=VALUE

Substitua:

  • SNAPSHOT_ID pelo nome que você quer dar ao snapshot. O nome do compartilhamento de arquivos e o ID do snapshot podem ter até 77 caracteres. Por exemplo, my-snapshot-1.
  • INSTANCE_ID pelo nome da instância em que você quer criar um snapshot. Por exemplo, my-instance-1.
  • LOCATION pela zona ou região da instância. Por exemplo, us-east1-b ou us-central1, respectivamente. O nível de serviço da instância determina se uma zona ou região é um argumento válido.
  • DESCRIPTION pela descrição do snapshot.
  • KEY=VALUE,... por um ou mais pares de KEY=VALUE que você quer incluir.

Exemplo

O comando a seguir cria um snapshot do compartilhamento de arquivos vol1 na instância nfs-server, localizada em us-central1. O nome do snapshot é nfs-server-snapshot.

gcloud filestore instances snapshots create nfs-server-snapshot \
    --instance=nfs-server \
    --instance-location=us-central1 \

Listar, visualizar, atualizar e excluir snapshots

É possível listar, visualizar, atualizar e excluir snapshots.

Console do Google Cloud

Para gerenciar os snapshots no console do Google Cloud:

  1. Acessar a página de instâncias do Filestore.

    Acessar a página de instâncias do Filestore

  2. Clique no ID da instância da qual você quer ver os snapshots.

  3. Clique na guia Snapshots.

Na guia Snapshots:

  • Para ver detalhes sobre um snapshot, clique no ID dele.
  • Para editar um snapshot, clique em Editar na página de detalhes do snapshot.
  • Para excluir um snapshot:
  1. Clique no ID do snapshot que você quer excluir.
  2. Clique em Excluir.
  3. Quando solicitado, digite o ID do snapshot.
  4. Clique em Excluir.

CLI da gcloud

Listar todos os snapshots no projeto atual

Para ver uma lista de snapshots de uma instância, execute o comando instances snapshots list:

gcloud filestore instances snapshots list \
    --instance=INSTANCE_ID \
    --instance-location=LOCATION

Substitua:

  • INSTANCE_ID pelo nome da instância em que você quer criar uma lista de snapshots; Por exemplo, my-instance-1.
  • LOCATION pela zona ou região da instância. Por exemplo, us-east1-b ou us-central1, respectivamente. O nível de serviço da instância determina se uma zona ou região é um argumento válido.

Acessar informações sobre um snapshot

Para ver informações sobre um snapshot, execute o comando instances snapshots describe:

gcloud filestore instances snapshots describe SNAPSHOT_ID \
    --instance=INSTANCE_ID \
    --instance-location=LOCATION

Substitua:

  • SNAPSHOT_ID pelo nome que você quer dar ao snapshot. Por exemplo, my-snapshot-1.
  • INSTANCE_ID pelo nome da instância a partir da qual o snapshot foi criado. Por exemplo, my-instance-1.
  • LOCATION pela zona ou região da instância em que o snapshot foi criado. Por exemplo, us-east1-b ou us-central1, respectivamente. O nível de serviço da instância determina se uma zona ou região é um argumento válido.

Atualizar um snapshot

Para atualizar um snapshot, execute o comando instances snapshots update. As sinalizações --description e --update-labels são adicionadas como argumentos opcionais:

gcloud filestore instances snapshots update SNAPSHOT_ID \
    --instance=INSTANCE_ID \
    --instance-location=LOCATION \
    --description="NEW-DESCRIPTION" \
    --update-labels=KEY=VALUE,...

Substitua:

  • SNAPSHOT_ID pelo nome que você quer dar ao snapshot. Por exemplo, my-snapshot-1.
  • INSTANCE_ID pelo nome da instância a partir da qual o snapshot foi criado. Por exemplo, my-instance-1.
  • LOCATION pela zona ou região da instância em que o snapshot foi criado. Por exemplo, us-east1-b ou us-central1, respectivamente. O nível de serviço da instância determina se uma zona ou região é um argumento válido.
  • NEW-DESCRIPTION por uma nova descrição do snapshot.
  • KEY=VALUE,... por um ou mais pares de KEY=VALUE que você quer atualizar. Se um rótulo existir, o valor dele será atualizado. Caso contrário, um rótulo será criado.

Excluir um snapshot

A exclusão de snapshots é uma operação de longa duração que pode levar várias horas para ser concluída, dependendo do número de arquivos envolvidos.

Para excluir um snapshot, execute o comando instances snapshots delete:

gcloud filestore instances snapshots delete SNAPSHOT_ID \
    --instance=INSTANCE_ID \
    --instance-location=LOCATION \

Substitua:

  • SNAPSHOT_ID pelo nome que você quer dar ao snapshot. Por exemplo, my-snapshot-1.
  • INSTANCE_ID pelo nome da instância a partir da qual o snapshot foi criado. Por exemplo, my-instance-1.
  • LOCATION pela zona ou região da instância em que o snapshot foi criado. Por exemplo, us-east1-b ou us-central1, respectivamente. O nível de serviço da instância determina se uma zona ou região é um argumento válido.

Restaurar dados

É possível restaurar arquivos individuais de um snapshot ou reverter todo o compartilhamento de arquivos para um estado de snapshot.

Restaurar arquivos individuais

CLI da gcloud

Para restaurar um arquivo para um estado anterior capturado em um snapshot, execute o seguinte comando a partir de uma VM cliente que tenha a instância montada:

sudo cp -pa DIR/.snapshot/SNAPSHOT_ID/FILE DIR

Exemplo

Se você quiser restaurar o arquivo foo/bar.txt para o estado preservado no snapshot snap2, execute:

sudo cp -pa foo/.snapshot/snap2/bar.txt foo/

Reverter o compartilhamento de arquivos para um estado de snapshot

A reversão de uma instância para um estado de snapshot está disponível como um recurso de Visualização apenas para os seguintes níveis de serviço:

  • zonal
  • normal

Uma operação de reversão pode levar várias horas para ser concluída, dependendo do número de arquivos envolvidos. Aguarde a conclusão da operação de reversão antes de iniciar outra operação de reversão.

Apenas instâncias com um único compartilhamento podem reverter para um estado de snapshot. O recurso de reversão de snapshot não pode ser combinado com os compartilhamentos múltiplos do Filestore para o GKE. Para mais informações, consulte Snapshots ou a página gcloud beta filestore instances revert.

CLI da gcloud

Para reverter um compartilhamento de arquivos para o estado capturado em um snapshot:

  1. Desmonte o compartilhamento de arquivos dos clientes:

    sudo umount mount-point-directory
    
  2. Reverta o compartilhamento de arquivos para um estado de snapshot usando o comando instances revert:

    gcloud beta filestore instances revert INSTANCE_ID \
        --target-snapshot=SNAPSHOT_ID \
        --location=LOCATION
    

    Substitua:

    • INSTANCE_ID pelo nome da instância em que você quer aplicar a operação revert. Por exemplo, my-instance-1.
    • SNAPSHOT_ID pelo nome do snapshot que você quer usar para a operação revert. Por exemplo, my-snapshot-3.
    • LOCATION pelo local da instância. Por exemplo, us-central1.

Aguarde a conclusão da operação de reversão antes de iniciar outra operação de reversão para a instância. A instância poderá ser montada em clientes depois de mudar do estado REVERTING para READY, o que pode levar alguns minutos. No entanto, o processo de recuperação de espaço pode levar várias horas para ser concluído. Durante esse processo, o espaço recuperado fica disponível gradualmente até que a operação de longa duração seja concluída e todo o espaço recuperado esteja disponível.

Monitoramento

É possível monitorar a capacidade de snapshots de uma instância usando o Metrics Explorer. Para mais informações, consulte Criar gráficos com o Metrics Explorer.

A seguir