Base de connaissances

Machines virtuelles Novice 13 min

Utiliser snapshot et sauvegarde sans confusion

Comprendre pourquoi un snapshot ne remplace pas une vraie sauvegarde.

Objectif pratique

Éviter de confondre snapshot temporaire et sauvegarde restaurable lors de l’exploitation d’une machine virtuelle.

Distribution utilisée

Debian / Ubuntu

Sommaire

  1. Donner un rôle clair au snapshot
  2. Éviter le snapshot oublié
  3. Sauvegarder les données hors VM
  4. Tester une restauration ciblée
  5. Écrire quand utiliser quoi

Guide détaillé

Étape 1

Donner un rôle clair au snapshot

Un snapshot sert à revenir vite après un changement court. Il ne remplace pas une sauvegarde durable.

Observer la machine avant de changer quoi que ce soit

Ces commandes affichent la distribution, le nom de la machine, les interfaces réseau, les routes, la mémoire et l’espace disque. Elles ne modifient rien.

Debian / Ubuntu
cat /etc/os-release
hostnamectl
ip -br addr
ip route
free -h
df -h
Ce que font les commandes
  • `cat /etc/os-release` affiche la distribution et sa version exacte.
  • `hostnamectl` affiche le nom, le type de machine et quelques informations système.
  • `ip -br addr` liste les interfaces et adresses IP sous une forme courte.
  • `ip route` montre la passerelle utilisée et les routes connues.
  • `free -h` affiche RAM et swap dans une unité lisible.
  • `df -h` indique l’espace disque libre par point de montage.

Appliquer cette étape avec une trace simple

Pour cette machine virtuelle, on écrit ce que l’on va faire, on exécute les vérifications, puis on garde une note datée.

Debian / Ubuntu
mkdir -p ~/newscloud-notes
printf '%s\n' "Donner un rôle clair au snapshot" > ~/newscloud-notes/etape.txt
systemctl --failed
journalctl -p warning -n 50 --no-pager
cat ~/newscloud-notes/etape.txt
Ce que font les commandes
  • `mkdir -p` crée le dossier demandé sans erreur s’il existe déjà.
  • `printf` écrit une note ou un fichier de contrôle avec un format prévisible.
  • `systemctl --failed` liste les services en échec pour repérer un problème global.
  • `journalctl` lit les journaux systemd ; l’option `--no-pager` évite un affichage interactif.
  • `cat ~/newscloud-notes/etape.txt` exécute l’action indiquée ; lisez la sortie avant de passer à la commande suivante.

Créer une sauvegarde lisible et restaurable

Cette base sauvegarde la configuration et un dossier applicatif. Adaptez /srv/app au chemin réel de votre service.

Debian / Ubuntu
sudo mkdir -p /root/backups
sudo tar -czf /root/backups/etc-$(date +%F).tar.gz /etc
sudo tar -czf /root/backups/app-$(date +%F).tar.gz /srv/app
ls -lh /root/backups
sudo tar -tzf /root/backups/etc-$(date +%F).tar.gz | head
Ce que font les commandes
  • `mkdir -p` crée le dossier demandé sans erreur s’il existe déjà.
  • `tar -czf` crée une archive compressée.
  • `tar -czf` crée une archive compressée.
  • `ls -lh /root/backups` exécute l’action indiquée ; lisez la sortie avant de passer à la commande suivante.
  • `tar -tzf` liste le contenu d’une archive sans l’extraire.

Base outils Debian / Ubuntu

apt installe les utilitaires utiles, puis systemctl et journalctl vérifient que la machine reste saine.

Debian / Ubuntu
sudo apt update
sudo apt install -y curl vim rsync
systemctl --failed
journalctl -p warning -n 50 --no-pager
Ce que font les commandes
  • `apt update` recharge la liste des paquets Debian/Ubuntu disponibles.
  • `apt install` installe les paquets indiqués depuis les dépôts configurés.
  • `systemctl --failed` liste les services en échec pour repérer un problème global.
  • `journalctl` lit les journaux systemd ; l’option `--no-pager` évite un affichage interactif.

Variantes et attention

  • Les commandes de ce guide sont adaptées pour Debian / Ubuntu. Si votre image est une autre famille Linux, gardez la logique mais remplacez le gestionnaire de paquets et les noms de services.
  • En VM, vous contrôlez le système complet. Vous pouvez agir sur le noyau, le pare-feu et les volumes, mais vous êtes aussi responsable des mises à jour et de l’exposition réseau.
  • Niveau novice : lancez les commandes une par une. Si une commande affiche une erreur, arrêtez-vous et lisez le message avant de continuer.

Vérifications

  • La commande `systemctl --failed` ne doit pas afficher de service critique en échec.
  • La commande `df -h` doit montrer assez d’espace libre sur `/`, `/var` et les volumes applicatifs.
  • L’archive doit pouvoir être listée avec `tar -tzf`.
  • Un fichier restauré en test doit conserver son contenu et ses droits utiles.

Étape 2

Éviter le snapshot oublié

Un snapshot conservé trop longtemps peut pénaliser stockage et performances. Planifiez sa suppression.

Observer la machine avant de changer quoi que ce soit

Ces commandes affichent la distribution, le nom de la machine, les interfaces réseau, les routes, la mémoire et l’espace disque. Elles ne modifient rien.

Debian / Ubuntu
cat /etc/os-release
hostnamectl
ip -br addr
ip route
free -h
df -h
Ce que font les commandes
  • `cat /etc/os-release` affiche la distribution et sa version exacte.
  • `hostnamectl` affiche le nom, le type de machine et quelques informations système.
  • `ip -br addr` liste les interfaces et adresses IP sous une forme courte.
  • `ip route` montre la passerelle utilisée et les routes connues.
  • `free -h` affiche RAM et swap dans une unité lisible.
  • `df -h` indique l’espace disque libre par point de montage.

Appliquer cette étape avec une trace simple

Pour cette machine virtuelle, on écrit ce que l’on va faire, on exécute les vérifications, puis on garde une note datée.

Debian / Ubuntu
mkdir -p ~/newscloud-notes
printf '%s\n' "Éviter le snapshot oublié" > ~/newscloud-notes/etape.txt
systemctl --failed
journalctl -p warning -n 50 --no-pager
cat ~/newscloud-notes/etape.txt
Ce que font les commandes
  • `mkdir -p` crée le dossier demandé sans erreur s’il existe déjà.
  • `printf` écrit une note ou un fichier de contrôle avec un format prévisible.
  • `systemctl --failed` liste les services en échec pour repérer un problème global.
  • `journalctl` lit les journaux systemd ; l’option `--no-pager` évite un affichage interactif.
  • `cat ~/newscloud-notes/etape.txt` exécute l’action indiquée ; lisez la sortie avant de passer à la commande suivante.

Créer une sauvegarde lisible et restaurable

Cette base sauvegarde la configuration et un dossier applicatif. Adaptez /srv/app au chemin réel de votre service.

Debian / Ubuntu
sudo mkdir -p /root/backups
sudo tar -czf /root/backups/etc-$(date +%F).tar.gz /etc
sudo tar -czf /root/backups/app-$(date +%F).tar.gz /srv/app
ls -lh /root/backups
sudo tar -tzf /root/backups/etc-$(date +%F).tar.gz | head
Ce que font les commandes
  • `mkdir -p` crée le dossier demandé sans erreur s’il existe déjà.
  • `tar -czf` crée une archive compressée.
  • `tar -czf` crée une archive compressée.
  • `ls -lh /root/backups` exécute l’action indiquée ; lisez la sortie avant de passer à la commande suivante.
  • `tar -tzf` liste le contenu d’une archive sans l’extraire.

Base outils Debian / Ubuntu

apt installe les utilitaires utiles, puis systemctl et journalctl vérifient que la machine reste saine.

Debian / Ubuntu
sudo apt update
sudo apt install -y curl vim rsync
systemctl --failed
journalctl -p warning -n 50 --no-pager
Ce que font les commandes
  • `apt update` recharge la liste des paquets Debian/Ubuntu disponibles.
  • `apt install` installe les paquets indiqués depuis les dépôts configurés.
  • `systemctl --failed` liste les services en échec pour repérer un problème global.
  • `journalctl` lit les journaux systemd ; l’option `--no-pager` évite un affichage interactif.

Variantes et attention

  • Les commandes de ce guide sont adaptées pour Debian / Ubuntu. Si votre image est une autre famille Linux, gardez la logique mais remplacez le gestionnaire de paquets et les noms de services.
  • En VM, vous contrôlez le système complet. Vous pouvez agir sur le noyau, le pare-feu et les volumes, mais vous êtes aussi responsable des mises à jour et de l’exposition réseau.
  • Niveau novice : lancez les commandes une par une. Si une commande affiche une erreur, arrêtez-vous et lisez le message avant de continuer.

Vérifications

  • La commande `systemctl --failed` ne doit pas afficher de service critique en échec.
  • La commande `df -h` doit montrer assez d’espace libre sur `/`, `/var` et les volumes applicatifs.
  • L’archive doit pouvoir être listée avec `tar -tzf`.
  • Un fichier restauré en test doit conserver son contenu et ses droits utiles.

Étape 3

Sauvegarder les données hors VM

Les fichiers critiques doivent exister ailleurs que sur le disque de la machine. Sinon la panne de VM emporte tout.

Observer la machine avant de changer quoi que ce soit

Ces commandes affichent la distribution, le nom de la machine, les interfaces réseau, les routes, la mémoire et l’espace disque. Elles ne modifient rien.

Debian / Ubuntu
cat /etc/os-release
hostnamectl
ip -br addr
ip route
free -h
df -h
Ce que font les commandes
  • `cat /etc/os-release` affiche la distribution et sa version exacte.
  • `hostnamectl` affiche le nom, le type de machine et quelques informations système.
  • `ip -br addr` liste les interfaces et adresses IP sous une forme courte.
  • `ip route` montre la passerelle utilisée et les routes connues.
  • `free -h` affiche RAM et swap dans une unité lisible.
  • `df -h` indique l’espace disque libre par point de montage.

Créer une sauvegarde fichiers

On archive la configuration et les données applicatives. Remplacez /srv/app par le chemin réel de votre application.

Debian / Ubuntu
sudo mkdir -p /root/backups
sudo tar -czf /root/backups/etc-$(date +%F).tar.gz /etc
sudo tar -czf /root/backups/app-$(date +%F).tar.gz /srv/app
sudo rsync -a /root/backups/ backup@example.net:/backups/NOM_SERVICE/
Ce que font les commandes
  • `mkdir -p` crée le dossier demandé sans erreur s’il existe déjà.
  • `tar -czf` crée une archive compressée.
  • `tar -czf` crée une archive compressée.
  • `rsync` copie les fichiers en conservant les droits utiles.

Créer une sauvegarde lisible et restaurable

Cette base sauvegarde la configuration et un dossier applicatif. Adaptez /srv/app au chemin réel de votre service.

Debian / Ubuntu
sudo mkdir -p /root/backups
sudo tar -czf /root/backups/etc-$(date +%F).tar.gz /etc
sudo tar -czf /root/backups/app-$(date +%F).tar.gz /srv/app
ls -lh /root/backups
sudo tar -tzf /root/backups/etc-$(date +%F).tar.gz | head
Ce que font les commandes
  • `mkdir -p` crée le dossier demandé sans erreur s’il existe déjà.
  • `tar -czf` crée une archive compressée.
  • `tar -czf` crée une archive compressée.
  • `ls -lh /root/backups` exécute l’action indiquée ; lisez la sortie avant de passer à la commande suivante.
  • `tar -tzf` liste le contenu d’une archive sans l’extraire.

Base outils Debian / Ubuntu

apt installe les utilitaires utiles, puis systemctl et journalctl vérifient que la machine reste saine.

Debian / Ubuntu
sudo apt update
sudo apt install -y curl vim rsync
systemctl --failed
journalctl -p warning -n 50 --no-pager
Ce que font les commandes
  • `apt update` recharge la liste des paquets Debian/Ubuntu disponibles.
  • `apt install` installe les paquets indiqués depuis les dépôts configurés.
  • `systemctl --failed` liste les services en échec pour repérer un problème global.
  • `journalctl` lit les journaux systemd ; l’option `--no-pager` évite un affichage interactif.

Variantes et attention

  • Les commandes de ce guide sont adaptées pour Debian / Ubuntu. Si votre image est une autre famille Linux, gardez la logique mais remplacez le gestionnaire de paquets et les noms de services.
  • En VM, vous contrôlez le système complet. Vous pouvez agir sur le noyau, le pare-feu et les volumes, mais vous êtes aussi responsable des mises à jour et de l’exposition réseau.
  • Niveau novice : lancez les commandes une par une. Si une commande affiche une erreur, arrêtez-vous et lisez le message avant de continuer.

Vérifications

  • La commande `systemctl --failed` ne doit pas afficher de service critique en échec.
  • La commande `df -h` doit montrer assez d’espace libre sur `/`, `/var` et les volumes applicatifs.
  • L’archive doit pouvoir être listée avec `tar -tzf`.
  • Un fichier restauré en test doit conserver son contenu et ses droits utiles.

Étape 4

Tester une restauration ciblée

Récupérer un fichier ou une table vaut mieux qu’une promesse générale. C’est le test qui rend la sauvegarde crédible.

Observer la machine avant de changer quoi que ce soit

Ces commandes affichent la distribution, le nom de la machine, les interfaces réseau, les routes, la mémoire et l’espace disque. Elles ne modifient rien.

Debian / Ubuntu
cat /etc/os-release
hostnamectl
ip -br addr
ip route
free -h
df -h
Ce que font les commandes
  • `cat /etc/os-release` affiche la distribution et sa version exacte.
  • `hostnamectl` affiche le nom, le type de machine et quelques informations système.
  • `ip -br addr` liste les interfaces et adresses IP sous une forme courte.
  • `ip route` montre la passerelle utilisée et les routes connues.
  • `free -h` affiche RAM et swap dans une unité lisible.
  • `df -h` indique l’espace disque libre par point de montage.

Tester une restauration sans toucher la production

Une sauvegarde n’est utile que si elle se relit. Restaurez dans un dossier temporaire ou une machine de test avant la production.

Debian / Ubuntu
sudo mkdir -p /tmp/restore-test
sudo tar -xzf /root/backups/etc-$(date +%F).tar.gz -C /tmp/restore-test
sudo tar -tzf /root/backups/app-$(date +%F).tar.gz | head
sudo diff -qr /etc /tmp/restore-test/etc | head
Ce que font les commandes
  • `mkdir -p` crée le dossier demandé sans erreur s’il existe déjà.
  • `tar -xzf` extrait une archive compressée vers le dossier choisi.
  • `tar -tzf` liste le contenu d’une archive sans l’extraire.
  • `sudo diff -qr /etc /tmp/restore-test/etc | head` exécute l’action indiquée ; lisez la sortie avant de passer à la commande suivante.

Créer une sauvegarde lisible et restaurable

Cette base sauvegarde la configuration et un dossier applicatif. Adaptez /srv/app au chemin réel de votre service.

Debian / Ubuntu
sudo mkdir -p /root/backups
sudo tar -czf /root/backups/etc-$(date +%F).tar.gz /etc
sudo tar -czf /root/backups/app-$(date +%F).tar.gz /srv/app
ls -lh /root/backups
sudo tar -tzf /root/backups/etc-$(date +%F).tar.gz | head
Ce que font les commandes
  • `mkdir -p` crée le dossier demandé sans erreur s’il existe déjà.
  • `tar -czf` crée une archive compressée.
  • `tar -czf` crée une archive compressée.
  • `ls -lh /root/backups` exécute l’action indiquée ; lisez la sortie avant de passer à la commande suivante.
  • `tar -tzf` liste le contenu d’une archive sans l’extraire.

Base outils Debian / Ubuntu

apt installe les utilitaires utiles, puis systemctl et journalctl vérifient que la machine reste saine.

Debian / Ubuntu
sudo apt update
sudo apt install -y curl vim rsync
systemctl --failed
journalctl -p warning -n 50 --no-pager
Ce que font les commandes
  • `apt update` recharge la liste des paquets Debian/Ubuntu disponibles.
  • `apt install` installe les paquets indiqués depuis les dépôts configurés.
  • `systemctl --failed` liste les services en échec pour repérer un problème global.
  • `journalctl` lit les journaux systemd ; l’option `--no-pager` évite un affichage interactif.

Variantes et attention

  • Les commandes de ce guide sont adaptées pour Debian / Ubuntu. Si votre image est une autre famille Linux, gardez la logique mais remplacez le gestionnaire de paquets et les noms de services.
  • En VM, vous contrôlez le système complet. Vous pouvez agir sur le noyau, le pare-feu et les volumes, mais vous êtes aussi responsable des mises à jour et de l’exposition réseau.
  • Niveau novice : lancez les commandes une par une. Si une commande affiche une erreur, arrêtez-vous et lisez le message avant de continuer.

Vérifications

  • La commande `systemctl --failed` ne doit pas afficher de service critique en échec.
  • La commande `df -h` doit montrer assez d’espace libre sur `/`, `/var` et les volumes applicatifs.
  • L’archive doit pouvoir être listée avec `tar -tzf`.
  • Un fichier restauré en test doit conserver son contenu et ses droits utiles.

Étape 5

Écrire quand utiliser quoi

Snapshot avant mise à jour courte, sauvegarde pour incident ou erreur humaine : la différence doit être claire pour l’équipe.

Observer la machine avant de changer quoi que ce soit

Ces commandes affichent la distribution, le nom de la machine, les interfaces réseau, les routes, la mémoire et l’espace disque. Elles ne modifient rien.

Debian / Ubuntu
cat /etc/os-release
hostnamectl
ip -br addr
ip route
free -h
df -h
Ce que font les commandes
  • `cat /etc/os-release` affiche la distribution et sa version exacte.
  • `hostnamectl` affiche le nom, le type de machine et quelques informations système.
  • `ip -br addr` liste les interfaces et adresses IP sous une forme courte.
  • `ip route` montre la passerelle utilisée et les routes connues.
  • `free -h` affiche RAM et swap dans une unité lisible.
  • `df -h` indique l’espace disque libre par point de montage.

Appliquer cette étape avec une trace simple

Pour cette machine virtuelle, on écrit ce que l’on va faire, on exécute les vérifications, puis on garde une note datée.

Debian / Ubuntu
mkdir -p ~/newscloud-notes
printf '%s\n' "Écrire quand utiliser quoi" > ~/newscloud-notes/etape.txt
systemctl --failed
journalctl -p warning -n 50 --no-pager
cat ~/newscloud-notes/etape.txt
Ce que font les commandes
  • `mkdir -p` crée le dossier demandé sans erreur s’il existe déjà.
  • `printf` écrit une note ou un fichier de contrôle avec un format prévisible.
  • `systemctl --failed` liste les services en échec pour repérer un problème global.
  • `journalctl` lit les journaux systemd ; l’option `--no-pager` évite un affichage interactif.
  • `cat ~/newscloud-notes/etape.txt` exécute l’action indiquée ; lisez la sortie avant de passer à la commande suivante.

Créer une sauvegarde lisible et restaurable

Cette base sauvegarde la configuration et un dossier applicatif. Adaptez /srv/app au chemin réel de votre service.

Debian / Ubuntu
sudo mkdir -p /root/backups
sudo tar -czf /root/backups/etc-$(date +%F).tar.gz /etc
sudo tar -czf /root/backups/app-$(date +%F).tar.gz /srv/app
ls -lh /root/backups
sudo tar -tzf /root/backups/etc-$(date +%F).tar.gz | head
Ce que font les commandes
  • `mkdir -p` crée le dossier demandé sans erreur s’il existe déjà.
  • `tar -czf` crée une archive compressée.
  • `tar -czf` crée une archive compressée.
  • `ls -lh /root/backups` exécute l’action indiquée ; lisez la sortie avant de passer à la commande suivante.
  • `tar -tzf` liste le contenu d’une archive sans l’extraire.

Base outils Debian / Ubuntu

apt installe les utilitaires utiles, puis systemctl et journalctl vérifient que la machine reste saine.

Debian / Ubuntu
sudo apt update
sudo apt install -y curl vim rsync
systemctl --failed
journalctl -p warning -n 50 --no-pager
Ce que font les commandes
  • `apt update` recharge la liste des paquets Debian/Ubuntu disponibles.
  • `apt install` installe les paquets indiqués depuis les dépôts configurés.
  • `systemctl --failed` liste les services en échec pour repérer un problème global.
  • `journalctl` lit les journaux systemd ; l’option `--no-pager` évite un affichage interactif.

Variantes et attention

  • Les commandes de ce guide sont adaptées pour Debian / Ubuntu. Si votre image est une autre famille Linux, gardez la logique mais remplacez le gestionnaire de paquets et les noms de services.
  • En VM, vous contrôlez le système complet. Vous pouvez agir sur le noyau, le pare-feu et les volumes, mais vous êtes aussi responsable des mises à jour et de l’exposition réseau.
  • Niveau novice : lancez les commandes une par une. Si une commande affiche une erreur, arrêtez-vous et lisez le message avant de continuer.

Vérifications

  • La commande `systemctl --failed` ne doit pas afficher de service critique en échec.
  • La commande `df -h` doit montrer assez d’espace libre sur `/`, `/var` et les volumes applicatifs.
  • L’archive doit pouvoir être listée avec `tar -tzf`.
  • Un fichier restauré en test doit conserver son contenu et ses droits utiles.

Checklist finale

  • Snapshot temporaire
  • Sauvegarde externe
  • Restauration testée