J'ai une question concernant les erreurs irrécupérables sur un système de fichiers BTRFS. Plus précisément, j'ai récemment exécuté un nettoyage BTRFS après avoir rencontré un problème avec l'un de mes bâtons de RAM et il semble avoir découvert 4 erreurs impossibles à corriger. C'est la sortie:
scrub status for <UUID>
scrub started at Thu Dec 25 15:19:22 2014 and was aborted after 89882 seconds
total bytes scrubbed: 1.87TiB with 4 errors
error details: csum=4
corrected errors: 0, uncorrectable errors: 4, unverified errors: 0
Heureusement, tout est sauvegardé dans une sauvegarde tertiaire, je ne crains donc pas de perdre les fichiers (je suis bien conscient des problèmes liés au statut expérimental de BTRFS, j’ai plusieurs sauvegardes pour protéger mes données, et je suis déterminé à continuez à l'utiliser, donc non, s'il vous plaît, non: messages "Solution; n'utilisez pas BTRFS").
Je voudrais cependant savoir comment déterminer quels fichiers sont associés aux erreurs impossibles à corriger. Je veux les trouver, les supprimer et les remplacer par leurs copies sauvegardées.
Si quelqu'un a des informations sur la manière de procéder, j'aimerais beaucoup avoir de vos nouvelles.
Merci d'avance.
la source
sort | uniq
pour se débarrasser des doublons comme ceci:dmesg | grep "checksum error at" | cut -d\ -f24- | sed 's/.$//' | sort | uniq
Oui, le mappage depuis INODE ou numéro de bloc vers un nom de fichier peut être difficile. Si vous êtes vraiment intéressé, vous pouvez essayer quelque chose comme ceci et voir quels fichiers copier pour copier ... après tout, si le fichier est mauvais, une erreur devrait survenir lors de la copie. J'ai déjà utilisé ce type de technique.
la source
dmesg
vous donnera des détails sur les fichiers impliqués dans les erreurs de somme de contrôle non corrigible. Les messages se présentent généralement comme suit: "BTRFS: erreur de somme de contrôle au niveau de la [...] logique sur dev [...], secteur [...], racine [...], inode [...], décalage [ ...], longueur [...], liens [...] (chemin: [...]) "; la dernière information est le chemin absolu du fichier corrompu.la source
Je suis venu ici aussi pour "l'erreur non corrigible" de BTRFS. Le grep ci-dessus n'a pas fonctionné pour moi; Je devais utiliser à la place:
Notez que le chemin est relatif au début du sous-volume - aucune indication du sous-volume dans lequel il se trouve. Heureusement, ce n'était pas un problème pour moi.
la source
somepath/somefile.txt
? On dirait que vous le tapez en tant que commande séparée - ou s'agit-il du résultat de la commande que vous avez tapée? Si tout est supposé être une ligne de commande, veuillez ne pas séparer les lignes de commande à des fins d'affichage - mettez-les simplement dans la réponse sous la forme d'une longue ligne. Mais qu'est-ce que c'est? Fournissez-vous deux entrées àsort
(un tuyau et un fichier)? Ou estsomepath/somefile.txt
censé être un fichier de sortie? (Il n'est pas très utile de spécifier des fichiers de sortie, à moins qu'il s'agisse de fichiers intermédiaires que vous utilisez à nouveau. Les gens savent comment gérer les résultats, par exemple, par piping.)