Lorsque vous activez la sauvegarde automatique pour Alibaba Cloud Elasticsearch, le système sauvegarde les données d'index à l'intervalle configuré. Utilisez ces sauvegardes pour récupérer des données suite à une suppression accidentelle ou à des erreurs de logique applicative.
Remarques d'utilisation
-
La sauvegarde et la restauration des données nécessitent le plugin
elasticsearch-repository-oss, préinstallé sur toutes les instances Alibaba Cloud Elasticsearch et impossible à supprimer. elasticsearch-repository-oss.Les snapshots ne sauvegardent que les données d'index. Ils n'incluent pas les données de surveillance (indexes avec le préfixe
.monitoringou.security_audit), les métadonnées, le translog, les configurations, les packages, les plugins ou les journaux. Les sauvegardes automatiques conservent uniquement les snapshots des 7 derniers jours. Le système supprime automatiquement les snapshots expirés ; ils sont irrécupérables. Pour conserver les données au-delà de 7 jours, exportez ou migrez les snapshots avant leur expiration en utilisant sauvegarde et restauration manuelles ou la fonctionnalité Sauvegarde automatique des snapshots vers un bucket OSS local. Vous ne pouvez restaurer les snapshots de sauvegarde automatique que dans le cluster d'origine. Pour restaurer les données dans un autre cluster, utilisez sauvegarde et restauration manuelles. Les métadonnées d'index d'une sauvegarde automatique ne doivent pas dépasser
100 MB. Un dépassement de cette limite peut entraîner l'échec de la tâche de sauvegarde. Privilégiez alors sauvegarde et restauration manuelles.Le premier snapshot constitue une copie complète des données et peut prendre beaucoup de temps. Utilisez sauvegarde et restauration manuelles pour la sauvegarde initiale.
L'activation de la sauvegarde automatique et la création du référentiel de snapshots (
aliyun_auto_snapshot) sont gratuites. Toutefois, le stockage des données de snapshot dans Object Storage Service (OSS) engendre des frais basés sur le volume de données et la durée de conservation.
Activer la sauvegarde automatique et configurer les alertes de cluster
Activer la sauvegarde automatique
Connectez-vous à la console Alibaba Cloud Elasticsearch.
Dans le volet de navigation de gauche, cliquez sur Elasticsearch Clusters.
Dans la barre de menu supérieure, sélectionnez un groupe de ressources et une région.
Sur la page Elasticsearch Clusters, cliquez sur l'ID de l'instance cible.
Dans le volet de navigation de gauche, cliquez sur Data Backup.
Dans la zone Snapshots (Free Trial), activez l'interrupteur Auto Snapshot.
-
Cliquez sur Set à côté de Auto Snapshot Period.
Pour les instances Enhanced Edition, le système génère l'heure de sauvegarde automatique et il est impossible de la modifier.
-
Dans le panneau Auto Snapshot Configuration, sélectionnez une Frequency (moment d'exécution de la sauvegarde automatique).
Backup cycle
Description
Every 30 minutes
Sauvegarde toutes les 30 minutes.
Daily
Sauvegarde quotidienne à une heure personnalisable.
Custom
Cycle et heure de sauvegarde personnalisés.
L'heure de sauvegarde automatique correspond à l'heure locale de la région de l'instance.
Cliquez sur OK.
Configurer les alertes de cluster
Après avoir activé la sauvegarde automatique, configurez alertes de cluster pour surveiller l'état des sauvegardes de snapshots. Une valeur snapshot status (value) égale à 2 sur la page de surveillance indique l'échec d'une tâche de snapshot.
Exécutez /_cat/snapshots/aliyun_auto_snapshot?format=json pour vérifier l'état du dernier snapshot. Effectuez une sauvegarde manuelle si nécessaire.
L'état du snapshot peut être l'un des suivants :
SUCCESS : Tous les shards ont été sauvegardés avec succès.
PARTIAL : Certains shards n'ont pas pu être sauvegardés.
FAILED : La tâche de sauvegarde a échoué.
S'il n'existe aucun snapshot récent, la sauvegarde n'a pas été déclenchée. Des exceptions au niveau du cluster ou des nœuds peuvent empêcher les sauvegardes automatiques.
Consulter les snapshots de sauvegarde
Après avoir activé la sauvegarde automatique, utilisez l'API _snapshot dans la console Kibana pour afficher les snapshots. Connexion à un cluster via Kibana.
-
Affichez le référentiel de snapshots.
GET _snapshotExemple de réponse :
{ "aliyun_auto_snapshot" : { "type" : "oss", "settings" : { "compress" : "true", "base_path" : "cf95b9-185320276651****/es-cn-09k2053us0003****", "endpoint" : "http://oss-cn-hangzhou-internal.aliyuncs.com" } } }Parameter
Description
aliyun_auto_snapshot
Le référentiel de snapshots automatiques, créé lors du premier snapshot. Toujours nommé
aliyun_auto_snapshot. Un référentiel stocke plusieurs snapshots, chacun contenant les données de sauvegarde de tous, de certains ou d'un seul index.type
Support de stockage.
ossindique Object Storage Service (OSS).compress
Indique s'il faut compresser les fichiers de métadonnées des snapshots (mappings d'index, paramètres). N'affecte pas les fichiers de données. Par défaut :
false.base_path
Chemin de stockage dans OSS.
endpoint
Endpoint du bucket OSS pour la région de l'instance.
-
Affichez les informations de tous les snapshots dans le référentiel
aliyun_auto_snapshot.GET _snapshot/aliyun_auto_snapshot/_allExemple de réponse :
{ "snapshots": [ { "snapshot": "es-cn-09k2053us0003****_20210117030003", "uuid": "vIdSCkthTeGa0nSj4D****", "version_id": 5050399, "version": "5.5.3", "indices": [ ".kibana" ], "state": "SUCCESS", "start_time": "2018-06-28T01:22:39.609Z", "start_time_in_millis": 1530148959609, "end_time": "2018-06-28T01:22:39.923Z", "end_time_in_millis": 1530148959923, "duration_in_millis": 314, "failures": [ ], "shards": { "total": 1, "failed": 0, "successful": 1 } }, { "snapshot": "es-cn-09k2053us0003****_20210118030004", "uuid": "XKO_Uwz_Qu6mZrU3Am****", "version_id": 5050399, "version": "5.5.3", "indices": [ ".kibana" ], "state": "SUCCESS", "start_time": "2018-06-28T01:25:00.764Z", "start_time_in_millis": 1530149100764, "end_time": "2018-06-28T01:25:01.482Z", "end_time_in_millis": 1530149101482, "duration_in_millis": 718, "failures": [ ], "shards": { "total": 1, "failed": 0, "successful": 1 } } ] }Les sauvegardes automatiques sont planifiées selon l'heure locale de la région de l'instance, mais la réponse de l'API renvoie des horodatages en UTC. L'heure normale de Chine (UTC+8) a 8 heures d'avance sur l'UTC.
Le champ
stateindique l'état du snapshot :Snapshot status
Description
IN_PROGRESS
Snapshot en cours.
SUCCESS
Snapshot terminé. Toutes les données des shards sont stockées.
FAILED
Échec du snapshot.
PARTIAL
Succès partiel. Au moins un shard n'a pas été stocké.
INCOMPATIBLE
Le snapshot est incompatible avec la version de l'instance Alibaba Cloud Elasticsearch.
Les snapshots de sauvegarde automatique disposent de ces paramètres supplémentaires par défaut :
Parameter
Description
max_snapshot_bytes_per_sec
Débit maximal de snapshot par nœud. Par défaut : 40 Mo/s.
max_restore_bytes_per_sec
Débit maximal de restauration par nœud. Par défaut : 40 Mo/s.
chunk_size
Taille des blocs pour le fractionnement des fichiers volumineux lors du snapshot (par exemple,
1g,10m,5k). Par défaut :null(aucune limite). -
Affichez les informations détaillées d'un snapshot spécifique dans le référentiel
aliyun_auto_snapshot.GET _snapshot/aliyun_auto_snapshot/<snapshot>/_status<snapshot> : Nom du snapshot de sauvegarde automatique (issu de la commande listant tous les snapshots ci-dessus). Exemple :
es-cn-09k2053us0003****_20210118030004.Exemple de réponse :
{ "snapshots": [ { "snapshot": "es-cn-09k2053us0003****_20210118030004", "repository": "aliyun_auto_snapshot", "uuid": "XKO_Uwz_Qu6mZrU3Am****", "state": "SUCCESS", "shards_stats": { "initializing": 0, "started": 0, "finalizing": 0, "done": 1, "failed": 0, "total": 1 }, "stats": { "number_of_files": 4, "processed_files": 4, "total_size_in_bytes": 3296, "processed_size_in_bytes": 3296, "start_time_in_millis": 1530148959688, "time_in_millis": 77 }, "indices": { ".kibana": { "shards_stats": { "initializing": 0, "started": 0, "finalizing": 0, "done": 1, "failed": 0, "total": 1 }, "stats": { "number_of_files": 4, "processed_files": 4, "total_size_in_bytes": 3296, "processed_size_in_bytes": 3296, "start_time_in_millis": 1530148959688, "time_in_millis": 77 }, "shards": { "0": { "stage": "DONE", "stats": { "number_of_files": 4, "processed_files": 4, "total_size_in_bytes": 3296, "processed_size_in_bytes": 3296, "start_time_in_millis": 1530148959688, "time_in_millis": 77 } } } } } } ] }
Restaurer des données depuis une sauvegarde automatique
La restauration des indexes système (préfixe .) peut rendre Kibana inaccessible. Ne restaurez pas les indexes système.
Dans la console Kibana, exécutez les commandes suivantes pour restaurer les données d'index à partir d'un snapshot :
-
Restaurez tous les indexes d'un snapshot spécifique (cette opération s'exécute en arrière-plan).
POST _snapshot/aliyun_auto_snapshot/<snapshot>/_restore<snapshot> : Le nom du snapshot de sauvegarde automatique, par exemple,
es-cn-abcdefghij****_20180627091600. -
Restaurez tous les indexes d'un snapshot spécifique et attendez la fin de la tâche.
L'API _restore est asynchrone. Ajoutez
wait_for_completionpour attendre la fin :POST _snapshot/aliyun_auto_snapshot/<snapshot>/_restore?wait_for_completion=true<snapshot> : Le nom du snapshot de sauvegarde automatique, par exemple,
es-cn-abcdefghij****_20180627091600. -
Restaurez des indexes spécifiques d'un snapshot et renommez-les pendant le processus (cette opération s'exécute en arrière-plan).
POST _snapshot/aliyun_auto_snapshot/<snapshot>/_restore { "indices": "index_1", "rename_pattern": "index_(.+)", "rename_replacement": "restored_index_$1" }Parameter
Description
<snapshot>
Le nom du snapshot de sauvegarde automatique, par exemple,
es-cn-abcdefghij****_20180627091600.indices
Le nom de l'index à restaurer.
rename_pattern
Facultatif. Expression régulière pour faire correspondre les noms des indexes que vous souhaitez restaurer.
rename_replacement
Facultatif. Motif de remplacement pour renommer les indexes correspondants.
Désactiver la sauvegarde automatique
Connectez-vous à la console Alibaba Cloud Elasticsearch.
Dans le volet de navigation de gauche, cliquez sur Elasticsearch Clusters.
Dans la barre de menu supérieure, sélectionnez un groupe de ressources et une région.
Sur la page Elasticsearch Clusters, cliquez sur l'ID de l'instance cible.
Dans le volet de navigation de gauche, cliquez sur Data Backup.
Dans la zone Snapshots (Free Trial), désactivez l'interrupteur Auto Snapshot.
FAQ
Pourquoi la sauvegarde automatique échoue-t-elle ou pourquoi les snapshots incrémentiels prennent-ils autant de temps que les snapshots complets ?
La sauvegarde automatique peut échouer ou les snapshots incrémentiels peuvent prendre autant de temps que les snapshots complets lorsque la limite de requêtes par seconde (QPS) d'OSS est dépassée, générant une erreur QpsLimitExceeded. Ce problème est plus fréquent pendant les heures de pointe, comme entre 00:00 et 02:00.
Pour résoudre ce problème :
Ajustez la planification de la sauvegarde automatique aux heures creuses, par exemple entre 03:00 et 04:00, afin de réduire le risque de limitation des QPS par OSS.
Si une sauvegarde échoue, patientez et réessayez plus tard. Ce problème est généralement temporaire et n'affecte pas le fonctionnement normal du cluster ni les charges de travail métier.
Comment consulter les snapshots de sauvegarde automatique dans la console ?
Pour les instances PaaS cloud-native Elasticsearch, la console ne propose pas d'entrée directe pour consulter les snapshots de sauvegarde automatique. Utilisez plutôt l'une des méthodes suivantes :
Kibana : Connectez-vous à la console Kibana de votre cluster, puis accédez à Management > Snapshot and Restore pour afficher les snapshots disponibles.
-
API : Exécutez la commande suivante dans la console Dev Tools de Kibana ou appelez directement l'API Elasticsearch :
GET _snapshot/aliyun_auto_snapshot/_allCette commande renvoie tous les snapshots du référentiel
aliyun_auto_snapshot, y compris le nom du snapshot, son état, l'heure de début et les informations sur les indexes.