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
- 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.
- 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.
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.
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.
Exercicis Pràctics
Exercici 1: Crear un Repositori de Còpia de Seguretat
- Crea un repositori de còpia de seguretat anomenat
my_backup
en el sistema de fitxers local/mnt/backups/my_backup
. - Verifica que el repositori s'ha creat correctament.
Exercici 2: Crear una Instantània
- Crea una instantània anomenada
snapshot_1
que inclogui els índexsindex_1
iindex_2
. - Verifica que la instantània s'ha creat correctament.
Exercici 3: Restaurar una Instantània
- Restaura la instantània
snapshot_1
i renombra els índexs arestored_index_1
irestored_index_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.
Curs d'Elasticsearch
Mòdul 1: Introducció a Elasticsearch
- Què és Elasticsearch?
- Instal·lant Elasticsearch
- Conceptes Bàsics: Nodes, Clústers i Índexs
- Arquitectura d'Elasticsearch
Mòdul 2: Començant amb Elasticsearch
Mòdul 3: Tècniques Avançades de Cerca
Mòdul 4: Modelatge de Dades i Gestió d'Índexs
Mòdul 5: Rendiment i Escalabilitat
- Optimitzant el Rendiment de la Cerca
- Escalant Elasticsearch
- Monitorització i Manteniment
- Còpia de Seguretat i Restauració
Mòdul 6: Seguretat i Control d'Accés
- Assegurant Elasticsearch
- Autenticació i Autorització d'Usuaris
- Control d'Accés Basat en Rols
- Auditoria i Compliment
Mòdul 7: Integracions i Ecosistema
- Elasticsearch amb Logstash
- Elasticsearch amb Kibana
- Elasticsearch amb Beats
- Elasticsearch amb Altres Eines