LdS S22-2015

Débuter avec Docker

Lignes de commande et snippets Docker

Collectd : 5.5.0 has been released with 14 new plugins and tons of new features.

Velocity 2015 linux perf tools

Bug des droits fsync, PostgreSQL 9.4.1, 9.3.6, 9.2.10, 9.1.15 et 9.0.19

Determining your danger of multixact wraparound corruption

Postgres 9.5 feature highlight: Archiving of last segment on timeline after promotion

Partition xlogs pleine

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!