L’approche sûre consiste à traiter la stabilisation des écritures, la récupération d’espace de travail, l’exécution d’un équilibrage filtré uniquement et la vérification des données avant le retour au service normal comme une suite de seuils observables, et non comme une seule commande.
Sur un système de fichiers Btrfs de serveur domestique presque plein, le risque concret est que Btrfs signale ENOSPC ou passe en lecture seule lorsque l’espace réservé aux métadonnées est épuisé. Notez l’identité actuelle et le point de récupération, commencez par le test différenciateur le moins invasif, interprétez les résultats réussis et échoués avant de modifier une autre variable, puis arrêtez-vous lorsque le stockage devient instable ou que seule la copie récupérable risque d’être exposée. Le processus ci-dessous ne se termine que lorsque la charge de travail d’origine réussit ou que les éléments recueillis atteignent un seuil nécessitant une escalade.
Stabiliser le système de fichiers avant toute tentative de réparation
Arrêtez les conteneurs, les téléchargements, les instantanés et les tâches générant beaucoup de journaux qui écrivent sur le système de fichiers concerné. Enregistrez les erreurs du noyau et la sortie de btrfs device stats ailleurs. Si le système de fichiers est remonté en lecture seule ou signale des erreurs de somme de contrôle, de parent transid ou d’E/S, conservez-le en lecture seule jusqu’à disposer d’une copie récupérable.
Ne commencez pas par btrfs check --repair, un équilibrage complet, une défragmentation ou une suppression massive. La question immédiate est de savoir si l’état valide du système de fichiers manque d’espace de travail pour l’allocation ou si des erreurs de stockage endommagent les métadonnées ; une réparation effectuée en premier peut rendre cette distinction plus difficile et consommer l’espace restant.
Le seuil de sécurité est franchi lorsque les services générant beaucoup d’écritures sont arrêtés, que les données importantes disposent d’une autre copie et que vous savez quel périphérique bloc et quel point de montage vous examinez. Passez à la création d’une image de récupération si le périphérique se réinitialise, disparaît ou accumule des erreurs de lecture.
Lire l’allocation plutôt que le simple chiffre d’espace libre
Exécutez btrfs filesystem usage -T /mount, btrfs filesystem df /mount, btrfs device usage /mount et examinez les messages récents du noyau. Comparez l’espace réservé et utilisé pour les métadonnées ainsi que l’espace non alloué disponible sur chaque périphérique ; la commande df ordinaire ne suffit pas à montrer si Btrfs peut allouer un autre bloc de métadonnées.
Un équilibrage ciblé nécessite un espace de travail entièrement inutilisé. Ce guide de l’équilibrage ciblé de Btrfs explique qu’un équilibrage sans filtre réécrit tous les groupes de blocs admissibles et que l’objectif est de conserver de l’espace non alloué au niveau des périphériques, et non simplement de supprimer un gros fichier en supposant que les métadonnées pourront augmenter.
Si l’espace réservé aux métadonnées est élevé mais qu’il reste de l’espace non alloué, un petit équilibrage filtré peut récupérer des blocs vides ou peu utilisés. Si aucun périphérique ne dispose d’espace de travail, supprimez d’abord, par petites séries, les données ou instantanés pouvant être supprimés sans risque, ou ajoutez un périphérique temporaire adapté au profil du système de fichiers ; ne lancez pas une relocalisation qui ne pourrait pas aller jusqu’au bout.
Récupérer de l’espace de travail avec l’action la moins invasive
Commencez par supprimer les fichiers dispensables qui ne sont pas conservés par des instantanés, puis supprimez uniquement les instantanés dont l’inutilité est confirmée. Synchronisez et vérifiez à nouveau l’utilisation après chaque petite modification. Si un équilibrage est justifié, commencez par btrfs balance start -dusage=0 -musage=0 /mount ou par un autre filtre étroit choisi en fonction de l’allocation observée, et non par un équilibrage complet.
La description du manuel Linux du fonctionnement de l’équilibrage filtré indique que les filtres limitent la relocalisation et qu’une erreur ENOSPC peut survenir lorsque l’équilibrage lui-même manque d’espace de travail. Surveillez btrfs balance status et les journaux du noyau. Si la relocalisation augmente les erreurs, reste bloquée avec des défauts du périphérique ou consomme la dernière marge de sécurité, annulez-la et revenez à une récupération en lecture seule.
N’enchaînez pas les filtres et les suppressions sans effectuer de mesures entre les étapes. La branche de récupération réussit lorsque les métadonnées disposent d’une marge suffisante, que de l’espace non alloué existe sur les périphériques nécessaires et qu’une petite écriture s’effectue sans nouvelle erreur ENOSPC ni passage forcé en lecture seule.
Vérifier les données et empêcher une rechute immédiate
Ne redémarrez qu’un seul service à faible risque et reproduisez la charge de travail qui a initialement rempli les métadonnées, comme la création d’un instantané ou la modification de nombreux petits fichiers. Vérifiez à nouveau l’utilisation et les journaux du noyau après la charge de travail et après un redémarrage. Un montage qui fonctionne une fois mais repasse en lecture seule lors des modifications normales n’est pas récupéré.
Utilisez la méthode de ZimaSpace pour déterminer si des instantanés ou des fichiers actifs utilisent l’espace du NAS avant de modifier la conservation. Les étendues conservées par les instantanés peuvent donner l’impression que la suppression est sans effet, tandis que les modifications fréquentes de petits fichiers actifs peuvent maintenir une forte pression sur les métadonnées ; la politique appropriée dépend de l’état établi par les mesures.
Ne reprenez le service normal qu’une fois le système de fichiers resté inscriptible, les statistiques des périphériques cessé d’augmenter, un fichier représentatif restauré ou vérifié correctement par hachage et les alertes de surveillance configurées avant que la même marge ne disparaisse. Confiez les erreurs structurelles persistantes à un spécialiste de la récupération Btrfs et travaillez à partir d’un clone plutôt que de répéter des commandes de réparation sur l’unique copie.
Assistance et conseils
Plus à lire

Guide de migration de Borg Backup pour déplacer un dépôt vers un nouveau stockage
Déplacez un dépôt Borg comme un objet cohérent : arrêtez les écritures, préservez les clés et l’identité, vérifiez les restaurations, puis mettez à jour...

Flux de maintenance d’un dépôt Restic : vérifier, élaguer, compacter et tester la restauration
Restic n’a pas de commande compacte distincte : prune effectue le réempaquetage. Protégez les verrous et l’espace libre, vérifiez à nouveau ensuite, puis terminez...

Guide de récupération Time Machine sur NAS pour un historique de sauvegarde endommagé ou abandonné
Conservez l’ancien bundle. Distinguez l’accès au NAS, l’identité de la destination, les dommages causés à l’image et l’historique abandonné avant de choisir une réparation...

