Demande #6315
ouvertMigrer le parc des machines et VM Chapril vers Debian 12 bookworm
90%
Description
Debian Bookworm est sorti :
- https://www.debian.org/releases/bookworm/ (à lire avec attention)
- https://www.debian.org/releases/bookworm/amd64/release-notes/
Afin de préparer la migration, création de tickets.
Prérequis :- apt.chapril.org
- vérifier la fonction de sauvegarde ;
- vérifier la supervision.
Le bloc-notes du camp https://pad.april.org/p/chaprilupgradebookworm
Comment migrer :
- faire des annonces larges pour prévenir de la migration à venir (sur
www.chapril.org, sur www.april.org, sur les listes d'informations
(type liste-infos@), sur les réseaux sociaux, sur les salons IRC, XMPP… - prévenir les personnes utilisatrices des services
- faire un snapshot avec vmsnap
vmsnap create <domain> upgrade-bookworm
- se connecter en ssh et lancer un screen avec la commande "screen"
- sauvegarder la trace via commande script :
script -a ~/upgrade-bookworm.script
- faire un état des lieux des potentiels problèmes :
dpkg --audit dpkg --get-selections | grep 'hold$'
- lister les fichiers de dépot dans
/etc/apt/sources.list
et/etc/apt/sources.list.d/
et s'assurer qu'ils ont une version bookworm - s'il y a des dépots secondaires hors debian (nodejs, etc), potentiellement les commenter le temps de la migration
- faire un dernier update/upgrade :
apt update && apt dist-upgrade -y
- pointer vers bookworm :
sed -e 's/bullseye/bookworm/g' -i /etc/apt/sources.list sed -e 's/bullseye/bookworm/g' -i /etc/apt/sources.list.d/*
apt update
- s'assurer qu'il n'y a pas d'erreur d'interrogation des dépôts
- Mettre à jour tout les paquets
- commencer par mettre à jour apt lui-même :
apt install apt
DEBIAN_FRONTEND=noninteractive apt -o DPKG::Options::="--force-confold" dist-upgrade -y
- commencer par mettre à jour apt lui-même :
- S'assurer que tout les paquets sont bien installés à la fin :
dpkg -C
- décommenter les dépôts secondaires
apt update && apt dist-upgrade -y
- Regarder les fichiers de conf en conflits :
find /etc -type f -name '*dist*'
- adapter les confs entre les fichiers d'origine et les fichiers dist (fichier dist == nouvelle conf par défaut),
vim -d lefichier lefichier.dpkg-dist
peut aider à comparer)
- rebooter la vm
- s'assurer que tout les démons tournent correctement après reboot (
systemctl status
doit être àrunning
)- lancer
systemctl --failed
pour lister tous les services en échec
- lancer
apt autoremove
apt clean
- Avant l'étape suivante, migrer les potentiels postgres
# Commandes extraites de /usr/share/doc/postgresql-15/README.Debian.gz pg_lsclusters pg_dropcluster 15 main --stop pg_upgradecluster 13 main # l'ancien cluster pourra ensuite être supprimé avec : # pg_dropcluster 13 main
- Note pour plus tard : sur de grosses BDD, utiliser
pg_upgradecluster --method=link ...
qui évite d'avoir à doubler l'espace disque nécessaire pendant l'upgrade, et qui est beaucoup plus rapide
- Note pour plus tard : sur de grosses BDD, utiliser
- recherche de tous les paquets qui ne sont pas
deb12
avec :dpkg -l | grep 'deb\(10\|11\)'
- Si on est sûr :
apt purge $(dpkg -l | grep 'deb\(10\|11\)' | awk '{print $2}')
- reboot la vm
- tester le service, tester le monitoring
- si tout est ok prévenir les personnes utilisatrices (mais coupures possibles encore lors de maj des hosts)
Sous-tâches 20 (3 ouvertes — 17 fermées)
Mis à jour par Quentin Gibeaux il y a 10 mois
- Copié depuis Demande #5488: Migrer le parc des machines et VM Chapril vers Debian 11 Bullseye ajouté
Mis à jour par pitchum . il y a 10 mois
Une fois sous Bookworm, la configuration borgmatic doit être adaptée.
diff --git a/borgmatic.d/root.yaml b/borgmatic.d/root.yaml --- a/borgmatic.d/root.yaml +++ b/borgmatic.d/root.yaml @@ -17,7 +17,7 @@ location: - '/var/lib/php/sessions/' - '/var/lib/postgresql/' repositories: - - 'backup@backup.chapril.org:/srv/backups/{fqdn}' + - 'ssh://backup@backup.chapril.org/srv/backups/{fqdn}' storage: ssh_command: ssh -p 2242 -A @@ -40,7 +40,7 @@ hooks: after_backup: - for file in /etc/borg/scripts/post-hooks/* ; do test -e "$file" || continue; echo "Executing $file..."; $file; done - echo "Succeeded root backup at $(date -Iseconds)" - - borgmatic --info --archive latest --json + - borgmatic info --archive latest --json on_error: - echo "Failed root backup at $(date -Iseconds)" after_check:
La première modif résout l'avertissement "borgmatic: WARNING /etc/borgmatic.d/root.yaml: Remote repository paths without ssh:// syntax are deprecated. Interpreting backup@backup.chapril.org:/srv/backups/{fqdn}" as "ssh://backup@backup.chapril.org/srv/backups/{fqdn}".
La seconde est plus importante car elle résout "borgmatic: error: argument : invalid choice: 'latest' (choose from 'rcreate',..." qui pollue les logs borgmatic et surtout fait échouer la sonde de supervision.