====== Copia de seguridad y restauración de Elasticsearch ======
{{indexmenu_n>16}}
La migración de datos de un servidor Elasticsearch mediante //snapshots// se realiza con relativa rapidez. En primer lugar, se realiza una copia de seguridad de los datos del servidor y después se guarda en un repositorio para posterior restauración del mismo.
===== Crear copia de Seguridad =====
La máquina donde se realizará el //backup// se denomina "máquina origen" y la máquina donde se realizará la restauración se denomina "máquina destino".
* **En la máquina origen**
Modifique el fichero de configuración ''elasticsearch.yml'':
vi /etc/elasticsearch/elasticsearch.yml
Añada la siguiente línea:
path.repo: /usr/local/var/backups/
Cree el directorio añadido anteriormente al fichero de configuración:
mkdir -p /usr/local/var/backups/
Otorgue permisos de lectura y escritura al directorio y usuario:
chmod 700 /usr/local/var/backups
chown elasticsearch:elasticsearch /usr/local/var/backups
Reinicie servicio:
/etc/init.d/elasticsearch restart
Cree //backup//:
curl -XPUT http://localhost:9200/_snapshot/my_backup -d '{"type": "fs", "settings": {"compress": "true", "location": "/usr/local/var/backups/"}}}'
Comprima //backup//:
cd /usr/local/var/
tar -zcvf elastic_backup.tar.gz backups/
Desde la máquina destino copie el //backup// comprimido de la máquina origen.
scp -P 41122 root@:/root/elastic_backup.tar.gz /home/user/backup
* Para utilizar el comando **scp** se debe tener instalado un servidor SSH en la máquina origen y al menos un cliente SSH en la máquina destino.
* Es importante que la versión de Elasticsearch en la máquina destino sea compatible con la exportación de datos; es decir, en este caso la máquina origen debe tener la misma versión o superior. Si no es así, primero debe actualizar Elasticsearch en la máquina destino.
===== Restaurar copia de Seguridad =====
* **En la máquina destino.**
Modificar el fichero de configuración ''elasticsearch.yml'' de la misma manera hecha al crear el //backup// en la máquina origen:
vi /etc/elasticsearch/elasticsearch.yml
Añadir la siguiente línea:
path.repo: /usr/local/var/backups/
Crear el directorio añadido anteriormente al fichero de configuración:
mkdir -p /usr/local/var/backups/
Otorgar permisos de lectura y escritura al directorio:
chmod 700 /usr/local/var/backups
chown elasticsearch:elasticsearch /usr/local/var/backups
Reiniciar el servicio:
/etc/init.d/elasticsearch restart
Descomprimir el //backup// importado de la máquina origen:
tar -xzvf /home/user/backup/elastic_backup.tar.gz -C /usr/local/var/backups
Crear los repositorios donde se localizan las //snapshots//:
curl -X PUT "localhost:9200/_snapshot/my_backup" -H 'Content-Type: application/json' -d'
{
"type": "fs",
"settings": {
"location": "/usr/local/var/backups"
}
}
'
Cerrar los índices:
curl -XPOST http://localhost:9200/-*/_close
El asterisco muestra todos los índices que empiecen por ese nombre.
Importar el //backup//: Primero copiar el //backup// al repositorio:
cp my_backup_location/
Renombrar el fichero sin mayúsculas:
mv my_backup_location/ my_backup_location/snap1
Finalmente se importa:
curl -X POST "localhost:9200/_snapshot/my_backup/snap1/_restore?wait_for_completion=true"
Para terminar, reabrir los índices:
curl -XPOST http://localhost:9200/-*/_open
[[:es:documentation:start|Volver al Índice de Documentación Pandora FMS]]