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/09 21:19] 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>+  * <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 58: 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 76: 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/backups/xlog/** +    * <del>**/data/backups/postgresql/xlog/**</del> 
-    * **/data/backups/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>
Ligne 108: Ligne 108:
 </file> </file>
  
-  * Modification de la configuration postgres sur tantor :+  * <del>Modification de la configuration postgres sur tantor :</del> rjuju
  
 <file> <file>
Ligne 130: 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 152: 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/backups/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 210: 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>
Ligne 216: Ligne 216:
 SRVDEST="tantor.postgresql.fr" SRVDEST="tantor.postgresql.fr"
 VERSION="9.3" VERSION="9.3"
-PORT=5432+INST="main"
 SNAPNAME="snapshot_$(date '+%Y_%m_%d_%H_%M_%S')" SNAPNAME="snapshot_$(date '+%Y_%m_%d_%H_%M_%S')"
-PGDIR="/var/lib/postgresql/${VERSION}/"+PGDIR="/var/lib/postgresql/${VERSION}/${INST}/"
 DESTDIR="/data/backups/postgresql/snapshot/${SNAPNAME}/" DESTDIR="/data/backups/postgresql/snapshot/${SNAPNAME}/"
  
 rc=0 rc=0
  
-psql -${PORT} -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 229: 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 235: Ligne 235:
 fi fi
  
-psql -${PORT} -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 245: Ligne 245:
 </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>
 #!/bin/bash #!/bin/bash
 SRVDEST="celeste.postgresql.fr" SRVDEST="celeste.postgresql.fr"
-VERSION="9.3" +INST="main"
-PORT=5432+
 SNAPNAME="snapshot_$(date '+%Y_%m_%d_%H_%M_%S')" SNAPNAME="snapshot_$(date '+%Y_%m_%d_%H_%M_%S')"
-PGDIR="/var/lib/postgresql/${VERSION}/"+PGDIR="/var/lib/postgresql/${VERSION}/${INST}/"
 DESTDIR="/data/backups/postgresql/snapshot/${SNAPNAME}/" DESTDIR="/data/backups/postgresql/snapshot/${SNAPNAME}/"
  
 rc=0 rc=0
  
-psql -${PORT} -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 264: 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 270: Ligne 269:
 fi fi
  
-psql -${PORT} -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 279: Ligne 278:
 </code> </code>
  
-  * Script de purge PITR (snapshot + WAL) sur celeste (en cas de switchover) et tantor :+  * <del>Script de purge PITR (snapshot + WAL) sur celeste (en cas de switchover) et tantor :</del> rjuju
  
 <code bash> <code bash>
Ligne 285: Ligne 284:
 RETENTION=5 RETENTION=5
 # Suppression des snapshots de plus de $RETENTION jours # Suppression des snapshots de plus de $RETENTION jours
-find /data/backups/postgresql/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
Ligne 294: 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.1397071160.txt.gz · Dernière modification : 2014/04/09 21:19 de rjuju