Passer au contenu

Comment résoudre un problème d'espace de stockage insuffisant dans mon domaine OpenSearch Service ?

Lecture de 5 minute(s)
0

Je souhaite résoudre les problèmes d’espace de stockage insuffisant dans mon domaine Amazon OpenSearch Service.

Résolution

Votre domaine OpenSearch Service comporte des exigences en matière d'espace de stockage que vous devez respecter. Si vous manquez d'espace de stockage pour votre domaine, l'erreur « ClusterBlockException » peut s'afficher.

Pour résoudre les problèmes de manque d'espace de stockage, effectuez une ou plusieurs des actions suivantes.

Vérifier l’existence de partitions déséquilibrées

Des partitions déséquilibrées (asymétrie de l'espace disque) peuvent entraîner une diminution de l'espace de stockage pour certains nœuds. Pour résoudre ce problème, répartissez les partitions de manière uniforme sur tous les nœuds.

Pour vérifier l'espace de stockage disponible pour chaque nœud de votre cluster, exécutez la commande suivante :

curl -XGET "aos_endpoint/_cat/allocation?v"

Remarque : Remplacez aos_endpoint par le point de terminaison répertorié dans la console OpenSearch Service.

Exemple de sortie :

shards | disk.indices | disk.used | disk.avail | disk.total | disk.percent | host         | ip          | node
8    |   989.4kb    |   25.9gb    |   32.4gb   |   58.4gb   |   44         | 192.0.2.0    | 192.0.2.3   | node1
8    |   962.4kb    |   25.9gb    |   32.4gb   |   58.4gb   |   44         | 192.0.2.1    | 192.0.2.4   | node2

Dans la sortie, vous pouvez afficher les métriques d'espace disque pour chaque nœud. OpenSearch Service réserve 20 Gio ou 20 % du stockage disponible sur chaque instance Amazon Elastic Compute Cloud (Amazon EC2) pour les opérations internes. La sortie précédente pour cat/allocation n'inclut pas le stockage réservé. Pour afficher le stockage de données réservé et total, consultez la métrique FreeStorageSpace d’OpenSearch Service dans Amazon CloudWatch.

Remarque : Comme cat/allocation n'inclut pas de données réservées, sa valeur est toujours inférieure au stockage visible dans la console OpenSearch Service.

Augmenter la taille des volumes Amazon EBS de votre domaine

Si votre domaine utilise des volumes Amazon EBS pour le stockage, augmentez la taille des volumes EBS.

Si vous ne parvenez pas à augmenter la taille du volume EBS, effectuez une ou plusieurs des actions suivantes pour mettre à l'échelle votre cluster :

Remarque : Si vous utilisez des instances Amazon Elastic Compute Cloud (Amazon EC2) I3 pour le stockage de données, ajoutez des nœuds à votre cluster ou augmentez verticalement votre type d'instance. Lorsque vous mettez à l’échelle votre instance, vous pouvez provoquer un déploiement bleu/vert.

Supprimer les index non utilisés

Pour réduire la quantité de données stockées dans votre domaine, supprimez les index ou les documents non utilisés, optimisez les anciens index ou réduisez le nombre de réplicas du domaine. Si le cluster utilise déjà le disque au maximum, vous devez mettre à l’échelle vos volumes ou nœuds EBS.

Remarque : Si vous réduisez le nombre de réplicas du domaine, la tolérance aux pannes diminue. Il est recommandé de configurer au moins un réplica pour chaque index.

Créez une sauvegarde des index indésirables dans votre compartiment Amazon Simple Storage Service (Amazon S3). Vous pouvez utiliser des instantanés automatisés pris par OpenSearch Service pour restaurer votre instance. Puis, supprimez les index de votre cluster OpenSearch Service pour libérer de l'espace disque.

Il est recommandé de prendre également des instantanés manuels. Avant de créer des sauvegardes, vous devez créer un référentiel d’instantanés manuels.

Pour vérifier la date de création des index, exécutez la commande suivante :

GET _cat/indices?h=h,s,i,id,p,r,dc,dd,ss,creation.date.string&s=creation.date.string:desc

Pour supprimer un seul index, exécutez la commande suivante :

DELETE index-name

Remarque : Remplacez index-name par le nom de votre index.

Pour supprimer plusieurs index, exécutez la commande suivante :

DELETE index-pattern

Remarque : Remplacez index-pattern par votre modèle d'index.

Utiliser ISM pour gérer un espace de stockage restreint

Vous pouvez également utiliser la gestion d’états d’index (ISM) pour alterner les index dans OpenSearch Service. Grâce à ISM, vous pouvez définir des politiques de gestion personnalisées pour atténuer les problèmes tels que le manque d'espace disque. Par exemple, utilisez une politique ISM pour supprimer automatiquement les index en fonction de conditions telles que la taille de l'index. L'opération de roulement permet de déplacer une cible vers un nouvel index lorsqu'un index existant remplit la condition définie.

L'exemple de politique ISM suivant supprime les index après 50 minutes :

PUT _plugins/_ism/policies/delete_ism_policy  {
    "policy": {
        "policy_id": "delete_ism_policy",
        "description": "A simple default policy that deletes old unused indexes",
        "last_updated_time": 1658834661281,
        "schema_version": 13,
        "error_notification": null,
        "default_state": "example_hot_state",        
        "states": [
            {
                "name": "example_hot_state",
                "actions": [],
                "transitions": [
                    {
                        "state_name": "delete",
                        "conditions": {
                            "min_index_age": "50m"  
                        }
                    }
                ]
            },
            {
                "name": "delete",                    
                "actions": [
                    {
                        "delete": {}
                    }
                ],
                "transitions": []
            }
        ],
        "ism_template": [
            {
                "index_patterns": [                  
                    "sample*"
                ],
                "priority": 100,                    
                "last_updated_time": 1658834436349
            }
        ]
    }
}

Remarque : La politique précédente s'applique à tous les index correspondant au modèle d'index que vous ajoutez à la politique.

Pour associer une politique ISM à l'index, exécutez la commande suivante :

POST _plugins/_ism/add/your-index-*  {
     "policy_id": "your_policy_id"
}

Remarque : Remplacez your-index-* par votre index ou modèle d'index et your_policy_id par votre ID de politique.

Pour plus d'informations, consultez la section Comment utiliser l’ISM pour gérer un espace de stockage restreint dans OpenSearch Service ?

Utiliser les alarmes CloudWatch pour surveiller le stockage

Pour surveiller la quantité de stockage disponible dans votre cluster, vous pouvez utiliser la métrique FreeStorageSpace. Pour recevoir des notifications lorsque votre espace de stockage est insuffisant, créez une alarme CloudWatch pour FreeStorageSpace.

Pour plus d'informations, consultez la section Alarmes CloudWatch recommandée pour OpenSearch Service.

Informations connexes

Bonnes pratiques opérationnelles d’OpenSearch Service

Pourquoi mon cluster OpenSearch Service s’affiche-t-il en rouge ou en jaune ?

AWS OFFICIELA mis à jour il y a 9 mois