Aller au contenu

Fichiers de configuration base de données

Référence des chemins de fichiers de configuration dans les conteneurs base de données Stack Harbor PaaS — my.cnf, postgresql.conf, cron, scripts de sauvegarde, clés et configs du panneau d'administration.

Cette page est une référence pour savoir où vivent les choses à l’intérieur d’un conteneur base de données Stack Harbor PaaS — la config moteur, la config cron, le script de sauvegarde par défaut, le répertoire de clés applicatives et les sous-configs du panneau d’administration.

La disposition est la même entre les conteneurs MySQL, MariaDB, Percona et PostgreSQL, avec un petit ensemble de chemins spécifiques au moteur.

Disposition des répertoires

DossierCheminTypes de base de données
conf/var/lib/pgsql/dataPostgreSQL
etc/etctous
cron/var/spool/crontous
scripts/var/lib/jelastic/bintous
backup/var/lib/jelastic/backuptous
keys/var/lib/jelastic/keystous
conf.d/etc/httpd/conf.dMySQL, MariaDB, Percona, PostgreSQL

Le reste de cette page couvre ce que chaque dossier contient et comment la plateforme interagit avec.

/etc — configuration moteur

MySQL, MariaDB et Percona utilisent /etc/my.cnf comme configuration principale du moteur. La plateforme gère un petit ensemble de paramètres dans ce fichier :

  • key_buffer_size
  • table_open_cache
  • myisam_sort_buffer_size
  • innodb_buffer_pool_size

Ces valeurs sont dimensionnées selon la limite de ressources du conteneur. Pour les surcharger à la main, voir Auto-configuration base de données — positionner la variable d’environnement JELASTIC_AUTOCONFIG à false, ou, sur les conteneurs hérités, retirer la ligne #Jelastic autoconfiguration mark. en tête de /etc/my.cnf. Sinon vos modifications sont écrasées à la prochaine mise à jour gérée par la plateforme.

Une alternative plus propre est de déposer les surcharges dans /etc/mysql/conf.d/my_custom.cnf. Les paramètres y ont priorité et la plateforme n’y touche pas.

/var/lib/pgsql/data — configuration PostgreSQL

Pour les conteneurs PostgreSQL, les fichiers de configuration principaux vivent dans /var/lib/pgsql/data :

  • postgresql.conf
  • pg_hba.conf
  • pg_ident.conf

La plateforme gère deux paramètres dans postgresql.conf :

  • shared_buffers — une fraction de la RAM totale (un quart si le conteneur a huit cloudlets ou plus, un septième sinon ; plancher de 128 Ko).
  • max_stack_depth — ulimit -s moins 1024, en Mo.

Pour surcharger à la main, retirer la ligne #Jelastic autoconfiguration mark. en tête de postgresql.conf. Sans cela, la plateforme écrase les modifications manuelles à la prochaine mise à jour gérée.

/var/spool/cron — tâches cron

Chaque conteneur base de données livre une config cron dans /var/spool/cron/ (le nom du fichier correspond au moteur — mysql, postgres, etc.). La ligne par défaut de la tâche de sauvegarde est incluse, commentée. Décommentez-la, ajustez la fréquence et les paramètres du script, sauvegardez — cron prend en compte le changement sans redémarrage.

Voir Sauvegardes base de données pour la procédure complète d’ordonnancement des sauvegardes.

/var/lib/jelastic/bin — scripts

Ce dossier contient le backup_script.sh par défaut et est l’emplacement recommandé pour vos scripts personnalisés. Tout ce qui s’y trouve survit aux redéploiements du conteneur.

Le script de sauvegarde par défaut accepte un petit ensemble de paramètres :

  • -m {mode} — dumpall pour une sauvegarde complète, dump pour une partielle.
  • -c {count} — nombre de vieilles sauvegardes à conserver en plus de la plus récente.
  • -u {user} et -p {password} — identifiants du moteur.
  • -d {databases} et -t {tables} — liste optionnelle de bases (ou de tables) à sauvegarder.

Pour la ligne cron qui pilote le script, voir Sauvegardes base de données.

/var/lib/jelastic/backup — archives de sauvegarde

Le script de sauvegarde par défaut y écrit sa sortie. Les archives sont au format bz2. Pour sortir les sauvegardes du nœud base de données, monter ce chemin vers un stockage distant ; la couche de stockage devient la destination des sauvegardes.

/var/lib/jelastic/keys — clés applicatives

Déposez les clés privées (SSH, SSL, API) ici comme fichiers simples. Référencez-les par chemin absolu depuis votre application — par exemple /var/lib/jelastic/keys/{nomClé}. Le répertoire persiste à travers les redéploiements.

/etc/httpd/conf.d — sous-configs du panneau d’administration

Pour les conteneurs de la famille MySQL et PostgreSQL, la configuration du panneau d’administration (phpMyAdmin ou pgAdmin) vit ici comme un fichier de sous-config — par exemple phpMyAdmin-jel.conf pour MySQL. Utilisez ces fichiers pour positionner des règles d’autorisation/refus par IP ou par domaine sur le panneau.

Voir aussi