Archives du mot-clé Jessie

Migra­tion d’une version majeure de Post­greSQL à une autre

EDIT : J’ai refait cet article pour la migra­tion de Post­greSQL 9.4 à 9.6 (Debian Stretch) ici

Avec la sortie de Jessie, c’est Post­greSQL 9.4 qui est proposé. Mais comment faire pour migrer les bases de données du clus­ter 9.1 (qui ne rece­vra plus trop d’up­dates) vers le 9.4 ? Ce n’est pas très compliqué.

On stoppe les clus­ters Post­greSQL

service postgresql stop

On vire le clus­ter de la nouvelle version (norma­le­ment vide si on vient juste de l’ins­tal­ler : faire gaffe à ne pas lais­ser passer de temps entre l’ins­tal­la­tion de la nouvelle version et la migra­tion des données, pour que personne n’uti­lise le nouveau clus­ter)

pg_dropcluster --stop 9.4 main

On migre les données

pg_upgradecluster -m upgrade 9.1 main

On restoppe l’an­cien clus­ter (il a démarré tout seul pour la migra­tion)

service postgresql stop 9.1

On teste les applis qui utilisent Post­greSQL Si ça fonc­tionne, on vire les anciennes données

pg_dropcluster 9.1 main

On vire l’an­cienne version de Post­greSQL

apt-get autoremove --purge postgresql-9.1

C’est plutôt simple, n’est-ce pas ?

Source

Me soutenir sur Tipeee Me soutenir sur Liberapay

Gitlab et systemd sont sur un bateau

Systemd fait tanguer la barque. Gitlab ne tombe pas !

Tant qu’à passer à Jessie (et systemd pour le coup), autant suppri­mer le script d’init de gitlab et créer des services systemd.

La procé­dure se trouve là : https://github.com/gitlabhq/gitlab-recipes/tree/master/init/systemd mais elle néces­site un chouilla de modi­fi­ca­tion pour que ça fonc­tionne comme il faut sur Debian Jessie.

sudo su
cd /etc/systemd/system/
wget -O gitlab-sidekiq.service https://gitlab.com/gitlab-org/gitlab-recipes/raw/master/init/systemd/gitlab-sidekiq.service
wget -O gitlab-unicorn.service https://gitlab.com/gitlab-org/gitlab-recipes/raw/master/init/systemd/gitlab-unicorn.service

Modi­fi­ca­tion des services sed -e "s@mysqld.service @@" -e "s@redis.service@redis-server.service@" -i gitlab-sidekiq.service
sed -e "s@mysqld.service @@" -e "s@redis.service@redis-server.service@" -i gitlab-unicorn.service

(Bien sûr, je supprime la dépen­dance à mysql parce que j’uti­lise post­gresql)

Prise en compte des nouveaux services

systemctl daemon-reload

Lance­ment des nouveaux services

sudo systemctl start gitlab-sidekiq.service gitlab-unicorn.service

Lance­ment des nouveaux services au démar­rage

sudo systemctl enable gitlab-sidekiq.service gitlab-unicorn.service

Je ne suis pas un fana­tique de systemd (je trouve qu’il veut gérer bien trop de truc), mais j’ap­pré­cie vrai­ment l’écri­ture simple et rapide des services, à 100 lieues des script shell souvent incom­pré­hen­sibles et touf­fus de SysVi­nit.

Me soutenir sur Tipeee Me soutenir sur Liberapay