Que contient le stockage local d'Aurora for MySQL et comment puis-je résoudre les problèmes liés au stockage local ?

Date de la dernière mise à jour : 26/02/2019

Brève description

Les instances des clusters Aurora présentent deux types de stockage :

  • Stockage pour les données persistantes (alias « volume du cluster »). Ce type de stockage augmente automatiquement lorsque davantage d'espace est requis. Pour plus d'informations, consultez la rubrique Contenu du volume du cluster.
  • Stockage local pour chaque instance Aurora du cluster, en fonction de la classe d'instance. Ce type et cette taille de stockage sont liés à la classe d'instance et ne peuvent être modifiés qu'en passant à une classe d'instance de base de données plus grande. Aurora pour MySQL utilise le stockage local afin de stocker les journaux d'erreurs, les journaux généraux, les journaux de requêtes lentes, les journaux d'audit et les tables temporaires non InnoDB.

Résolution

Erreur de faible capacité de stockage

Lorsque vous approchez de la limite de capacité de stockage disponible, le message d'erreur suivant peut s'afficher :

« La capacité de stockage disponible pour l’instance de base de données instance-name est faible, il reste x % [stockage mis à disposition : xx Go, stockage libre : xx Go]. Nous vous conseillons d'augmenter le stockage mis à disposition pour résoudre ce problème. »

Le stockage local peut atteindre sa capacité maximale lorsque vous y stockez des données non persistantes, telles que des tables temporaires et des fichiers journaux. Vérifiez si vous avez des commandes ALTER TABLE en cours d'exécution ou si vous stockez un nombre excessif de tables temporaires. En optimisant les commandes ALTER et les tables temporaires, vous pouvez réduire l'utilisation du stockage local. Exécutez une commande semblable à celles qui suivent plusieurs fois pour voir le nombre de tables temporaires sur votre instance :

SHOW GLOBAL STATUS LIKE 'created_tmp%tables';

Pour surveiller le nombre de tables temporaires créées au cours d'une période donnée, vous pouvez activer GoSH. Cette fonction vous permet de stocker les variables d'état du serveur dans des tables que vous pouvez consulter ultérieurement pour une analyse plus approfondie.

Examinez la métrique Amazon CloudWatch pour FreeableMemory afin de déterminer la quantité de mémoire disponible. Vérifiez ensuite si les journaux d'audit, les journaux généraux ou les journaux de requêtes lentes consomment votre espace. Vous pouvez surveiller l'espace de stockage local associé à l'instance Aurora à l'aide de la métrique CloudWatch FreeLocalStorage. Pour plus d'informations, consultez la section Surveiller les métriques du cluster de la base de données Amazon Aurora.

Si vous avez besoin de plus d'espace, vous pouvez augmenter la quantité de votre stockage local. Pour ce faire, vous devez augmenter votre classe d'instance de base de données. Pour plus d'informations, consultez la section Modification de la classe de votre instance de base de données.

Vous pouvez également augmenter les valeurs des paramètres max_heap_table_size et tmp_table_size. La modification de ces paramètres peut réduire la quantité de données déversées sur le disque, ce qui peut réduire la quantité de stockage local utilisé. Vous pouvez modifier ces paramètres dans le groupe de paramètres rattaché à votre instance. Pour plus d'informations, consultez la section Modifier les paramètres dans un groupe de paramètres de base de données.

Rermarque : si vous augmentez les valeurs de max_heap_table_size et de tmp_table_size, les tables consomment plus de mémoire sur l'instance. Si vous augmentez ces valeurs, assurez-vous qu'il y a suffisamment de mémoire disponible sur l'instance. Vous pouvez surveiller la mémoire disponible à l'aide de la métrique CloudWatch FreeableMemory. Pour plus d'informations, consultez la rubrique Utiliser les métriques pour identifier les problèmes de performances.

ERROR 114 table full (ERREUR 1114 table pleine)

Lorsque MySQL effectue des opérations, telles que ALTER TABLE, il crée une table temporaire intermédiaire avec le nouveau schéma. MySQL charge ensuite les données dans la table intermédiaire, avant de supprimer l'ancienne table. La table intermédiaire peut utiliser le stockage local. Si le besoin en stockage de la table intermédiaire est supérieur à l’espace disponible, le message d'erreur suivant peut s'afficher :

« ERROR 1114 (HY000): The table 'table-name' is full » [ERREUR 1114 (HY000) : la table 'table-name' est pleine]

Pour résoudre cette erreur, vous pouvez augmenter le stockage local en augmentant temporairement l'instance. Une fois l'opération ALTER TABLE terminée, vous pourrez réduire la classe d'instance. Pour augmenter votre stockage local, vous devez augmenter votre classe d'instance Aurora. Pour plus d'informations, consultez la section Modification de la classe de votre instance de base de données.


Cet article vous a-t-il été utile ?


Besoin d'aide pour une question technique ou de facturation ?