2 votes

btrfs multi-dispositifs avec mode de données unique et panne de disque

J'avais une partition btrfs sur une matrice de 6 disques sans raid (métadonnées en raid10, mais données en single), et un des disques est mort.

Donc j'ai perdu certaines de mes données, ok, je le savais.

Mais deux questions :

  • Est-il possible de savoir (en utilisant les métadonnées, je suppose) quelles données j'ai perdues ?

  • Est-il possible de faire une sorte de "btrfs delete missing" sur ce genre de configuration, afin de récupérer l'accès en rw à mes autres données, ou dois-je copier toutes mes données sur une nouvelle partition ?

Merci pour toute aide

(Désolé pour mon mauvais anglais)

Edit : juste pour être clair, je peux le monter en lecture seule avec mount -o recovery,ro,degraded.

Et btrfs fi df /Data

Data, single: total=6.65TiB, used=6.65TiB
System, RAID1: total=32.00MiB, used=768.00KiB
Metadata, RAID1: total=13.00GiB, used=10.99GiB
GlobalReserve, single: total=512.00MiB, used=0.00B

0 votes

Après de petits échanges avec la liste de diffusion btrfs, le montage de mon disque avec dégradé et en ro, m'a permis de faire un scrub de mon disque. Il semblerait que je sois très chanceux, et que je n'ai perdu aucune donnée :) Sinon, j'aurais vu dans dmesg ou journalctl, beaucoup d'erreurs, y compris le chemin complet du fichier affecté.

0 votes

J'aimerais maintenant retrouver l'accès à mes données en rw, mais btrfs me l'interdit parce que mes données étaient "single". Même si aucune donnée n'a été affectée. Il semble que je n'ai que deux choix : Acheter au moins 7To de disque dur neuf, déplacer mes données, détruire et recréer ma partition, et déplacer à nouveau mes données. Prendre plus de risques de perdre des données en les piratant. C'est ce dernier choix que je vais faire. J'ai essayé de patcher le noyau pour supprimer le test m'interdisant l'accès en rw, et j'ai essayé un simple "btrfs remove missing". mais ça ne marche pas, je n'ai aucune idée de ce qu'il faut faire. Je suis ouvert à toute suggestion.

0 votes

Le test que j'ai effectué précédemment (en rapport avec le message précédent) était dans une machine virtuelle avec un cas de test fabriqué que je pensais représentatif de mon problème réel. Ce n'était pas le cas. Dans ma situation, "btrfs-debug-tree -t 3 /dev/sda6" ne mentionne nulle part le disque manquant (données ou métadonnées). Il n'y avait donc rien du tout dans le périphérique manquant. Dans le cas du test, il y avait des métadonnées (en raid 10) stockées sur le périphérique manquant. C'est pourquoi il criait. Avec ma vraie matrice, le patch était suffisant.

1voto

pums974 Points 11

Je suis un gars très très chanceux, et je pense avoir résolu mon problème (grâce à l'aide de la liste de diffusion btrfs).

Dans ma situation, "btrfs-debug-tree -t 3 /dev/sda6" ne mentionne le disque manquant nulle part (données ou métadonnées). Il n'y avait donc rien du tout dans le périphérique manquant.

Donc, Parcheandole noyau avec ce patch me permettre de monter le tableau en rw en dégradé et un simple btrfs device remove missing a fait l'affaire.

Mon tableau est donc réparé et mes données semblent correctes (scrub en cours).

Une chose que j'ai apprise cependant, c'est que le mode unique ne devrait jamais être utilisé.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X