- Démarrage
- Prérequis
- Meilleures pratiques
- Installation
- Mise à jour en cours
- Serveur d'identité
- Résolution des erreurs de démarrage
Migration des index Elasticsearch
En utilisant les fonctionnalités Instantané et Restaurer d'Elasticsearch, vous pouvez créer un référentiel de sauvegarde de tous les index, qui peut ensuite être utilisé pour restaurer votre serveur actuel ou pour passer à un nouveau serveur, si nécessaire. Cela est utile pour assurer une transition parfaite en cas de panne matérielle ou lors d'une mise à niveau.
Dans cette section, nous examinons la procédure de migration sur une machine serveur Windows. Pour plus d'informations sur les instantanés et la liste complète des paramètres et commandes disponibles pour toutes les versions d'Elasticsearch prises en charge , consultez la documentation officielle d'Elastic.
Il est nécessaire d’avoir un système de fichiers partagé entre votre serveur actuel et le nouveau. Dans cet exemple, nous avons utilisé un dossier partagé créé sur le nouveau serveur.
Assurez-vous que le compte utilisé sur chaque serveur dispose d'un accès en lecture et en écriture dans ce répertoire partagé.
De plus, les visualisations Kibana précédemment mises en place ne sont pas sauvegardées et doivent être recréées.
À partir de votre serveur actuel, procédez comme suit :
- Arrêtez le service Elasticsearch.
- Ajoutez le répertoire partagé dans le fichier
elasticsearch.yml
:path.repo: [“\\\\server_name\\folder_name”]
. - Redémarrez le service Elasticsearch.
- Dans le tableau de bord Kibana, section Outils de développement (Dev Tools), cliquez sur Console (Console). La fenêtre Console (Console) s'ouvre.
-
Créez le référentiel en utilisant un nom significatif :
PUT /_snapshot/backup_old/ { “type”: “fs”, “settings”:{ “location”: “\\server_name\\folder_name” } }
PUT /_snapshot/backup_old/ { “type”: “fs”, “settings”:{ “location”: “\\server_name\\folder_name” } } - En cas de succès, la réponse de la console est la suivante :
“acknowledged”: true
. -
Créez l'instantané, en lui attribuant un nom significatif :
PUT /_snapshot/backup_old/snapshot_1?wait_for_completion=true
.Remarque : le paramètre?wait_for_completion
détermine si la requête est renvoyée lorsque l'instantané est terminé (true
) ou lorsqu'il est initialisé (false
). Pour les grands référentiels, le retour de cette commande peut prendre plusieurs minutes, même lorsque ce paramètre est défini sur false.
Lorsque cette commande est terminée, votre instantané est enregistré dans le référentiel désigné et est utilisable. Il est recommandé de prendre des instantanés fréquents pour maintenir le référentiel aussi à jour que possible. Les instantanés sont pris de manière incrémentielle, et ne sauvegardent que les nouvelles données lors des exécutions ultérieures. Par conséquent, cela ne nécessite pas beaucoup de ressources.
À partir de votre nouveau serveur, procédez comme suit :
- Arrêtez le service Elasticsearch.
- Ajoutez le répertoire partagé dans le fichier
elasticsearch.yml
:path.repo: [“\\\\server_name\\folder_name”]
. - Redémarrez le service Elasticsearch.
- Dans le tableau de bord Kibana, section Outils de développement (Dev Tools), cliquez sur Console (Console). La fenêtre Console (Console) s'ouvre.
-
Créez le référentiel en utilisant le même nom qu'auparavant :
PUT /_snapshot/backup_old/ { “type”: “fs”, “settings”:{ “location”: “\\server_name\\folder_name” } }
PUT /_snapshot/backup_old/ { “type”: “fs”, “settings”:{ “location”: “\\server_name\\folder_name” } } - En cas de succès, la réponse de la console est la suivante :
“acknowledged”: true
. - Chargez l'instantané :
POST/_snapshot/backup_old/snapshot_1/_restore
.
Tous les index précédents sont recréés. Toutefois, en fonction de leur taille, la synchronisation peut prendre un certain temps. La restauration peut être effectuée dans un cluster en cours d'exécution ou sur une nouvelle machine.