Puncte:0

btrfs - erori de sumă de control generate de disc, disc înlocuit, erorile rămân

drapel ng

Am avut o pereche de discuri de 3TB într-o matrice btrfs raid1.

Unul dintre aceste discuri a început să se defecteze (smartd arată sectoare defecte), așa că am cumpărat o pereche de unități noi de 8TB pentru a înlocui ambele discuri din matrice.

Le-am înlocuit pe amândouă btrfs înlocuiește, și a alergat a soldul btrfs apoi - care eșuează la următorul mesaj:

[ 5063.136378] Eroare BTRFS (dispozitiv sdc): verificarea transid părinte a eșuat pe 5153170751488 căutat 1433374 găsit 1417912
[ 5063.140428] Eroare BTRFS (dispozitiv sdc): verificarea transid părinte a eșuat pe 5153170751488 căutat 1433374 găsit 1417912

Acum, am văzut exact aceste mesaje inainte de înlocuirea discurilor, dar acum, deoarece ambele discuri au fost înlocuite, cred că are ceva de-a face btrfs.

Datele mele sunt complet copiate de rezervă iar sistemul de fișiere este online și funcționează corect, dar nu pot efectua un echilibru din cauza acestei erori.Rularea unui scrub produce o cantitate mică de erori necorectabile, la fel ca înainte de a înlocui discurile.

Mă întrebam cum aș putea, poate:

  1. Aflați ce fișiere sunt corupte și restaurați-le dintr-o copie de rezervă
  2. Resetați tranzacția pe sistemul de fișiere pentru a elimina erorile
  3. Ignorați erorile în timpul echilibrării

...sau orice altă soluție rezonabilă.

Mulțumiri!

paladin avatar
drapel id
S-ar putea să fie puțin târziu, dar vreau să explic puțin despre btrf-uri pe care se pare că nu le cunoașteți. Spre deosebire de multe alte sisteme de fișiere, btrfs este capabil să facă suma de control nu numai pentru metadate, ci și pentru datele în sine. De obicei, când btrfs detectează erori ale sistemului de fișiere, va încerca automat să remedieze acele erori. Remedierea unei erori înseamnă utilizarea unei copii de rezervă din DUP sau RAID1. Dacă nu este disponibilă o astfel de copie, btrfs va observa sistemul că un fișier este corupt. De obicei, administratorul de sistem ar trebui să folosească acum o copie de rezervă reală pentru a restaura datele pierdute. Ceea ce ați făcut este să ignorați pierderile de date.
paladin avatar
drapel id
Data viitoare când vedeți o astfel de eroare, nu este o eroare btrfs, dar datele dvs. sunt corupte și ar trebui să vă recuperați din backup, dacă este posibil. În schimb, ext4 și alte sisteme de fișiere încearcă doar să fie fericiți cu starea metadatelor acolo. Este total posibil să pierdeți date atunci când utilizați ext4 și nu îl cunoașteți. btrfs, pe de altă parte, știe când a pierdut date, acesta este un avantaj cheie față de ext4.
dkd6 avatar
drapel ng
Bună, mulțumesc pentru clarificare. Ceea ce am ajuns să fac în cele din urmă a fost să refac datele dintr-o copie de rezervă pe sistemul de fișiere nou formatat. Privind postări similare online, am putut vedea că în cele mai multe cazuri `dmesg` arată calea fișierelor corupte descoperite - totuși, în cazul meu, am putut vedea doar erorile `parent transid verify failed`, ceea ce mi se pare confuz...
Puncte:0
drapel ng

Am făcut câteva încercări suplimentare pentru a rezolva acest lucru și, în cele din urmă, doar un reformat curat al sistemului de fișiere a rezolvat problema.

Odată ce am transferat datele de pe discuri, am încercat două comenzi periculoase - btrfs verifica --init-csum-tree si a btrfs check --repair - niciunul dintre acestea nu a făcut vreun rău, dar nu a rezolvat problema.

După reformatare, am transferat din nou datele înapoi pe sistemul de fișiere, am rulat a echilibrul sistemului de fișiere btrfs si a scrub sistem de fișiere btrfs, iar acum totul funcționează din nou.

Noroc!

Postează un răspuns

Majoritatea oamenilor nu înțeleg că a pune multe întrebări deblochează învățarea și îmbunătățește legătura interpersonală. În studiile lui Alison, de exemplu, deși oamenii își puteau aminti cu exactitate câte întrebări au fost puse în conversațiile lor, ei nu au intuit legătura dintre întrebări și apreciere. În patru studii, în care participanții au fost implicați în conversații ei înșiși sau au citit transcrieri ale conversațiilor altora, oamenii au avut tendința să nu realizeze că întrebarea ar influența – sau ar fi influențat – nivelul de prietenie dintre conversatori.