Compare commits

...
Sign in to create a new pull request.

1 commit

Author SHA1 Message Date
Baptiste Jonglez
196fea5a93 Feuille de route migration email et cryptpad
All checks were successful
ci/woodpecker/push/main Pipeline was successful
2025-04-15 23:31:29 +02:00

View file

@ -0,0 +1,140 @@
---
title: "avril 2025"
description: "Avril 2025: perte d'une zone, migration des services email et cryptpad"
date: 2025-04-15
dateCreated: 2025-04-15
weight: 40
extra:
parent: 'operations/pannes.md'
---
15 avril 2025 : coupure de la connexion fibre sur le site à Lille (scorpio).
Les services cryptpad et email sont impactés.
On apprend que Free ne pourra intervenir que dans 3 jours, on migre donc les services pour ne pas attendre.
# Référence et cheatsheet
Voir [2024-05-12-migration-email](@/operations/2024-05-12-migration-email.md) pour la précédente panne identique.
Il y avait notamment une cheatsheet bien pratique qu'on ne va pas dupliquer ici.
# Infos infra
- Site source : scorpio (Lille), machine abricot
- Site destination email : corrin (Nantes), machine pasteque
- Site destination cryptpad : bespin (Bruxelles), machine df-ymk
- Volume de données à migrer : 3 GB pour cryptpad, 24 GB pour les emails
# Vision haut niveau
On décide de mettre les emails et cryptpad sur des sites différents, pour éviter une panne simultanée
(ce sont nos deux seuls services qui sont "figés" sur un unique site).
Au vu des volumes, on part sur une restauration de backup pour les mails (avec synchro finale via 4G), et une copie complète de la prod via un réseau 4G pour cryptpad.
# Relais SSH via connexion 4G
L'opératrice sur place à Lille connecte son laptop en filaire au réseau local des machines de Lille, et se connecte au partage de connexion 4G de son téléphone via Wi-Fi.
Elle fait ensuite un reverse tunnel SSH vers pasteque avec la commande suivante :
```
ssh -p 22202 sonlogin@corrin.site.deuxfleurs.fr -C -N -v -R 0.0.0.0:4242:192.168.1.41:110
```
Dans le détail :
- port 22202 : c'est le port SSH pour joindre pasteque en IPv4 (redirection de port)
- `-C` : activer compression
- `-N` : ne pas ouvrir de shell (la commande ssh va juste bloquer tant que la connexion est ouverte)
- `-v` : afficher des logs
- `-R 0.0.0.0:4242:192.168.1.41:110` : écouter sur le port 4242 sur pasteque, et rediriger les connexions vers l'IP 192.168.1.41 port 110 (le service SSH d'abricot sur le réseau local)
Ainsi, tout admin peut se connecter à abricot à travers ce tunnel :
```
# En local
eval $(ssh-agent)
ssh-add ~/.ssh/id_rsa
ssh -A pasteque.machine.deuxfleurs.fr
# Sur pasteque
ssh -p 4242 localhost
# On arrive sur abricot
```
Pour les migrations, on pourra rajouter sa clé SSH dans `/root/.ssh/authorized_keys` sur les différentes machines,
et faire tous les SSH en root.
# Feuille de route cryptpad
- Copier les données de cryptpad à travers le tunnel SSH :
```
# Depuis pasteque en étant root, avec le tunnel décrit au-dessus
rsync -a --info=progress2 -e "ssh -p 4242" root@localhost:/mnt/ssd/cryptpad /mnt/ssd/
```
- Il y a 3 GB de données à copier, ça a pris environ 40 minutes
- Changer le site et la contrainte de machine dans le job Nomad, et déployer
- D53 fait sa magie et ça remarche
# Feuille de route emails
- Se connecter au compte Gandi et changer l'enregistrement SPF de deuxfleurs.fr (TXT: rajouter le nouveau site)
- Restaurer le dernier backup des mails sur le noeud cible (pasteque)
+ On commence par monter le répertoire cible de pasteque en sshfs
```
# Sur pasteque, en root
mkdir /mnt/ssd/mail_from_backup_20250415
# Sur un laptop connecté au réseau local de pasteque
mkdir -p ~/tmp/pasteque
sshfs root@pasteque.machine.deuxfleurs.fr:/mnt/ssd/mail_from_backup_20250415 ~/tmp/pasteque
```
+ Puis on passe par les scripts restic du dépôt nixcfg :
```
./restic_summary
./restic_restore_gen dovecot ID ~/tmp/pasteque
```
+ Il y avait 24 GB pour 133.000 fichiers à restaurer, ça a pris environ 1h30
- Dupliquer le dossier pour pouvoir repartir du backup en cas de souci
```
# Sur pasteque, en root
cp -a /mnt/ssd/mail_from_backup_20250415 /mnt/ssd/mail
```
- Faire un rsync au-dessus de la 4G pour resynchroniser les changements depuis le backup
```
# Sur pasteque, en root, en utilisant le tunnel SSH décrit ci-dessus
rsync -a --delete --info=progress2 -e "ssh -p 4242" root@localhost:/mnt/ssd/mail/ /mnt/ssd/mail/
```
+ malgré la latence de la connexion 4G et le nombre de fichiers, la synchronisation est faite en quelques minutes
- Modifier le job Nomad email.hcl (changer site et contrainte de machine) et relancer le service
- D53 et diplonat font leur magie et normalement ça repart sur le nouveau site
- Modifier le job Nomad des backups backup-daily.hcl (site et contrainte de machine) et relancer le service
- Vérifier que SoGo fonctionne bien et qu'on peut se connecter, envoyer / recevoir des emails
- Vérifier la réputation de la nouvelle adresse IP : voir [2024-05-12-migration-email](@/operations/2024-05-12-migration-email.md).
+ Tout est OK.
- Test d'envoi de mail manuel vers gmail.com : OK
- Test d'envoi de mail manuel vers outlook.fr : il n'arrive pas à l'autre bout...
+ Max a ouvert un ticket, ID 7073324911