Greboca  

Suport technique et veille technologique

Suport technique et veille technologique

Aujourd’hui, les grandes entreprises et administrations publiques hésitent entre continuer à utiliser des logiciels propriétaires ou basculer vers les Logiciels Libres. Pourtant, la plupart des logiciels libres sont capables de bien traiter les données issues des logiciels propriétaire, et parfois avec une meilleur compatibilité.

C’est alors la barrière de la prise en main qui fait peur, et pourtant...

Les logiciels libres

L’aspect « Logiciel Libre » permet une évolution rapide et une plus grande participation des utilisateurs. Les aides et tutoriels foisonnent sur Internet ou sont directement inclus dans le logiciel lui-même.

Enfin, les concepteurs sont plus proches des utilisateurs, ce qui rend les logiciels libres plus agréable à utiliser et conviviaux.

Grâce à la disponibilité des logiciels libres, vous trouverez facilement des services de support techniques et la licence n’est plus un frein à l’utilisation de ces logiciels par votre personnel.

Notre support technique concerne essentiellement les logiciels libres, que ce soit sous forme de services ponctuels ou de tutoriels.

LinuxFr.org : les journaux  -  Une histoire de backup qui se termine bien

 -  17 juillet - 

Contexte

Depuis plus de 20 ans j'héberge moi-même mes emails. Avec les évolutions des règles anti-spams (réputation des adresses IP des FAI) et des contraintes des abonnement internet grand publique (port 25 bloqué), cet hébergement est passé de mon salon à un petit serveur dédié dans un datacenter. J'ai commencé avec une solution à base d'une Debian, puis j'ai séparé les services dans des containeurs LXC pour finalement migrer vers une solution intégrée par Docker compose : mailcow.

Tout cela ronronnait tranquillement depuis quelques années, je me contentais de faire des updates du système et des containers. Lors d'une de ces mises à jour, j'ai du redémarrer la machine pour passer sur un nouveau noyau (mise à jour de sécurité). Et là patatras, la machine ne redémarre pas. Un ticket chez l'hébergeur m'apprend que la machine est morte et qu'ils ne peuvent pas récupérer le disque dur (la topologie du rack empêche de retirer un disque sans éteindre toutes les machines du rack; oui, c'était du low-cost…). Seule solution : réinstallation complète sur un nouveau serveur avec récupération des données de sauvegarde.

Réinstallation

À ma grande surprise, tout a très bien fonctionné en suivant ce plan sur une Debian :

  • Suppression du paquet bind9 (mailcow installe son propre résolveur)
  • Installation des paquets git, restic, docker.io, curl
  • Installation de docker-compose
  • Copie de la configuration de restic (/root/backup/restic.sh)
  • Récupération du dernier snapshot restic : restic restore abcdef01 --target /recovery
  • Il ne reste plus qu'à déplacer les deux répertoires restaurés vers /var/lib/docker/volumes/ et /opt/mailcow-dockerized et à lancer les containers avec docker-compose.

Coté DNS, j'ai changé les enregistrements DNS A et AAAA du serveur défini en MX. Après le temps de propagation et l'expiration du ttl, j'ai commencé à recevoir les mails en attente sur les serveurs de mes correspondants.

Les détails de la sauvegarde

Voici comment la sauvegarde des données est faite. J'utilise restic avec comme dépôt, un stockage dans les nuages de type S3 mais pas chez Amazon. Toutes les informations sont contenues dans le fichier de configuration restic.sh :

export AWS_ACCESS_KEY_ID=XXXXXX
export AWS_SECRET_ACCESS_KEY=YYYYYY
export AWS_DEFAULT_REGION=aa-bbb
export RESTIC_REPOSITORY=s3:www.example.com/s3
export RESTIC_PASSWORD=ZZZZZ

Ce fichier de configuration est critique est doit être sauvegardé et protégé. Il est en fait stocké dans mon gestionnaire de mots de passe.

Le script de sauvegarde est quant à lui très simple, il se contente de sauvegarder les volumes docker et les fichiers de mailcow :

#!/bin/sh
set -e

. ./restic.sh

restic backup /opt/mailcow-dockerized /var/lib/docker/volumes/

restic forget --keep-daily 7 --keep-weekly 4 --keep-monthly 12 --keep-yearly 5

Pour s'assurer que la tache est lancée régulièrement, il faut créer les fichiers suivants (désolé, c'est du systemd):

/etc/systemd/system/backup-restic.service :

[Unit]
Description=Restic backup

[Service]
User=root
Group=root
Type=oneshot
WorkingDirectory=/root/backup
ExecStart=/root/backup/do_backup.sh

/etc/systemd/system/backup-restic.timer :

[Unit]
Description=Backup restic

[Timer]
OnCalendar=*-*-* 3:30:00

[Install]
WantedBy=timers.target

Et on n'oublie pas d'activer cette tâche : systemctl daemon-reload && systemctl enable backup-restic.timer && systemctl start backup-restic.timer

Conclusions

J'ai pu valider pour la première fois mon PRA en situation réelle. Le système était fonctionnel en moins de 24 heures (la panne est survenue à 23h30). Je ne pense pas avoir perdu beaucoup d'emails (mais je les avait en fait déjà lus) entre la dernière sauvegarde à 3h30 et la panne à 23h30. Je suis aussi assez content d'avoir automatisé le backup quelques semaines avant (je le lançais à la main quand j'y pensais…).

Au niveau de ce qui aurait pu être amélioré :

  • Mettre à jour les enregistrements DNS beaucoup plus tôt pour pouvoir récupérer un fonctionnement nominal plus rapidement.
  • Penser à lancer un backup manuel avant chaque opération à risque (redémarrage, mise à jour…)
  • Avoir testé au moins une fois la procédure de reconstruction du serveur
  • Mieux documenter la configuration IPv6 du serveur pour la rendre compatible avec mailcow (ajout de net.ipv6.conf.eno1.accept_ra=2)
  • Mettre en place un backup des mails uniquement par IMAP (ceintures et bretelles)

J'espère que ce retour d'expérience pourra être utile à quelqu'un. Restic est vraiment simple à utiliser que ce soit pour la sauvegarde ou la restauration. Vu les coûts du stockage dans les nuages, il ne faut pas hésiter à mettre cela en place. Mailcow est aussi très simple à installer et déplacer le serveur s'est avéré enfantin.

Commentaires : voir le flux Atom ouvrir dans le navigateur

par rahan

LinuxFr.org : les journaux

LinuxFr.org : Journaux

Sécurisation du port USB-C sur smartphone pour moules barbares

 -  13 octobre - 

Chers bricoleurs et bricoleuses de l'extrême,Je sollicite votre expertise pour trouver la méthode la plus efficace pour sécuriser le port USB-C de (...)


J'ai monté mon instance PeerTube !

 -  9 octobre - 

Salut les moule·e·s,Suite à un week-end à Marseille avec mon club de plongée, j'ai fait un petit montage avec les vidéos que j'ai prises à la GoPro (...)


Utilisation de Perl aujourd'hui.

 -  6 octobre - 

Hello.En répondant à une demande à propos de Vim/regexp sur le forum, je me suis souvenu de mes premiers pas avec les regexp. J'ai essayé de me (...)


Ruby on Rails 7.2 a été publié

 -  24 septembre - 

Hello,Maintenant que j’ai fini de réinstaller ma machine avec Debian Bookworm et publié l’article qui explique comment je l’ai fait, j’ai repris le (...)


Installation personnalisée de Debian avec LUKS v2, volumes Btrfs, systemd-boot et Secure Boot

 -  18 septembre - 

Sommaire Installation personnalisée de Debian avec disque chiffré par LUKS v2, volumes Btrfs, systemd-boot et Secure Boot Introduction Démarrer une (...)