Restauration de SLES Btrfs Snapper après une mise à jour ayant échoué : Guide de récupération sécurisée

Une mise à jour SLES ayant échoué ne signifie pas toujours qu'il faut réinstaller le serveur. Sur une installation standard de SUSE Linux Enterprise Server utilisant Btrfs comme système de fichiers racine et avec Snapper activé, il est souvent possible de démarrer sur un instantané antérieur à la mise à jour, de le tester sans modifier le système actuel, puis de définir cet état fonctionnel comme nouvelle racine accessible en écriture.

La décision importante n'est pas simplement de savoir « quelle version de Snapper est la plus récente ? » mais plutôt « jusqu'où dois-je revenir ? ». Une restauration complète du système Snapper est appropriée lorsqu'une mise à jour a modifié plusieurs paquets, bibliothèques, services ou fichiers de configuration et que la machine ne fonctionne plus correctement. Si un seul fichier de configuration est erroné, sa restauration est généralement moins perturbatrice. Ce guide explique les deux options et suit le modèle de récupération SLES 15 SP7 documenté par SUSE et disponible en octobre 2026.

Choisissez la méthode de récupération avant de modifier quoi que ce soit.

SituationMeilleure option de départCompromis principal
Le serveur ne démarrera pas normalement après une mise à jour.Démarrez un instantané Btrfs en lecture seule depuis GRUB, testez-le, puis exécutez-le.snapper rollbackRécupération générale, mais seul le contenu racine instantané est restauré.
Le serveur démarre, mais plusieurs paquets ou services ont cessé de fonctionner simultanément.Utilisez le même flux de travail de restauration de démarrage et de testNécessite un redémarrage, mais évite de devoir deviner quels fichiers individuels ont causé le problème.
Un fichier connu a /etcété endommagé .Inspectez avec snapper status/ diff, puis utilisez undochangepour ce fichierImpact moindre, mais inadapté aux transactions de colis importants
La migration du pack de services a échouéUtilisez l'instantané de pré-migration, puis vérifiez les référentiels et l'enregistrement du produit.L'état du dépôt importe après la récupération
Le système de fichiers racine n'est pas Btrfs, Snapper a été désactivé ou la disposition du système de fichiers racine pris en charge a été modifiée.Utilisez une sauvegarde, un support de récupération, la réparation du package ou un autre plan de récupération.Le flux de travail standard de restauration d'instantanés SLES ne s'applique pas.

SUSE distingue l'annulation des modifications d'une restauration système . L'annulation des modifications compare les instantanés et rétablit l'état des fichiers sélectionnés. Une restauration système permet de définir un instantané comme base pour une nouvelle racine accessible en écriture. SUSE recommande vivement de démarrer d'abord sur l'instantané cible lors d'une restauration du système de fichiers racine, afin de vérifier la version candidate avant de la valider. Consultez le Guide d'administration de SLES 15 SP7 .

Étape 1 : Vérifiez que ce serveur prend en charge le chemin de restauration standard de Snapper

Avant de choisir un instantané, vérifiez trois points : le système de fichiers racine est Btrfs, Snapper possède une configuration nommée rootet la racine Btrfs se trouve sur un seul périphérique. La documentation SUSE décrit la prise en charge de la restauration amorçable pour la configuration par défaut des sous-volumes racine et précise que le système de fichiers racine Btrfs doit être associé à un seul périphérique.

findmnt /
sudo snapper list-configs
sudo /sbin/btrfs filesystem show /
Le terminal SLES vérifie le système de fichiers racine Btrfs, la configuration racine Snapper et la disposition Btrfs sur un seul périphérique.
Vérifiez d'abord le système de fichiers racine et la configuration Snapper. Une configuration SLES par défaut prise en charge utilise Btrfs pour /, une configuration Snapper nommée root et un système de fichiers racine sur un seul périphérique.

Si findmnt /le système de fichiers détecté est XFS ou Ext4, arrêtez l'opération : la procédure de démarrage par instantané Btrfs n'est pas disponible pour cette racine. Si snapper list-configsaucune rootentrée n'est présente, il est possible que les instantanés automatiques de la racine n'aient pas été activés. Arrêtez également l'opération si btrfs filesystem show /plusieurs périphériques sont détectés ; la documentation SLES 15 SP7 n'indique pas que cette configuration est prise en charge pour la restauration de la racine amorçable.

Étape 2 : Identifier l’instantané précédant immédiatement la mise à jour ayant échoué

Répertoriez les instantanés et examinez leur date, leur type, leur relation antérieure à l'instantané et leur description :

sudo snapper list
Liste des instantanés SLES Snapper affichant les instantanés avant et après une mise à jour zypper
Une liste Snapper peut afficher une paire d'instantanés pré/post créés autour d'une transaction Zypper. L'instantané pré est généralement le premier candidat lorsque la mise à jour elle-même a provoqué l'échec.

Sur une configuration SLES par défaut, les activités YaST et Zypper peuvent créer predes postpaires d'instantanés. Un preinstantané représente l'état du système de fichiers avant la transaction ; son postinstantané correspondant représente l'état après. Ne sélectionnez pas un instantané uniquement parce qu'il est antérieur à la panne. Faites correspondre l'horodatage et la description de l'instantané à la fenêtre de mise à jour.

Si la modification ayant échoué était une migration de Service Pack, le guide de mise à niveau SLES 15 SP7 de SUSE indique spécifiquement aux administrateurs de localiser l'instantané créé immédiatement avant la migration et précise que l'instantané concerné est marqué comme important.

Étape 3 : Examiner ce que l’instantané candidat modifierait réellement.

Si le système actuel démarre encore, comparez l'instantané candidat avec l'état actuel avant de redémarrer. Cela permettra de déterminer si la mise à jour a affecté un seul fichier de configuration ou un grand nombre de fichiers système.

sudo snapper status SNAPSHOT_ID..0
sudo snapper diff SNAPSHOT_ID..0 /etc/some-file.conf
Terminal SLES affichant l'état de Snapper et la sortie de comparaison Snapper pour un instantané antérieur à la mise à jour
Utilisez les commandes `snapper status` et `sdiff` pour comprendre l'étendue de la mise à jour. Un grand nombre de modifications de paquets et de configurations justifient une restauration complète ; un fichier isolé peut justifier une restauration sélective.

Quand la restauration sélective représente le meilleur compromis

Si un fichier connu est corrompu et que le reste du système mis à jour est sain, la restauration de ce seul fichier évite d'annuler des modifications système sans lien avec celui-ci. SUSE documente cette procédure :

sudo snapper -c root -v undochange SNAPSHOT_ID..0 /etc/some-file.conf

N'omettez pas le nom du fichier à la légère. Sans nom de fichier, undochangeil est possible d'annuler toutes les modifications apportées aux fichiers entre les deux états. SUSE déconseille fortement d'utiliser la restauration de fichiers pour simuler une restauration complète du système. Les transactions de paquets peuvent modifier de nombreux fichiers interdépendants ; une restauration complète et testée est donc généralement plus facile à comprendre lorsque l'échec de la mise à jour est systémique.

Étape 4 : Démarrer l’instantané candidat à partir de GRUB

Redémarrez la machine. Dans le menu GRUB 2 de SLES, sélectionnez l'option permettant de démarrer le chargeur de démarrage à partir d'un instantané en lecture seule, puis choisissez l'instantané correspondant à l'état antérieur à la mise à jour. L'interface exacte peut varier selon le firmware et la configuration de démarrage, mais SLES 15 SP7 décrit cette option comme « Démarrer le chargeur de démarrage à partir d'un instantané en lecture seule » .

Menu GRUB de SLES illustrant l'option de démarrage en lecture seule à partir d'un instantané et un instantané pré-mise à jour sélectionné
Démarrez d'abord l'instantané antérieur à la mise à jour plutôt que de procéder immédiatement à une restauration. Cela crée une étape de validation à faible risque avant la modification du sous-volume racine.

Seuls les instantanés issus de la rootconfiguration Snapper par défaut sont amorçables via ce mécanisme SLES. Si le menu des instantanés est absent, ne créez pas d'entrée de démarrage. Vérifiez que Snapper est bien activé, que la structure racine correspond toujours à la structure par défaut prise en charge et que le chargeur de démarrage installé est fonctionnel.

Étape 5 : Tester l’instantané pendant que la racine est en lecture seule

Une fois le snapshot démarré, vérifiez que vous exécutez bien le programme à partir de celui-ci et que le système de fichiers racine est en lecture seule :

findmnt /
mount | grep ' on / '
Terminal SLES affichant un instantané Btrfs monté en lecture seule comme système de fichiers racine
Le démarrage à partir d'un instantané est volontairement en lecture seule pour le contenu racine de l'instantané. Utilisez cet état pour vérifier si l'état système précédent résout les problèmes de mise à jour avant d'effectuer une restauration.

Testez maintenant les éléments qui ont échoué après la mise à jour : démarrage des services, configuration réseau, authentification, lancement d’applications, comportement dépendant du noyau et autres vérifications pertinentes. Évitez de considérer l’instantané en lecture seule comme un démarrage normal en production. Certaines opérations échoueront simplement parce que la partie de l’instantané du système de fichiers racine ne peut pas être écrite.

Si l'instantané n'est pas le bon, redémarrez et essayez-en un autre. Tant que vous n'aurez pas exécuté la commande de restauration, cet instantané ne sera pas défini comme nouvelle racine système accessible en écriture.

Étape 6 : Validez la restauration uniquement une fois que l’instantané a passé vos vérifications.

Lorsque l'instantané démarré se comporte comme prévu, rendez-le permanent :

sudo snapper rollback

Vous pouvez ajouter une description pour faciliter l'identification ultérieure de la capture d'écran :

sudo snapper rollback -d "Rollback after failed update"
Terminal SLES illustrant la commande de restauration Snapper avec une étiquette de restauration descriptive
N'exécutez la commande snapper rollback qu'une fois que le snapshot de démarrage a passé vos contrôles de validation. Ajouter une brève description facilitera la reconnaissance ultérieure du point de récupération.

D'après la documentation d'administration de SLES, Snapper crée un instantané de l'état antérieur à la restauration et un nouvel instantané accessible en écriture qui devient la racine par défaut. Il s'agit d'une mesure de sécurité importante : la restauration ne se contente pas d'écraser l'ancienne racine.

Redémarrez une fois la commande terminée :

sudo reboot

Au prochain démarrage, choisissez l'entrée SLES par défaut normale plutôt que de redémarrer l'ancien instantané en lecture seule.

Étape 7 : Vérifiez que le répertoire racine restauré est accessible en écriture et qu’il est désormais le répertoire par défaut.

Après un démarrage normal, vérifiez le montage racine et la liste des instantanés :

findmnt /
sudo snapper list
Terminal SLES affichant une racine Btrfs accessible en écriture et des instantanés Snapper après une restauration.
Après avoir redémarré le système, vérifiez que le répertoire racine (/) est accessible en écriture et consultez les nouveaux instantanés liés à la restauration. Le nouveau système racine devrait maintenant correspondre à l'état actif du système.

Répétez les tests fonctionnels qui ont initialement échoué. Si une application échoue toujours, vérifiez si une partie de cette application se trouve dans un répertoire non inclus dans l'instantané racine.

Étape 8 : Actualiser les dépôts et vérifier l’état des paquets

Pour une mise à jour de paquet classique, actualisez les dépôts et vérifiez les dépendances des paquets avant de tenter une nouvelle mise à jour. Lors d'une restauration d'un Service Pack, les vérifications des dépôts et de l'enregistrement des produits sont particulièrement importantes, car une incompatibilité des dépôts peut immédiatement rendre le système incohérent.

sudo zypper ref -fs
sudo zypper lr -u
sudo zypper verify
Terminal SLES : actualisation des dépôts Zypper, liste des URL des dépôts et vérification des paquets installés
Terminez par vérifier la configuration du référentiel et la cohérence des paquets. Après une restauration d'un Service Pack, vérifiez également que l'enregistrement du produit correspond à l'état SLES restauré.

Pour la récupération du Service Pack, suivez les vérifications du Guide de mise à niveau officiel de SLES , qui préconise explicitement la vérification de la configuration du référentiel et de l'enregistrement du produit après la restauration.

Ce qu'une restauration du système Snapper ne restaure pas

Il est essentiel de comprendre cette limitation avant d'utiliser la restauration sur un serveur de production. L'instantané racine SLES par défaut exclut plusieurs sous-volumes afin d'éviter toute restauration inattendue des données volatiles, des données utilisateur ou des données d'application. La liste spécifique au produit peut inclure des chemins d'accès au chargeur de démarrage propres à l'architecture. Consultez la documentation SUSE sur les concepts de base de Snapper pour connaître/home la liste actuelle et sa justification /opt./usr/local/srv/tmp/var/run

Cette conception protège les données, mais elle présente un inconvénient : le code système peut régresser tandis que les données d'un sous-volume exclu restent à jour. SUSE signale plusieurs conséquences possibles, notamment /optl'incompatibilité des logiciels tiers, la modification des permissions et l'incapacité des applications à interpréter les formats de données écrits après la prise de l'instantané.

Cela est particulièrement important pour les bases de données et les applications serveur. Si une mise à jour a entraîné une migration de schéma ou modifié des données d'application sous `<nom_du_système>` /varou /srv`<nom_du_système>`, une restauration système complète peut ne pas annuler ces modifications. Consultez la procédure de restauration ou de rétrogradation propre à l'application avant de considérer que l'instantané système seul est suffisant.

Erreurs courantes à éviter

  • Rétablir la configuration précédente avant de tester l'instantané. Démarrer d'abord l'instantané en lecture seule est la méthode de travail SLES la plus sûre, car elle permet de vérifier l'état cible.
  • Choisir par erreur un instantané postérieur à la mise à jour. Vérifiez le type, la date, la description et la relation avant/après plutôt que de vous fier uniquement au numéro d'instantané.
  • Utilisée undochangepour une transaction portant sur l'ensemble du système. Utile pour des fichiers sélectionnés ; SUSE recommande la méthode de redémarrage et de restauration pour une récupération complète du système à accès racine.
  • S'attend /varà /homeun voyage en arrière avec la racine. Les exclusions de sous-volumes par défaut sont intentionnelles.
  • Sans tenir compte de l'exigence d'un seul périphérique, SLES 15 SP7 documente la prise en charge de la restauration du système de fichiers racine amorçable pour un système de fichiers racine Btrfs sur un seul périphérique.
  • Nouvelle tentative de mise à jour immédiate. Commencez par identifier la cause de l'échec, vérifiez les dépôts et déterminez si l'échec est dû à un défaut du paquet, à un logiciel tiers incompatible, à un espace disque insuffisant ou à un problème de configuration locale.

Si le système utilise des mises à jour transactionnelles

SLES peut également être installé avec le rôle de serveur transactionnel. Il s'agit d'un modèle de fonctionnement différent : les mises à jour sont appliquées aux instantanés et activées au redémarrage. Sur ces systèmes, SUSE permet transactional-update rollbackde définir un instantané comme racine par défaut. Il est fortement déconseillé d'intégrer une procédure de récupération de serveur transactionnel à une installation SLES classique en lecture-écriture sans avoir préalablement identifié le rôle du système. Le comportement officiel est décrit dans la documentation relative aux mises à jour transactionnelles de SLES 15 SP7 .

Liste de contrôle de récupération

  • Vérifiez que le système de fichiers /est bien Btrfs, que la rootconfiguration Snapper existe et que le système de fichiers racine Btrfs se trouve sur un seul périphérique.
  • Identifiez l'instantané précédant immédiatement la mise à jour ayant échoué.
  • Utilisez snapper status-le snapper difflorsque vous avez besoin de comprendre la portée du changement.
  • Privilégier le mode sélectif undochangeuniquement pour les fichiers clairement isolés.
  • En cas d'échec de la mise à jour systémique, démarrez l'instantané candidat à partir de GRUB et testez-le en lecture seule.
  • N'exécutez cette commande snapper rollbackque lorsque le candidat se comporte correctement.
  • Redémarrez le système de fichiers par défaut et vérifiez que le répertoire racine restauré est accessible en écriture.
  • Actualisez les dépôts, vérifiez l'état des paquets et contrôlez l'enregistrement après la restauration du correctif.
  • Vérifiez les sous-volumes exclus pour détecter les incompatibilités d'application ou de format de données avant de déclarer la récupération terminée.

Le principal compromis réside dans la précision face à la cohérence. La restauration sélective de fichiers modifie moins de données, mais exige de connaître précisément l'élément défectueux. Une restauration système testée modifie davantage de données, mais restaure un état racine cohérent à partir d'un instantané et convient mieux à une mise à jour ayant échoué et affecté plusieurs composants. Sous SLES, la méthode la plus sûre consiste à utiliser le démarrage à partir d'un instantané en lecture seule comme point de décision, plutôt que de rendre la restauration irréversible avant d'avoir vérifié la solution candidate.

Laisser un commentaire

Comment créer une clé USB bootable Windows 11 sous Linux

Comment créer une clé USB bootable Windows 11 sous Linux

Créez une clé USB d'installation Windows 11 sous Linux avec Ventoy : téléchargez l'ISO officiel, installez Ventoy en toute sécurité, copiez l'image et démarrez le PC cible.

Comment jouer à Don't Starve Together sous Linux

Comment jouer à Don't Starve Together sous Linux

Installez la version Linux de Don't Starve Together via Steam, créez un monde ou rejoignez vos amis grâce à ces étapes d'installation et de dépannage.

Comment jouer à Squad sur Linux avec Steam Proton

Comment jouer à Squad sur Linux avec Steam Proton

Configurez Squad sur Linux avec Steam Play et Proton, installez le jeu, choisissez un outil de compatibilité et résolvez les problèmes liés à l'anti-triche.

Comment installer Linux Mint Debian Edition 5 « Elsie » depuis une clé USB

Comment installer Linux Mint Debian Edition 5 « Elsie » depuis une clé USB

Téléchargez et vérifiez l'image ISO archivée de LMDE 5, créez une clé USB bootable et choisissez l'option d'installation sécurisée. Elsie n'est plus prise en charge ; consultez la version actuelle de LMDE.

Comment installer Wireshark sous Linux : Ubuntu, Fedora, Arch et autres distributions

Comment installer Wireshark sous Linux : Ubuntu, Fedora, Arch et autres distributions

Installez Wireshark sur Ubuntu, Debian, Fedora, Arch ou openSUSE avec les commandes de paquets actuelles, puis configurez la capture de paquets en direct en toute sécurité.

Comment jouer à DiRT Rally sur Linux : configuration de Steam et correctifs Proton

Comment jouer à DiRT Rally sur Linux : configuration de Steam et correctifs Proton

Découvrez comment jouer à DiRT Rally sur Linux si vous le possédez déjà sur Steam : installez la version native, lancez-la et n’utilisez Proton qu’en dernier recours.

Comment jouer à It Takes Two sur Linux avec Steam Proton

Comment jouer à It Takes Two sur Linux avec Steam Proton

Apprenez à jouer à It Takes Two sur Linux avec Steam Proton, à installer la version Steam, à activer la compatibilité, à configurer le mode coopératif et à résoudre les problèmes de lancement.

Comment jouer à Slay the Spire sur Linux : Installation et lancement avec Steam

Comment jouer à Slay the Spire sur Linux : Installation et lancement avec Steam

Installez Steam sur Linux, téléchargez la version Linux native de Slay the Spire depuis votre bibliothèque et lancez le jeu. Ce guide inclut des solutions pratiques aux problèmes de démarrage courants.

Comment installer Devuan Linux à partir d'une clé USB bootable

Comment installer Devuan Linux à partir d'une clé USB bootable

Installez Devuan Excalibur à partir de l'ISO Live sur votre bureau. Vérifiez le téléchargement, créez une clé USB bootable, protégez vos partitions existantes et terminez l'installation avec Refracta Installer.

Comment jouer à The Forest sur Linux avec Steam Proton

Comment jouer à The Forest sur Linux avec Steam Proton

Installez Steam sur Linux, activez Steam Play et utilisez Proton pour télécharger et lancer The Forest, avec un paramètre de compatibilité par jeu si celui-ci ne démarre pas.