Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente | ||
admin:installation_9.0 [2010/07/17 19:35] – daamien | admin:installation_9.0 [2010/07/19 12:36] (Version actuelle) – daamien | ||
---|---|---|---|
Ligne 4: | Ligne 4: | ||
< | < | ||
Cette doc est succinte ! | Cette doc est succinte ! | ||
- | Pour plus de détails, voir les articles de Guillaume, notamment : [[http:// | + | Pour plus de détails, voir les articles de Guillaume, notamment : [[http:// |
</ | </ | ||
+ | |||
+ | |||
+ | ===== Préambule ===== | ||
+ | |||
+ | On met ici en place une réplication "Hot Standby en Streaming" | ||
+ | |||
+ | * Babar : serveur principal : ip = 212.85.154.68 port = 5433 | ||
+ | * Dumbo : serveur secondaire (en mode standby) : ip = 212.85.154.69 port = 5433 | ||
===== Compilation ===== | ===== Compilation ===== | ||
Ligne 27: | Ligne 35: | ||
Avant de démarrer le serveur, on modifie port sur 5433 dans postgresql.conf | Avant de démarrer le serveur, on modifie port sur 5433 dans postgresql.conf | ||
- | <code sh> | + | <file> |
- | vi postgresql.conf | + | port 5433 |
- | </code> | + | </file> |
Puis on met en place le script de démarrage. Ne pas oublier de modifier la paramètre PGDATA ! | Puis on met en place le script de démarrage. Ne pas oublier de modifier la paramètre PGDATA ! | ||
Ligne 47: | Ligne 55: | ||
</ | </ | ||
+ | ===== Configuration du Hot Standby ===== | ||
+ | |||
+ | sur Dumbo : | ||
+ | |||
+ | <code sh> | ||
+ | sudo passwd postgres | ||
+ | sudo su - postgres | ||
+ | mkdir -p / | ||
+ | </ | ||
+ | |||
+ | Au passage le shmmax de dumbo est trop bas pour la 9.0, on corrige : | ||
+ | |||
+ | <code sh> | ||
+ | sudo su - | ||
+ | echo " | ||
+ | echo " | ||
+ | sudo sysctl -p | ||
+ | </ | ||
+ | |||
+ | sur Babar, on ouvre une liaison ssh pour exporter les wals : | ||
+ | |||
+ | <code sh> | ||
+ | sudo su - postgres | ||
+ | ssh-keygen | ||
+ | ssh-copy-id postgres@dumbo.postgresql.fr | ||
+ | touch /tmp/tst | ||
+ | scp /tmp/tst postgres@dumbo.postgresql.fr:/ | ||
+ | </ | ||
+ | |||
+ | Modification dans le postgresql.conf de Babar | ||
+ | |||
+ | < | ||
+ | wal_level = hot_standby | ||
+ | archive_mode = on | ||
+ | archive_command = 'scp %p postgres@dumbo.postgresql.fr:/ | ||
+ | </ | ||
+ | |||
+ | puis redémarrage du serveur PG sur Babar | ||
+ | |||
+ | <code sh> | ||
+ | sudo / | ||
+ | </ | ||
+ | |||
+ | On fait un snapshot de la base sur Babar | ||
+ | |||
+ | <code sh> | ||
+ | sudo su - postgres | ||
+ | / | ||
+ | cp -pr / | ||
+ | / | ||
+ | </ | ||
+ | |||
+ | Préparation et export du snapshot sur Babar | ||
+ | <code sh> | ||
+ | sudo su - postgres | ||
+ | cd / | ||
+ | rm postmaster.pid | ||
+ | rm pg_xlog/* | ||
+ | echo ' | ||
+ | echo " | ||
+ | echo " | ||
+ | scp -pr / | ||
+ | </ | ||
+ | |||
+ | Sur dumbo, on charge le snapshot et on démarre en mode recovery/ | ||
+ | |||
+ | <code sh> | ||
+ | sudo / | ||
+ | sudo mv / | ||
+ | sudo mv / | ||
+ | sudo / | ||
+ | </ | ||
+ | |||
+ | |||
+ | |||
+ | Il ne reste plus qu'à tester sur Dumbo : | ||
+ | |||
+ | <code sh> | ||
+ | / | ||
+ | | ||
+ | ------------------- | ||
+ | t | ||
+ | (1 row) | ||
+ | |||
+ | </ | ||
+ | |||
+ | ===== Streaming Réplication ===== | ||
+ | |||
+ | Sur Babar, ouverture d'un accès vers la pseudo-base " | ||
+ | |||
+ | Dans postgresql.conf : | ||
+ | < | ||
+ | listen_addresses = ' | ||
+ | </ | ||
+ | |||
+ | et dans pg_hba.conf : | ||
+ | <note warning> | ||
+ | Note pour le lecteur : Ceci est une installation de test, le serveur n'a pas vocation a détenir des données sensibles et la sécurité n'est pas un enjeu crucial. Si vous souhaitez utiliser le mode streaming en production, vous devez élever le niveau d' | ||
+ | des adresses IP issues d'un réseau privé. | ||
+ | </ | ||
+ | |||
+ | < | ||
+ | host replication | ||
+ | </ | ||
+ | |||
+ | ... puis redémarrage du serveur sur Babar | ||
+ | |||
+ | |||
+ | Attention ! Il faut également vérifier la conf [[iptables]] ! | ||
+ | |||
+ | Sur Dumbo, on teste avec l' | ||
+ | |||
+ | < | ||
+ | / | ||
+ | </ | ||
+ | |||
+ | Sur Babar, on configure le streaming des wals : | ||
+ | < | ||
+ | max_wal_senders = 5 | ||
+ | wal_keep_segments = 32 | ||
+ | </ | ||
+ | |||
+ | ... et on redémarre le serveur | ||
+ | |||
+ | |||
+ | |||
+ | Sur Dumbo, on complète le recovery.conf pour récupérer les transactions commitées en se connectant à Babar : | ||
+ | < | ||
+ | primary_conninfo | ||
+ | trigger_file = '/ | ||
+ | </ | ||
+ | |||
+ | ... et on redémarre le serveur | ||
+ | |||
+ | Il ne reste plus qu'à tester :-) | ||
+ | |||
+ | sur babar : | ||
+ | |||
+ | < | ||
+ | $ / | ||
+ | | ||
+ | -------------------------- | ||
+ | | ||
+ | (1 row) | ||
+ | </ | ||
+ | |||
+ | puis sur dumbo | ||
+ | |||
+ | < | ||
+ | $ / | ||
+ | | ||
+ | -------------------------- | ||
+ | | ||
+ | (1 row) | ||
+ | </ | ||
+ | |||
+ | |||
+ | Pour transformer Dumbo en maitre en cas de crash de babar, taper la commande suivante sur dumbo: | ||
+ | |||
+ | < | ||
+ | sudo su - postgres | ||
+ | touch / | ||
+ | </ | ||
+ | |||
+ | |||
+ | ===== Migration 8.3 -> 9.0 ===== | ||
+ | |||
+ | Exemple pour la base drupal6 | ||
+ | |||
+ | <code sh> | ||
+ | / | ||
+ | / | ||
+ | pg_dump drupal6 | / | ||
+ | </ |