Compare commits
1 commit
wip/operat
...
main
Author | SHA1 | Date | |
---|---|---|---|
|
196fea5a93 |
1 changed files with 140 additions and 0 deletions
140
content/operations/2025-04-15-restauration-email-cryptpad.md
Normal file
140
content/operations/2025-04-15-restauration-email-cryptpad.md
Normal 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
|
Loading…
Add table
Reference in a new issue