PostgreSQL La base de donnees la plus sophistiquee au monde.

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
Prochaine révision
Révision précédente
admin:maj_infra_2014_04 [2014/04/07 20:50] rjujuadmin:maj_infra_2014_04 [2014/05/01 11:41] (Version actuelle) rjuju
Ligne 11: Ligne 11:
   * Installation d'etckeeper ?   * Installation d'etckeeper ?
   * durée de rétention des sauvegardes ? (5 jours pour le moment)   * durée de rétention des sauvegardes ? (5 jours pour le moment)
-  * passer le listen_addresses à '*' sur les 2 machines pour simplifier la conf ?+  * <del>passer le listen_addresses à '*' sur les 2 machines pour simplifier la conf ?</del> oui (rjuju)
   * envoi de mails depuis les crons ? si oui à quelle adresse ?   * envoi de mails depuis les crons ? si oui à quelle adresse ?
-  * utilisation des liens symboliques **/data** plutôt que des vrais chemins **/srv/data_(celeste|tantor)** pour simplifier et unifier au maximum les scripts ?+  * <del>utilisation des liens symboliques **/data** plutôt que des vrais chemins **/srv/data_(celeste|tantor)** pour simplifier et unifier au maximum les scripts ?</del> oui (rjuju)
     * les seuls scripts différents sur les 2 machines sont     * les seuls scripts différents sur les 2 machines sont
-      * les crontabs 
       * le ''postgresql.conf'' (archive_command + éventuellement le listen_addresses)       * le ''postgresql.conf'' (archive_command + éventuellement le listen_addresses)
       * le ''recovery.conf'' (primary_conninfo)       * le ''recovery.conf'' (primary_conninfo)
-      * le script de sauvegarde PITR (rsync vers le serveur)+      * les crontabs: le script de sauvegarde PITR (rsync vers le serveur)
  
 ===== Actions ===== ===== Actions =====
  
   * Suppression de l'instance 8.4 sur [[tantor]]   * Suppression de l'instance 8.4 sur [[tantor]]
 +  * <del>Création du lien symbolique **/var/lib.postgresql** pointant vers **/srv/data_tantor/var/lib/postgresql**</del> rjuju
   * Migration de [[celeste]] vers postgresql 9.3.4   * Migration de [[celeste]] vers postgresql 9.3.4
     * temps estimé : TODO     * temps estimé : TODO
-  * Mise en réplication entre [[celeste]] et [[tantor]] +  * <del>Mise en réplication entre [[celeste]] et [[tantor]]</del> rjuju 
-    * log shipping +    * <del>log shipping</del> 
-    * streaming replication +    * <del>streaming replication</del> 
-    * pas de hot standby +    * <del>pas de hot standby</del> 
-  * Mise en place d'une sauvegarde PITR de [[celeste]] (en plus du pg_dumpall déjà en place)+  * <del>Mise en place d'une sauvegarde PITR de [[celeste]] (en plus du pg_dumpall déjà en place)</del> rjuju
   * Déplacement des sauvegardes pg_dumpall + rsync de celles-ci sur le FS /data/srv_(celeste_tantor) (actuellement sur le FS / )   * Déplacement des sauvegardes pg_dumpall + rsync de celles-ci sur le FS /data/srv_(celeste_tantor) (actuellement sur le FS / )
-  * Installation de sysstat sur [[celeste]] et [[tantor]]+  * <del>Installation de sysstat sur [[celeste]] et [[tantor]]</del> rjuju
   * Mise en place de rapports pgBadger et pgCluu quotidiens   * Mise en place de rapports pgBadger et pgCluu quotidiens
  
Ligne 57: Ligne 57:
 </note> </note>
  
-  * Installation de la 9.3 +  * <del>Installation de la 9.3</del> rjuju 
-    * Configuration du dépôts apt.postgresql.org sur [[tantor]] : +    * <del>Configuration du dépôts apt.postgresql.org sur [[tantor]] :</del> 
-      * fichier /etc/apt/sources.list.d+      * <del>fichier /etc/apt/sources.list.d/postgresql.list</del>
  
   deb http://apt.postgresql.org/pub/repos/apt/ squeeze-pgdg main   deb http://apt.postgresql.org/pub/repos/apt/ squeeze-pgdg main
  
-    * + autres étapes, voir http://wiki.postgresql.org/wiki/Apt +    * <del>+ autres étapes, voir http://wiki.postgresql.org/wiki/Apt</del> 
-    * sudo apt-get install postgresql-9.3 postgresql-client-9.3 postgresql-contrib-9.3 +    * <del>sudo apt-get install postgresql-9.3 postgresql-client-9.3 postgresql-contrib-9.3</del> 
-      * sur [[celeste]] et [[tantor]]+      * <del>sur [[celeste]] et [[tantor]]</del>
  
 <note important> <note important>
Ligne 75: Ligne 75:
  
   * <del>Ajout de la clé publique de postgres@tantor sur postgres@celeste</del> (fait par rjuju le 7/04/2014)   * <del>Ajout de la clé publique de postgres@tantor sur postgres@celeste</del> (fait par rjuju le 7/04/2014)
-  * Création des répertoires d'archivages de WAL et des snapshots sur [[celeste]] et [[tantor]] +  * <del>Création des répertoires d'archivages de WAL et des snapshots sur [[celeste]] et [[tantor]]</del> rjuju 
-    * on utilise les liens symboliques **/data** point sur **/srv/data_(celeste|tantor)** +    * <del>on utilise les liens symboliques **/data** point sur **/srv/data_(celeste|tantor)**</del> 
-    * **/data/backup/xlog/** +    * <del>**/data/backups/postgresql/xlog/**</del> 
-    * **/data/backup/snapshot/** +    * <del>**/data/backups/postgresql/snapshot/**</del> 
-  * Ajout d'un utilisateur de réplication +  * <del>Ajout d'un utilisateur de réplication</del> 
-    * CREATE ROLE repli REPLICATION ;+    * <del>CREATE ROLE repli REPLICATION ;</del>
 <note> <note>
-création d'un mot de passe et mise en place d'un fichier .pgpass ou du trust ?+<del>création d'un mot de passe et mise en place d'un fichier .pgpass ou du trust ?</del> 
 +Mot de passe et .pgpass (rjuju)
 </note> </note>
  
-  * Modification de la configuration postgres sur celeste :+  * <del>Modification de la configuration postgres sur celeste :</del> rjuju
  
 <file> <file>
 archive_mode = on archive_mode = on
-archive_command = 'rsync -a %postgres@tantor.postgresql.fr:/data/backup/xlog/%f'+archive_command = 'rsync -a %postgres@tantor.postgresql.fr:/data/backups/postgresql/xlog/%f'
 wal_level = hot_standby # au cas où on veuille passer en hot_standby wal_level = hot_standby # au cas où on veuille passer en hot_standby
 checkpoint_completion_target = 0.9 checkpoint_completion_target = 0.9
-ssl = on+ssl = true
 log_checkpoints = on log_checkpoints = on
 log_disconnections = on log_disconnections = on
Ligne 107: Ligne 108:
 </file> </file>
  
-  * Modification de la configuration postgres sur tantor :+  * <del>Modification de la configuration postgres sur tantor :</del> rjuju
  
 <file> <file>
 archive_mode = on archive_mode = on
-archive_command = 'rsync -a %postgres@celeste.postgresql.fr:/data/backup/xlog/%f'+archive_command = 'rsync -a %postgres@celeste.postgresql.fr:/data/backups/postgresql/xlog/%f'
 wal_level = hot_standby # au cas où on veuille passer en hot_standby wal_level = hot_standby # au cas où on veuille passer en hot_standby
 checkpoint_completion_target = 0.9 checkpoint_completion_target = 0.9
-ssl = on+ssl = true
 log_checkpoints = on log_checkpoints = on
 log_disconnections = on log_disconnections = on
Ligne 129: Ligne 130:
 </file> </file>
  
-  * Modification du pg_hba.conf sur celeste et tantor :+  * <del>Modification du pg_hba.conf sur celeste et tantor :</del> rjuju
 <file> <file>
 #connexions locales #connexions locales
Ligne 151: Ligne 152:
 </file> </file>
  
-  * Création du recovery.conf sur tantor :+  * <del>Création du recovery.conf sur tantor :</del> rjuju
  
 <file> <file>
 standby_mode = on standby_mode = on
 primary_conninfo = 'host=celeste.postgresql.fr port=5432 user=repli' primary_conninfo = 'host=celeste.postgresql.fr port=5432 user=repli'
-restore_command = 'cp /data/backup/xlog/%f %p'+restore_command = 'cp /data/backups/postgresql/xlog/%f %p'
 # pas de cleanup comme on a une sauvegarde pitr, ils seront purgés par le cron PITR # pas de cleanup comme on a une sauvegarde pitr, ils seront purgés par le cron PITR
 # pas de trigger file # pas de trigger file
Ligne 209: Ligne 210:
 ==== Mise en place de la sauvegarde PITR ==== ==== Mise en place de la sauvegarde PITR ====
  
-  * Script de sauvegarde PITR sur celeste:+  * <del>Script de sauvegarde PITR sur celeste:</del> rjuju
  
 <code bash> <code bash>
-SRVSRC="celeste+#!/bin/bash 
-SRVDEST="tantor"+SRVDEST="tantor.postgresql.fr
 +VERSION="9.3" 
 +INST="main"
 SNAPNAME="snapshot_$(date '+%Y_%m_%d_%H_%M_%S')" SNAPNAME="snapshot_$(date '+%Y_%m_%d_%H_%M_%S')"
-PGDIR="/data/var/lib/postgresql/" +PGDIR="/var/lib/postgresql/${VERSION}/${INST}/" 
-DESTDIR="/data/backup/snapshot/${SNAPNAME}/"+DESTDIR="/data/backups/postgresql/snapshot/${SNAPNAME}/"
  
 rc=0 rc=0
  
-psql -c "SELECT pg_start_backup('${SNAPNAME}')"+psql --cluster ${VERSION}/${INST} -c "SELECT pg_start_backup('${SNAPNAME}')"
 if [ $? -ne 0 ]; then if [ $? -ne 0 ]; then
     echo "Unable to start backup !"     echo "Unable to start backup !"
Ligne 226: Ligne 229:
 fi fi
  
-rsync -avp ${PGDIR} postgres@${SRVDEST}:${DESTDIR}+rsync -avp --exclude "pg_xlog/*" ${PGDIR} postgres@${SRVDEST}:${DESTDIR}
 if [ $? -ne 0 ]; then if [ $? -ne 0 ]; then
     echo "Error during rsync of ${PGDIR} to postgres@${SRVDEST}:${DESTDIR} !"     echo "Error during rsync of ${PGDIR} to postgres@${SRVDEST}:${DESTDIR} !"
Ligne 232: Ligne 235:
 fi fi
  
-psql -c "SELECT pg_stop_backup()"+psql --cluster ${VERSION}/${INST} -c "SELECT pg_stop_backup()"
 if [ $? -ne 0 ]; then if [ $? -ne 0 ]; then
     echo "Unable to stop backup !"     echo "Unable to stop backup !"
Ligne 239: Ligne 242:
  
 exit ${rc} exit ${rc}
 +
 </code> </code>
  
-  * Script de sauvegarde PITR sur tantor (en cas de switchover) :+  * <del>Script de sauvegarde PITR sur tantor (en cas de switchover) :</del> rjuju
  
 <code bash> <code bash>
-SRVSRC="tantor+#!/bin/bash 
-SRVDEST="celeste"+SRVDEST="celeste.postgresql.fr
 +INST="main"
 SNAPNAME="snapshot_$(date '+%Y_%m_%d_%H_%M_%S')" SNAPNAME="snapshot_$(date '+%Y_%m_%d_%H_%M_%S')"
-PGDIR="/data/var/lib/postgresql/" +PGDIR="/var/lib/postgresql/${VERSION}/${INST}/" 
-DESTDIR="/data/backup/snapshot/${SNAPNAME}/"+DESTDIR="/data/backups/postgresql/snapshot/${SNAPNAME}/"
  
 rc=0 rc=0
  
-psql -c "SELECT pg_start_backup('${SNAPNAME}')"+psql --cluster ${VERSION}/${INST} -c "SELECT pg_start_backup('${SNAPNAME}')"
 if [ $? -ne 0 ]; then if [ $? -ne 0 ]; then
     echo "Unable to start backup !"     echo "Unable to start backup !"
Ligne 258: Ligne 263:
 fi fi
  
-rsync -avp ${PGDIR} postgres@${SRVDEST}:${DESTDIR}+rsync -avp --exclude "pg_xlog/*" ${PGDIR} postgres@${SRVDEST}:${DESTDIR}
 if [ $? -ne 0 ]; then if [ $? -ne 0 ]; then
     echo "Error during rsync of ${PGDIR} to postgres@${SRVDEST}:${DESTDIR} !"     echo "Error during rsync of ${PGDIR} to postgres@${SRVDEST}:${DESTDIR} !"
Ligne 264: Ligne 269:
 fi fi
  
-psql -c "SELECT pg_stop_backup()"+psql --cluster ${VERSION}/${INST} -c "SELECT pg_stop_backup()"
 if [ $? -ne 0 ]; then if [ $? -ne 0 ]; then
     echo "Unable to stop backup !"     echo "Unable to stop backup !"
Ligne 273: Ligne 278:
 </code> </code>
  
-  * Script de purge PITR (snapshot + WAL) sur celeste (en cas de switchover) : +  * <del>Script de purge PITR (snapshot + WAL) sur celeste (en cas de switchover) et tantor :</delrjuju
- +
-<code bash> +
-RETENTION=5 +
-# Suppression des snapshots de plus de $RETENTION jours +
-find /data/backup/snapshot/ -maxdepth 1 -type d -mtime +${RETENTION} -print -exec rm -rf {} \; +
- +
-# Suppression des WAL de plus de $RETENTION jours +
-find /data/xlog -type f -mtime +${RETENTION} -print -delete +
-</code> +
- +
-  * Script de purge PITR (snapshot + WAL) sur tantor :+
  
 <code bash> <code bash>
 +#!/bin/bash
 RETENTION=5 RETENTION=5
 # Suppression des snapshots de plus de $RETENTION jours # Suppression des snapshots de plus de $RETENTION jours
-find /data/backup/snapshot/ -maxdepth 1 -type d -mtime +${RETENTION} -print -exec rm -rf {} \;+find /data/backups/postgresql/snapshot/ -maxdepth 1 -type d -name "snapshot_*" -mtime +${RETENTION} -print -exec rm -rf {} \;
  
 # Suppression des WAL de plus de $RETENTION jours # Suppression des WAL de plus de $RETENTION jours
-find /data/xlog -type f -mtime +${RETENTION} -print -delete+find /data/backups/postgresql/xlog -type f -mtime +${RETENTION} -print -delete
 </code> </code>
  
Ligne 298: Ligne 293:
 ==== pgBadger + pgCluu ==== ==== pgBadger + pgCluu ====
  
-  * Installation de sysstat+  * <del>Installation de sysstat</del>
  
   sudo apt-get install sysstat   sudo apt-get install sysstat
 
admin/maj_infra_2014_04.1396896614.txt.gz · Dernière modification : 2014/04/07 20:50 de rjuju