Cette semaine j’ai été confronté à un incident sur une instance postgres. La partition xlogs était pleine :

Cette instance est répliquée sur un autre serveur et archive ses journaux de transaction sur un troisième serveur. Ce dernier était plein, Postgres est intelligent et a conservé ses journaux de transaction en attendant de pouvoir les archiver… Jusqu’à ce que la partition des journaux se retrouve pleine entraînant l’arrêt de Postgres.

Le nettoyage sur le serveur d’archivage n’était pas suffisant, il fallait libérer de la place sur la partition. La solution qui vient en tête est d’agrandir la partition. Je ne souhaitais pas agrandir la partition. J’ai donc fait un truc tout simple : Déplacer un fichier journal et faire un lien symbolique vers celui-ci. Postgres est reparti et j’ai lancé un « CHECKPOINT » immédiatement ce qui a libéré de la place. Ensuite il faut penser à supprimer le fichier car Postgres a juste supprimé le lien.
C’est plus rapide à mettre en place que d’agrandir la partition.

En fouillant sur google je suis tombé sur ce site :
Solving pg_xlog out of disk space problem on Postgres

L’auteur nous donne une astuce toute simple : Créer un fichier plein de vide. Si un jour la partition est pleine il suffit de le supprimer pour faire repartir l’instance :

 dd if=/dev/zero of=DO_NOT_MOVE_THIS_FILE bs=1MB count=100

Bilan : Il faut bien penser à superviser l’archivage de Postgres!

Share

Il y a quelques mois un collègue de travail m’a présenté ce site pour acheter du matériel reconditionné : http://www.itsco.de/

J’ai acheté un HP Z400 avec un xeon quad core et 6GB de DDR3 ECC avec une carte graphique nvidia quadro 2000, le tout pour 320€!

La machine est rapidement partie d’Allemagne par DHL puis réceptionnée en France par la poste.

La machine est très propre à l’intérieur, itsco a du faire le  nettoyage. Quelques traces de rayures à l’extérieur mais rien de méchant, pas étonnant, c’est du reconditionné.  Elle est livrée avec un Windows seven pro (en Allemand) pré installé et une partition de restauration pour refaire une install propre. Sur le boitier il y a deux autocollants de licence Windows, un d’origine et un par Itsco spécifiant que c’est un Windows reconditionné.

J’étais assez embêté avec mon Windows Allemand. J’ai essayé Vistalizator, ça a bien marché mais il reste des traces d’Allemand un peu partout dans l’OS.

J’ai contacté itsco pour savoir comment je pouvais procéder pour installer Windows sur un autre disque, ils m’ont envoyé un lien pour télécharger une ISO d’install officielle de Win 7 mais toujours en Allemand. En fouillant un peu j’ai trouvé une ISO Française officielle, autrefois fourni par Microsoft, maintenant il faut chercher un peu…

Je craignais que ma clé de licence ne soit pas valide sur une version Française mais si 🙂 Tout est passé comme une lettre à la poste, activation en ligne et tout.

Voila, je ne gagne rien à vous parler de ce site si ce n’est le plaisir de partager un bon plan!

J’allais oublier, je ne parle pas un mot d’Allemand, j’ai tout fait avec chrome et la traduction! J’ai contacté le support en Anglais et il est assez réactif.

 

Edit : J’ai trouvé un autre site qui vend du matériel reconditionné  mais jamais testé : http://www.monsieurcyberman.com/fr/

Share

Je profite d’un week end de mauvais temps (m’empêchant de retourner en falaise 🙁 ) pour poursuivre mes articles sur Postgres.

Dans le précédent article : Backup, restauration – Part 6 J’ai évoqué la restauration PITR pour Point In Time Recovery. Je vous encourage vivement à mettre en place ce qui va suivre afin de réduire la perte de données en cas de modification accidentelle sur des enregistrements : Un drop table par exemple.

Lire l’article

Share

J’ai consacré les précédents articles aux différents mécanismes de réplications. Le principe est à chaque fois le même, on utilise une copie d’une instance Postgres puis la réplication se fait par rejeu des journaux de transaction (soit par transfert de fichier ou par flux).

Cet article va aborder les différentes technique de sauvegarde … ainsi que la restauration. On ne pense pas assez à la restauration : « la priorité est la sauvegarde, la restauration on verra quand on aura un peu de temps ».

  1. Sauvegarde fichier d’une instance (manuelle + pg_base_backup)
  2. Sauvegarde par dump des bases avec pg_dump
  3. Restauration (manuelle + pg_restore)
  4. Restauration PITR

Lire l’article

Share