Exploitation

Migration des tables

La ligne de commande exécute la procédure suivante:

  • Renomme la table existante (‘xxx’ devient ‘xxx_old’)
  • Crée une table partitionnée vide
  • Migre les données dans la table partitionnée (instructions ‘SELECT INSERT’)

Attention !!! des vérifications doivent être faites avant:

  • L’espace disponible sur le volume sur lequel se trouvent les bases MySQL doit être suffisant pour contenir deux fois la taille des tables traitées (Indexes + données).
  • Pas de données dans le futur (le temps est un facteur clé pour la mise en place du partitionnement).
  • Suffisamment de mémoire sur le serveur MySQL.

Attention également, les requêtes/instructions ‘SELECT INSERT’ vont verrouiller la table et probablement certains traitements (la migration de la table ‘logs’ par exemple).

La migration de la table est effectuée en utilisant l’option ‘-m’:

# php /usr/share/centreon-partitioning/bin/centreon-partitioning.php -m /etc/centreon/centreon-partitioning/partitioning-data_bin.xml

Si la migration de la table est ok l’ancienne table peut être supprimée.

Mise à jour des tables

Une fois le partitionnement effectué un script cron doit être exécuté tous les jours:

0 4 * * * root php /usr/share/centreon-partitioning/bin/centreon-partitioning.php -u /etc/centreon/centreon-partitioning/partitioning-data_bin.xml >> /var/log/centreon/centreon-purge.log 2>&1