Projet

Général

Profil

Scénario #21151

Mis à jour par Daniel Dehennin il y a plus de 6 ans

h3. Problème

Après un certain temps, le fichier *@/var/lib/mysql/ibdata1@* grossi de façon considérable sans possibilité simple de correction, ce qui sature la partition *@/var@*.

h3. Proposition

Nous devrions configurer MySQL comme indiqué "dans une réponse StackExchange DBA":https://dba.stackexchange.com/questions/8982/what-is-the-best-way-to-reduce-the-size-of-ibdata-in-mysql/8983#8983

h3. Demande initiale

Bonjour,

Nous constatons, en cette rentrée, des saturations de la partition /var (100%) sur plusieurs de nos scribes en version 2.5

Après recherches, il s'avère que la source de cette saturation provient du fichier /var/lib/mysql/ibdata1 qui grossi sans cesse.
Une fois /var saturé, beaucoup de services ne fonctionnent plus (phénomène bien connu), rendant le serveur non opérationnel.

Le partitionnement du serveur scribe est le partitionnement automatique proposé lors de l'installation, aucune modification de notre part. De même, la configuration de mysql est celle par défaut (bases en innodb, un seul fichier: ibdata1)

Pour revenir à un état fonctionnel, nous n'avons trouvé pour l'instant que cette méthode:

- déplacer /var/lib/mysql sur une autre partition
- exporter les bases / supprimer ibdata1 & ib_logfile* / ré-importer les bases
(ce qui pourrait être considéré comme un équivalent de "vacuum" des tables, à priori pas possible en innodb)
- redéposer le dossier mysql dans /var/lib

Cette solution nous a permit de gagner de l'espace sur le fichier ibdata1, libérant ainsi un peu /var.
Toutefois, elle ne peut être considérée comme perenne.
Le fichier continue de grossir et d'ici une ou deux semaines, nous allons être confrontés de nouveau au problème. Et cela risque de s'étendre, dans des délais plus ou moins proches, à l'ensemble de nos serveur scribe 2.5

Par exemple, sur une partition /var de 8.2 Go (partitionnement automatique) remplie à 100%, ibdata1 pèse 3.25 Go.
Après la manipulation décrite plus haut, on libère 600 Mo, ce qui n'est pas énorme et ne tiendra pas à moyen terme...

Nous pensons que bareos est, à priori, la source de nos soucis: ses enregistrements se comptent en centaines de milliers (voire en millions dans certains établissements). A chaque suppression d'enregistrement, le fichier ne s'optimise pas et donc grossit sans cesse dans des proportions assez importante par rapport à la taille de la partition.

Nous aimerions savoir s'il existe, de votre côté, des solutions ou des préconisations pour résoudre ce problème de base mysql innodb qui grossit sans cesse et qui sature /var.

Merci d'avance

Retour