Sauvegarde et reprise après sinistre pour les serveurs dédiés

Sauvegarde et reprise après sinistre pour les serveurs dédiés hero

La différence entre une catastrophe et un incident, c'est si tes sauvegardes marchent. La plupart des gars qui gèrent des serveurs découvrent dans quelle catégorie ils se trouvent au pire moment possible : pendant une attaque de ransomware, une migration ratée ou une panne de disque un vendredi après-midi. Une stratégie de sauvegarde pour les serveurs dédiés, ça demande plus qu'une simple tâche cron nocturne...

Définissez les objectifs RTO et RPO avant de choisir vos outils de sauvegarde

Le temps de récupération cible (RTO) correspond à la durée pendant laquelle votre application peut être hors ligne avant que l'impact sur l'activité ne devienne inacceptable. Une application SaaS destinée à des clients professionnels peut avoir un RTO de 30 minutes. Un site Web marketing peut tolérer 4 heures.

Le Recovery Point Objective (RPO) correspond à la quantité de données qu'on peut se permettre de perdre. Une boutique en ligne qui prend 500 commandes par heure ne peut pas se permettre de perdre 24 heures de données : chaque commande perdue, c'est du chiffre d'affaires en moins et un problème de service client. Cette boutique pourrait faire des sauvegardes toutes les 15 minutes. Un serveur de développement pourrait faire des sauvegardes hebdomadaires avec un RPO de 7 jours.

Notez bien ces deux chiffres avant de choisir la fréquence des sauvegardes, la durée de conservation et les outils. Votre architecture de sauvegarde doit être conçue pour répondre à des exigences bien définies, et non pas héritée de la configuration initialement prévue lors du provisionnement.

La règle 3-2-1 pour les serveurs dédiés

La règle 3-2-1, c'est le truc de base pour la stratégie de sauvegarde de production :

  • 3 copies des données
  • 2 types de supports de stockage différents
  • 1 copie stockée hors site (loin du serveur principal)

Quand on l'utilise sur un serveur dédié, ça ressemble à ça :

  1. Données primaires: le serveur de production en direct lui-même
  2. Sauvegarde locale: une sauvegarde sur le serveur vers un disque ou une partition séparée (différente du disque du système d'exploitation/de l'application).
  3. Sauvegarde hors site: une copie envoyée vers un stockage objet (compatible S3), un serveur dédié secondaire ou le stockage de sauvegarde d'InMotion.

Une seule sauvegarde stockée sur le même serveur que les données, ce n'est pas vraiment une stratégie de sauvegarde. Les ransomwares cryptent les périphériques de stockage connectés. Les pannes de disque dur peuvent tout planter sur le même contrôleur. Une sauvegarde locale sans copie hors site, ça ne passe pas les deux tests.

Le pack Premier Care d'InMotion comprend 500 Go d'espace de stockage de sauvegarde pour les clients de serveurs dédiés, offrant ainsi une solution de copie hors site sans avoir besoin de comptes de stockage cloud séparés.

Outils de sauvegarde pour les serveurs dédiés Linux

Restic

Restic, c'est un outil de sauvegarde moderne, rapide et crypté qui prend en charge S3, Backblaze B2, SFTP et le stockage local comme destinations de sauvegarde. La déduplication et le cryptage sont intégrés, et le format du référentiel est compatible avec les futures versions de Restic.

Configuration de base pour la sauvegarde d'un serveur web :

# Initialize a repository on S3-compatible storage

restic -r s3:https://s3.amazonaws.com/your-bucket/server-backups init

# Set credentials via environment variables

export AWS_ACCESS_KEY_ID="your_key"

export AWS_SECRET_ACCESS_KEY="your_secret"

# Backup web root and database dumps

restic -r s3:https://s3.amazonaws.com/your-bucket/server-backups \

  backup /var/www /etc /home \

  --exclude /var/www/html/cache \

  --exclude /var/www/html/tmp

# Apply retention policy (keep 7 daily, 4 weekly, 6 monthly)

restic -r s3:https://s3.amazonaws.com/your-bucket/server-backups \

  forget --keep-daily 7 --keep-weekly 4 --keep-monthly 6 --prune

Lancez-le toutes les heures ou toutes les nuits avec cron, selon votre RPO.

Duplicati

Duplicati a une interface de gestion en ligne, ce qui est pratique pour les gars qui gèrent des serveurs et qui préfèrent ne pas tout faire par la ligne de commande pour les sauvegardes. Il prend en charge le cryptage, la compression et plusieurs cibles de stockage backend. Pour les serveurs cPanel, Duplicati peut tourner comme un service système pour sauvegarder des répertoires spécifiques.

Rsync pour les copies incrémentielles

rsync avec –link-dest fait des sauvegardes incrémentielles super efficaces où les fichiers qui n'ont pas changé sont liés directement au snapshot de sauvegarde précédent au lieu d'être dupliqués. Ça donne plusieurs snapshots à différents moments, avec un coût de stockage qui dépend juste des données qui ont changé :

#!/bin/bash

BACKUP_DIR="/backup/web"

DATE=$(date +%Y-%m-%d_%H-%M)

LATEST="$BACKUP_DIR/latest"

rsync -avz --link-dest="$LATEST" /var/www/ "$BACKUP_DIR/$DATE/"

# Update the symlink to latest backup

rm -f "$LATEST"

ln -s "$BACKUP_DIR/$DATE" "$LATEST"

Sauvegarde spécifique à la base de données

Les sauvegardes du système de fichiers des bases de données MySQL en cours d'exécution capturent des états incohérents : les fichiers de la base de données sur le disque peuvent être en cours de transaction lorsque la sauvegarde est effectuée. Les sauvegardes de bases de données doivent utiliser des outils natifs de la base de données :

MySQL/MariaDB :

# Full logical backup

mysqldump --all-databases --single-transaction --routines --triggers \

  -u root -p > /backup/mysql_$(date +%Y%m%d).sql

# Compress to reduce storage

gzip /backup/mysql_$(date +%Y%m%d).sql

Pour les grosses bases de données où mysqldump prend trop de temps, Percona XtraBackup propose des sauvegardes physiques à chaud qui capturent un état cohérent sans verrouiller les tables et qui se restaurent beaucoup plus vite que les fichiers de sauvegarde logiques. La documentation Percona XtraBackup explique comment l'installer et l'utiliser.

PostgreSQL:

pg_dumpall -U postgres | gzip > /backup/postgres_$(date +%Y%m%d).sql.gz

cPanel Backup Manager

Si ton serveur dédié utilise cPanel, le Backup Manager intégré Backup Manager les sauvegardes au niveau du compte, y compris les fichiers, les bases de données, les e-mails et la configuration, en une seule opération. Configure-le dans WHM sous Sauvegarde > Configuration de la sauvegarde.

Paramètres clés à vérifier :

  • Type de sauvegarde: complète et incrémentielle (pas seulement complète — les sauvegardes incrémentielles entre les sauvegardes complètes réduisent le RPO sans coût de stockage proportionnel)
  • Destination distante: configurez une destination distante compatible SFTP ou S3 pour la copie hors site.
  • Conservation: conforme à votre RPO documenté et à votre budget de stockage

Backup Manager d'InMotion offre 500 Go de stockage de sauvegarde en plus, accessible directement depuis cPanel, sans avoir besoin de bidouiller le serveur.

Tester les restaurations

Une sauvegarde qu'on n'a jamais testée, c'est juste une hypothèse, pas une vraie protection. Les tests devraient couvrir trois scénarios :

Restauration au niveau des fichiers: Récupère un dossier précis à partir de la sauvegarde et vérifie que le contenu correspond bien à ce qui a été sauvegardé. Fais ça tous les mois.

Restauration de la base de données: remettez en place le dernier dump de la base de données sur un serveur de test et vérifiez que l'appli marche bien. Ça permet de repérer les problèmes dans le fichier dump avant qu'il soit utilisé en production. Faites ça tous les mois.

Exercice de restauration complète du serveur: installe un nouveau serveur, restaure tout à partir de la sauvegarde et vérifie que l'application marche bien. Ce test te permet de voir si ta documentation, ta configuration de sauvegarde et tes procédures de restauration fonctionnent vraiment de bout en bout. Fais-le tous les trimestres.

Documente bien la procédure de restauration, y compris les commandes, le timing et les étapes de vérification. La personne qui fait la restauration pendant un incident n'est pas forcément celle qui a écrit la configuration de sauvegarde.

Automatiser la vérification des sauvegardes

Restic a un contrôle d'intégrité intégré qui vérifie si le dépôt de sauvegarde est cohérent sans avoir à tout restaurer :

restic -r s3:https://s3.amazonaws.com/your-bucket/server-backups check

Run this weekly via cron and alert on non-zero exit codes. A corrupted backup that's never checked is indistinguishable from a good backup until you need it.

For file-level verification, add a checksum comparison step to your backup process:

# Store a checksum of the source directory

find /var/www -type f -exec md5sum {} \; | sort > /backup/checksums_$(date +%Y%m%d).txt

# Compare after restore

md5sum -c /backup/checksums_20260227.txt

Planification de reprise après sinistre au-delà des sauvegardes

Les sauvegardes permettent de récupérer les données. Un plan de reprise après sinistre s'occupe de tout le reste :

  • Basculement DNS: si ton serveur est en panne, peux-tu rediriger le trafic vers un remplacement temporaire ? Le DNS proxy Cloudflarepermet d'effectuer un basculement au niveau IP en modifiant simplement un enregistrement A.
  • Configuration du serveur documentée: ta sauvegarde contient tes données, mais pas ta Nginx , tes règles de pare-feu, tes paramètres de pool PHP-FPM et tes dépendances d'application. Documente ou automatise la configuration du serveur pour qu'un nouveau serveur puisse être provisionné de manière à correspondre au précédent.
  • Plan de communication: qui est prévenu quand le serveur plante ? Dans quel ordre ? Qui a le droit de déconnecter le serveur pour le réparer pendant une reprise ?

InMotion HostingPremier Care InMotion Hostingte donne accès à InMotion Solutions, l'équipe de consultants qui t'aide à gérer les situations compliquées de récupération de serveur. La heure par mois offerte par Solutions est super utile pour tester les procédures de reprise après sinistre et documenter les guides de récupération avant qu'on en ait besoin.

Partager cet article

Laisser une réponse

Ton adresse e-mail ne sera pas publiée. Les champs obligatoires sont marqués *