En aquest tema, aprendrem com realitzar còpies de seguretat (backups) i restaurar dades a Elasticsearch. Aquestes operacions són crucials per garantir la integritat i la disponibilitat de les dades en cas de fallades del sistema o altres incidents imprevistos.

Objectius del Tema

  • Entendre la importància de les còpies de seguretat i la restauració.
  • Aprendre a configurar i executar còpies de seguretat a Elasticsearch.
  • Aprendre a restaurar dades des d'una còpia de seguretat.

Conceptes Clau

  1. Repositoris de Còpia de Seguretat

Un repositori de còpia de seguretat és un lloc on es guarden les còpies de seguretat dels índexs d'Elasticsearch. Pot ser un sistema de fitxers local, un sistema de fitxers compartit, o un servei d'emmagatzematge al núvol com Amazon S3.

  1. Instantànies (Snapshots)

Les instantànies són còpies de seguretat dels índexs d'Elasticsearch en un moment determinat. Les instantànies són incrementals, és a dir, només es guarden les dades que han canviat des de l'última instantània.

Configuració d'un Repositori de Còpia de Seguretat

Pas 1: Crear un Repositori de Còpia de Seguretat

Per crear un repositori de còpia de seguretat, utilitzarem l'API _snapshot. A continuació es mostra un exemple de com crear un repositori de còpia de seguretat en un sistema de fitxers local.

PUT /_snapshot/my_backup
{
  "type": "fs",
  "settings": {
    "location": "/mnt/backups/my_backup",
    "compress": true
  }
}

Explicació:

  • my_backup: Nom del repositori de còpia de seguretat.
  • type: Tipus de repositori (fs per a sistema de fitxers).
  • location: Ubicació del sistema de fitxers on es guardaran les còpies de seguretat.
  • compress: Si es comprimeixen les còpies de seguretat.

Pas 2: Verificar el Repositori de Còpia de Seguretat

Després de crear el repositori, és important verificar que s'ha creat correctament.

GET /_snapshot/my_backup

Creació d'Instantànies

Pas 1: Crear una Instantània

Per crear una instantània, utilitzarem l'API _snapshot amb el mètode PUT.

PUT /_snapshot/my_backup/snapshot_1
{
  "indices": "index_1,index_2",
  "ignore_unavailable": true,
  "include_global_state": false
}

Explicació:

  • my_backup: Nom del repositori de còpia de seguretat.
  • snapshot_1: Nom de la instantània.
  • indices: Índexs que es volen incloure en la instantània.
  • ignore_unavailable: Si es vol ignorar els índexs no disponibles.
  • include_global_state: Si es vol incloure l'estat global del clúster.

Pas 2: Verificar l'Estat de la Instantània

Podem verificar l'estat de la instantània per assegurar-nos que s'ha creat correctament.

GET /_snapshot/my_backup/snapshot_1

Restauració d'Instantànies

Pas 1: Restaurar una Instantània

Per restaurar una instantània, utilitzarem l'API _snapshot amb el mètode POST.

POST /_snapshot/my_backup/snapshot_1/_restore
{
  "indices": "index_1,index_2",
  "ignore_unavailable": true,
  "include_global_state": false,
  "rename_pattern": "index_(.+)",
  "rename_replacement": "restored_index_$1"
}

Explicació:

  • my_backup: Nom del repositori de còpia de seguretat.
  • snapshot_1: Nom de la instantània.
  • indices: Índexs que es volen restaurar.
  • ignore_unavailable: Si es vol ignorar els índexs no disponibles.
  • include_global_state: Si es vol incloure l'estat global del clúster.
  • rename_pattern: Patró de renombrament dels índexs.
  • rename_replacement: Substitució del patró de renombrament.

Pas 2: Verificar l'Estat de la Restauració

Podem verificar l'estat de la restauració per assegurar-nos que s'ha completat correctament.

GET /_snapshot/my_backup/snapshot_1/_status

Exercicis Pràctics

Exercici 1: Crear un Repositori de Còpia de Seguretat

  1. Crea un repositori de còpia de seguretat anomenat my_backup en el sistema de fitxers local /mnt/backups/my_backup.
  2. Verifica que el repositori s'ha creat correctament.

Exercici 2: Crear una Instantània

  1. Crea una instantània anomenada snapshot_1 que inclogui els índexs index_1 i index_2.
  2. Verifica que la instantània s'ha creat correctament.

Exercici 3: Restaurar una Instantània

  1. Restaura la instantània snapshot_1 i renombra els índexs a restored_index_1 i restored_index_2.
  2. Verifica que la restauració s'ha completat correctament.

Solucions als Exercicis

Solució a l'Exercici 1

PUT /_snapshot/my_backup
{
  "type": "fs",
  "settings": {
    "location": "/mnt/backups/my_backup",
    "compress": true
  }
}

GET /_snapshot/my_backup

Solució a l'Exercici 2

PUT /_snapshot/my_backup/snapshot_1
{
  "indices": "index_1,index_2",
  "ignore_unavailable": true,
  "include_global_state": false
}

GET /_snapshot/my_backup/snapshot_1

Solució a l'Exercici 3

POST /_snapshot/my_backup/snapshot_1/_restore
{
  "indices": "index_1,index_2",
  "ignore_unavailable": true,
  "include_global_state": false,
  "rename_pattern": "index_(.+)",
  "rename_replacement": "restored_index_$1"
}

GET /_snapshot/my_backup/snapshot_1/_status

Resum

En aquest tema, hem après com configurar repositoris de còpia de seguretat, crear instantànies i restaurar dades a Elasticsearch. Aquestes operacions són essencials per garantir la seguretat i la disponibilitat de les dades en un entorn de producció. Hem vist exemples pràctics i hem realitzat exercicis per reforçar els conceptes apresos.

© Copyright 2024. Tots els drets reservats