DBAtlas · Atlas de operações de banco de dados

Snapshot e restauração no Elasticsearch (repository fs / S3, SLM)

ElasticsearchNível: IntermediárioDuração: 45–90 min

Configura o esquema de snapshots (backups) de um cluster Elasticsearch 8.x / 9.x já instalado e descreve a recuperação: repository em sistema de arquivos compartilhado (NFS + path.repo) ou S3 (keystore), ativação por rolling restart e verificação, snapshot manual (indices, include_global_state, feature_states), snapshots agendados e retenção com SLM (expire_after/min_count/max_count), restauração com novo nome ou sobre um índice fechado, restauração de feature state, monitoramento e migração para outro cluster registrando o mesmo repository como somente leitura. O resultado são snapshots diários automáticos cuja restauração foi testada. No Elasticsearch, o snapshot é o único backup válido; para mudanças de mapping/shards no mesmo cluster use reindex, e para trazer de volta rapidamente um único índice use os cenários do guia de operação.

Topologia: Cluster Elasticsearch 8.x / 9.x (1–N nodes) + diretório compartilhado (NFS) ou armazenamento de objetos compatível com S3

Antes de começar

  • O cluster está saudável (green) e você tem a senha do elastic (ou de um usuário com privilégios manage + snapshot). Como a configuração do repository exige reiniciar os nodes, garanta que o cluster tolere a perda de um node (replicas alocadas).
  • O arquivo da CA HTTP (…) existe em todos os nodes; as chamadas de API são validadas com essa CA.
  • … está montado a partir do mesmo compartilhamento (NFS) em todos os nodes master e data e é persistente no fstab. O UID/GID do usuário elasticsearch deve ser igual em todos os nodes, ou o compartilhamento deve mapear tudo para um único usuário com all_squash,anonuid=…,anongid=…; caso contrário, os nodes não conseguem ler os arquivos gravados uns pelos outros. Um diretório local (não compartilhado) falha na verificação do repository em um cluster com vários nodes.
  • O bucket … foi criado; a chave de acesso (access key / secret key) tem as permissões s3:ListBucket, s3:GetObject, s3:PutObject, s3:DeleteObject, s3:AbortMultipartUpload, s3:ListMultipartUploadParts e s3:ListBucketMultipartUploads nesse bucket. Os nodes alcançam … via HTTPS.
  • Há espaço livre suficiente no compartilhamento: o primeiro snapshot ocupa o tamanho em disco dos índices; os seguintes adicionam apenas os segments alterados (incremental).
  • As regras de versão são conhecidas: um snapshot é restaurado em um cluster da mesma versão ou de uma mais nova; não pode ser restaurado em versão mais antiga. Um índice pode ser restaurado no máximo na versão principal seguinte àquela em que foi criado (índice criado na 8.x vai para a 9.x; índice criado na 7.x não vai para a 9.x como índice normal).
  • Há acesso root em todos os nodes e uma janela de manutenção para o rolling restart.

Fases do guia

  • Acesso à API (todos os nodes) — Arquivo temporário de credenciais para a API · Verificar o cluster e os repositories existentes
  • Preparação do sistema de arquivos compartilhado (todos os nodes) — Montar o compartilhamento NFS · Ajustar a permissão do diretório e testar a gravação · Adicionar a configuração path.repo
  • Credenciais e configuração do client S3 (todos os nodes) — Adicionar as chaves de acesso S3 ao keystore · Adicionar as configurações do client S3
  • Registrar e verificar o repository — Registrar o repository · Verificar o repository
  • Snapshot manual — Criar o índice de teste · Criar um snapshot · Monitorar o estado do snapshot
  • Snapshots automáticos com SLM — Criar a política SLM · Executar a política agora · Verificar o estado e as estatísticas do SLM · Executar a retenção manualmente
  • Restauração — Restaurar o índice com um novo nome · Acompanhar a restauração e comparar a contagem de documentos · Apagar a cópia restaurada · Fechar o índice e restaurá-lo no local · Restaurar o feature state
  • Migração para outro cluster — Preparação do cluster de destino · Registrar o repository como somente leitura · Restaurar os índices no cluster de destino · Apagar o arquivo de credenciais no destino
  • Monitoramento e manutenção — Monitorar a saúde dos snapshots · Limpeza do repository · Apagar os arquivos de credenciais · Testes periódicos de recuperação
Abrir o plano passo a passo para o seu ambiente →