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

Dernière mise à jour : 26/05/2022

Que stocke Amazon Aurora compatible MySQL dans le stockage local, et comment puis-je résoudre les problèmes liés à la capacité de stockage ?

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 plus d'espace est requis. Pour plus d'informations, consultez Contenu du volume de 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 for 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.

Pour plus d'informations sur la taille du stockage local et pour connaître la quantité maximale de stockage disponible pour chaque taille d'instance, consultez Limites de stockage temporaires pour Aurora MySQL.

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é lorsque vous y stockez des données non persistantes, comme 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 ALTERet les tables temporaires, vous pouvez réduire l'utilisation du stockage local. Exécutez plusieurs fois une commande similaire pour connaître 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 Surveillance des métriques dans un cluster 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 bases de données. Pour plus d'informations, consultez Classes d'instance de bases de données Aurora.

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 attaché à votre instance. Pour plus d'informations, consultez Utilisation des groupes de paramètres.

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.

ERROR 1114 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, augmentez le stockage local en mettant temporairement l'instance à l'échelle. 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 Classes d'instance de bases de données Aurora.


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


Avez-vous besoin d'aide pour une question technique ou de facturation ?