====== 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]]