Btrfs oporavak podataka: što učiniti kad volumen zakaže
Kad se Btrfs volumen odbije montirati, NAS javi da je volumen “srušen” ili nestane podvolumen s važnim datotekama, podaci su u većini slučajeva još fizički na disku. Hoće li se vratiti ovisi ponajviše o prvim koracima: svaki pokušaj “popravka” na izvornom disku mijenja metapodatke koje stručnjak kasnije treba za rekonstrukciju. U nastavku objašnjavamo kako Btrfs pohranjuje podatke, koji su kvarovi najčešći, koje naredbe dokumentacija sama označava kao rizične te kada je vrijeme da se disk ili cijelo polje preda laboratoriju za spašavanje podataka.
Ukratko
- Odmah zaustavite svako pisanje po disku: ne pokrećite popravak, ne kopirajte nove podatke i ne inicijalizirajte NAS ponovno.
- Btrfs nema izvornu funkciju vraćanja obrisanih datoteka, pa su snimke (snapshots) i sigurnosne kopije prvo mjesto na kojem tražite izgubljeno.
- Naredba
btrfs check --repairprema službenoj dokumentaciji ne smije se pokretati bez savjeta razvijatelja ili iskusnog stručnjaka. - Greška “parent transid verify failed” bez ispravne kopije metapodataka često znači trajno oštećenje, pa je stručna procjena tada najsigurniji put.
- Kod diska koji škripi, klikće ili nestaje iz sustava rješenje je čista komora i rad na kopiji, a ne naredbe nad datotečnim sustavom.
Sadržaj
- Zašto je Btrfs drukčiji od ext4 ili NTFS-a
- Najčešći scenariji gubitka podataka na Btrfs-u
- Prvi koraci nakon kvara: što učiniti, a što ne
- Naredbe za popravak koje mogu pogoršati stanje
- Greška “parent transid verify failed”
- Btrfs u RAID polju i na NAS uređajima
- Obrisane datoteke, podvolumeni i formatirana particija
- Kako laboratorij pristupa oporavku Btrfs volumena
- Spašavanje podataka s Btrfs diskova i NAS uređaja u našem laboratoriju
- Kako smanjiti rizik od gubitka podataka na Btrfs-u
- Česta pitanja
- Izvori
Zašto je Btrfs drukčiji od ext4 ili NTFS-a
Btrfs je datotečni sustav za Linux koji radi po načelu copy-on-write: postojeći blok se ne prepisuje, nego se izmijenjeni podaci zapisuju na novo mjesto, a stabla metapodataka zatim pokazuju na novu verziju. Zbog toga Btrfs nudi snimke stanja, podvolumene, kontrolne zbrojeve (checksums) za podatke i metapodatke te ugrađenu podršku za više diskova.
Za oporavak podataka to ima dvije strane.
Prednost: starije verzije blokova često ostaju na disku i nakon izmjene, sve dok ih sustav ne iskoristi za nove zapise. Superblok čuva i rezervne korijene stabala, a na disku postoje dodatne kopije samog superbloka. Upravo zato postoje alati koji, kako navodi dokumentacija za btrfs restore, pokušavaju izvući datoteke s oštećenog sustava bez izmjene slike diska.
Nedostatak: gotovo sve ovisi o metapodacima. Ako su oštećena ključna stabla, primjerice chunk stablo koje povezuje logičke adrese s fizičkim mjestom na disku, podaci postoje, ali sustav više ne zna gdje su. Kod klasičnih datotečnih sustava struktura je jednostavnija i predvidljivija, dok se kod Btrfs-a rekonstrukcija radi na više razina: uređaj, chunk, stablo, podvolumen, datoteka.
Kontrolni zbrojevi imaju još jednu posljedicu. Btrfs vrlo rano primjećuje da nešto nije u redu i tada odbija vratiti oštećeni blok ili se prebacuje u način samo za čitanje. Korisniku to izgleda kao iznenadni kvar, a zapravo je sustav upozorio na problem koji se razvijao u pozadini, najčešće na samom disku.
Najčešći scenariji gubitka podataka na Btrfs-u
Uzrok kvara određuje i način oporavka. Isti simptom, volumen koji se ne montira, može nastati zbog nestanka struje, ali i zbog diska koji fizički propada.
| Scenarij | Tipičan simptom | Glavni rizik | Preporuka |
|---|---|---|---|
| Nestanak napajanja tijekom zapisa | Volumen se ne montira, greške u dnevniku sustava | Pokušaj popravka prepiše rezervne korijene | Ne popravljati na izvornom disku, izraditi kopiju |
| Fizički kvar diska | Klikanje, usporavanje, disk nestaje iz sustava | Svako pokretanje širi oštećenje površine | Isključiti uređaj, predati laboratoriju |
| “parent transid verify failed” | Odbijeno montiranje, poruke o generaciji stabla | Oštećenje metapodataka bez ispravne kopije | Stručna analiza metapodataka |
| Srušen volumen na NAS-u | Upozorenje u sučelju NAS-a, dijeljene mape nedostupne | Gumb “Popravi” ili ponovna inicijalizacija | Ne dirati polje, zabilježiti redoslijed diskova |
| Obrisani podvolumen ili datoteke | Mapa ili podvolumen nestali | Novi zapisi zauzmu oslobođene blokove | Prestati koristiti volumen, provjeriti snimke |
| Slučajno formatiranje | Prazan novi datotečni sustav | Svaki novi zapis prepisuje stare strukture | Odmah prestati pisati, stručna procjena |
| RAID5/6 profil nakon pada | Nekonzistentni podaci, neuspjelo montiranje | Write hole, nepotpuni pariteti | Kopija svakog člana polja, rekonstrukcija |
Ako ne znate je li uzrok logički ili fizički, polazite od pretpostavke da je disk u kvaru. Logički problem se na ispravnoj kopiji može analizirati koliko god treba, a fizički kvar se svakim satom rada pogoršava.
Prvi koraci nakon kvara: što učiniti, a što ne
Ovi koraci vrijede jednako za radnu stanicu, poslužitelj i kućni NAS:
- Zaustavite pisanje. Prekinite sinkronizacije, sigurnosne kopije koje pišu na isti volumen, virtualne strojeve i servise. Ako je volumen još montiran, nemojte na njega spremati ništa novo.
- Ne ponavljajte ponovna pokretanja. Svaki restart znači novi pokušaj montiranja, novi zapis u dnevnik i, kod oštećenog diska, novo opterećenje glave za čitanje.
- Zabilježite stanje. Fotografirajte poruke o greškama, zapišite model i serijski broj diskova te točan redoslijed diskova u NAS-u ili poslužitelju. Kod polja s više diskova ta je informacija često presudna.
- Isključite uređaj ako disk pokazuje znakove kvara. Klikanje, struganje, ponavljano okretanje i zaustavljanje te disk koji se pojavljuje i nestaje znak su mehaničkog problema. Više o tome kako takvi kvarovi nastaju pročitajte u tekstu o mehaničkim oštećenjima hard diska.
- Prvo kopija, onda sve ostalo. I ArchWiki i dokumentacija Btrfs-a polaze od istog načela: kod diska u kvaru najprije se izrađuje slika cijelog uređaja, a analiza se radi isključivo na njoj. Kod diska s fizičkim oštećenjem ovu kopiju sigurno može izraditi samo laboratorij s odgovarajućom opremom.
- Javite se stručnjaku prije bilo kakvog popravka. Kraći pregled postupaka po vrstama kvara imamo i u vodiču hitni koraci za oporavak podataka.
Ono što ne biste trebali raditi jednako je važno: ne pokrećite alate za popravak na izvornom disku, ne prebacujte diskove između utora NAS-a, ne dodajte novi disk u oštećeno polje i ne pokušavajte ponovno kreirati volumen “s istim postavkama”.
Naredbe za popravak koje mogu pogoršati stanje
Administratori Linuxa uz Btrfs dobivaju skup ugrađenih naredbi za provjeru i popravak. Službena dokumentacija kod nekoliko njih jasno upozorava na rizik, i ta upozorenja vrijedi shvatiti doslovno.
btrfs check –repair
Stranica priručnika za btrfs check izričito navodi da se opcija --repair ne koristi osim po savjetu razvijatelja ili iskusnog korisnika te da nijedan alat za provjeru ne može popraviti sve vrste oštećenja. U praksi to znači da pogrešan “popravak” može prepisati upravo one dijelove metapodataka iz kojih bi se datoteke još dale izvući. Kad se to dogodi, kasniji laboratorijski oporavak postaje znatno teži.
btrfs rescue zero-log i chunk-recover
Prema dokumentaciji za btrfs rescue, zero-log briše stablo dnevnika, čime se gube promjene od posljednje potvrđene transakcije, do otprilike 30 sekundi rada. Zvuči malo, ali kod baze podataka ili poslovnog poslužitelja to može biti upravo zadnji važan zapis. Naredba chunk-recover skenira cijeli uređaj kako bi obnovila chunk stablo, što na velikim diskovima može trajati vrlo dugo. Na disku s oštećenom površinom takvo višesatno čitanje dodatno opterećuje mehaniku, a moderni diskovi kapaciteta 20 do 30 TB i više, o kojima pišemo u tekstu HDD 30TB ili veći, to vrijeme još produljuju.
Gumb “Popravi” na NAS-u
Sučelje NAS uređaja često nudi popravak volumena jednim klikom. Ta funkcija pretpostavlja da su svi diskovi ispravni i da je redoslijed u polju poznat. Ako jedan član polja fizički propada, popravak pokreće intenzivno čitanje i zapisivanje po svim diskovima, što je najgore moguće opterećenje za disk koji je već na rubu.
Zašto je redoslijed važan
Dokumentacija Btrfs-a opisuje i montiranje u načinu samo za čitanje s opcijom rescue=all, koje u nekim slučajevima omogućuje pristup podacima s inače nemontirajućeg sustava. Važna riječ je “samo za čitanje”: ispravni postupci kreću od metoda koje ništa ne mijenjaju, a zahvati koji pišu po disku dolaze tek na kraju, ako uopće, i to na kopiji. Ako nemate iskustva s ovim postupcima ili su podaci poslovno važni, taj redoslijed najsigurnije je prepustiti laboratoriju.
Greška “parent transid verify failed”
Ovo je jedna od najčešćih poruka kod Btrfs kvarova, posebno nakon nestanka struje ili na NAS uređajima. Znači da se generacija (transakcija) zapisana u roditeljskom čvoru stabla ne podudara s onom u čvoru na koji pokazuje. Jednostavnije rečeno: dio metapodataka nije zapisan do kraja ili je zapisan u pogrešnom redoslijedu.
Stranice za otklanjanje poteškoća u dokumentaciji Btrfs-a navode da je, ako ne postoji ispravna kopija na drugom uređaju, primjerice u RAID polju, takvo oštećenje često trajno jer je informacija izgubljena. To se odnosi na samu strukturu, a ne nužno na korisničke datoteke. Zahvaljujući copy-on-writeu na disku često postoje starije, konzistentne verzije stabala iz kojih se veći dio podataka može rekonstruirati, ali taj posao zahtijeva analizu metapodataka na kopiji diska, a ne niz naredbi nad izvornikom.

Btrfs u RAID polju i na NAS uređajima
Btrfs se sve češće nalazi tamo gdje ga korisnik možda i ne vidi: na kućnim i poslovnim NAS uređajima. Proizvođač Synology, primjerice, Btrfs koristi kao datotečni sustav za zaštitu integriteta podataka i snimke, a kod takvih uređaja Btrfs često radi iznad zasebnog RAID sloja. Kvar zato može nastati na tri razine: na disku, u RAID sloju ili u samom Btrfs-u.
Dvije stvari su posebno važne:
- Scrub nije popravak u svakom slučaju. Prema dokumentaciji za scrub, Btrfs oštećeni blok može automatski ispraviti samo ako postoji druga valjana kopija, primjerice u profilu RAID1. Na jednom disku scrub otkriva oštećenje, ali ga ne može ispraviti.
- RAID5 i RAID6 profili ostaju rizični. Službena dokumentacija Btrfs-a navodi da se ti profili ne bi trebali koristiti u produkciji, prvenstveno zbog problema “write hole” i ranjivosti pri iznenadnom nestanku napajanja. Ako Vaše polje koristi Btrfs RAID5/6 i ne montira se nakon pada struje, svaki pokušaj ponovne izgradnje može trajno pomiješati paritete.
Kod polja s više diskova laboratorij izrađuje kopiju svakog člana zasebno, zatim virtualno rekonstruira polje i tek onda analizira Btrfs strukture. Tako izvorni diskovi ostaju netaknuti. Detaljnije o tome pišemo u tekstovima o spašavanju podataka s RAID polja i o tome kada je moguć oporavak RAID 10.
Obrisane datoteke, podvolumeni i formatirana particija
Obrisane datoteke i podvolumeni
Btrfs nema “koš za smeće” na razini datotečnog sustava, a službeni wiki navodi da je najbolji način vraćanja obrisanih podataka sigurnosna kopija. Zato prvo provjerite postoje li snimke stanja ili kopije na drugom uređaju. Mnogi NAS uređaji i neke Linux distribucije snimke izrađuju automatski, pa je vraćanje iz snimke često najjednostavnije rješenje. Ako to radi Vaš IT administrator, neka snimku samo čita i kopira na drugi medij.
Ako snimke nema, vrijeme je presudno. Zbog copy-on-writea obrisani blokovi ne nestaju odmah, ali Btrfs ih vrlo brzo ponovno koristi za nove zapise, osobito na volumenu koji je gotovo pun. Što se volumen dulje koristi nakon brisanja, to su manje šanse za potpun oporavak.

SSD i TRIM
Na SSD-u je situacija dodatno složena. Ako je uključen TRIM ili periodično odbacivanje blokova, kontroler diska oslobođene blokove može vrlo brzo izbrisati, i tada ih ni laboratorij ne može vratiti. Kod obrisanih podataka na SSD-u zato je ključno uređaj isključiti što prije i ne ostavljati ga uključenog “dok se ne odluči što dalje”.
Slučajno formatiranje
Formatiranje particije u Btrfs prepisuje superblok i stvara nova, prazna stabla, ali ne briše cijeli disk. Stari podaci i dijelovi starih struktura često ostaju na mjestu sve dok se ne prepišu novim sadržajem. Ako ste formatirali pogrešnu particiju, odmah prestanite koristiti disk i ne pokušavajte vratiti staru tablicu particija nagađanjem. Naš vodič o alatima za oporavak particija namijenjen IT stručnjacima objašnjava zašto se i takvi zahvati rade isključivo na kopiji.
Šifrirani Btrfs
Ako je Btrfs na šifriranom spremniku, oporavak je moguć samo uz ključ ili lozinku. Oštećeno zaglavlje šifriranog spremnika bez sigurnosne kopije zaglavlja može podatke učiniti nedostupnima, pa i tu vrijedi isto pravilo: bez eksperimentiranja na izvornom disku.
Kako laboratorij pristupa oporavku Btrfs volumena
Laboratorijski postupak razlikuje se od kućnog pokušaja prije svega po redoslijedu i po tome što izvorni disk nikada nije predmet eksperimenta:
- Dijagnostika. Najprije se utvrđuje je li problem fizički, elektronički ili logički. Disk s oštećenom glavom za čitanje ili podatkovnim pločama otvara se isključivo u čistoj komori.
- Kopija sektor po sektor. Sa svakog diska izrađuje se potpuna slika, uz kontrolirano čitanje oštećenih područja. Kod polja se kopira svaki član.
- Rekonstrukcija polja. Ako je Btrfs na RAID-u ili na NAS-u, prvo se virtualno složi RAID sloj, uz točan redoslijed diskova i parametre.
- Analiza metapodataka. Na kopiji se traže ispravni superblokovi, rezervni korijeni i starije generacije stabala koje copy-on-write ostavlja na disku.
- Izdvajanje i provjera datoteka. Podaci se kopiraju na novi medij, a ključne datoteke provjeravaju se prije predaje klijentu. Oštećene datoteke i baze mogu se dodatno popraviti.
Ovakav pristup omogućuje da se, ako prvi pokušaj ne uspije, krene drugim putem bez gubitka onoga što je na disku još bilo dostupno.
Spašavanje podataka s Btrfs diskova i NAS uređaja u našem laboratoriju
Datarecovery (InfoLAB) od 1993. godine spašava podatke s hard diskova, SSD-ova, RAID polja i NAS uređaja. Jedini smo laboratorij za spašavanje podataka u regiji s certifikatom ISO 9001:2015, a fizički oštećene diskove otvaramo u čistim komorama klase 100/10. Radimo po pravilu “no Data, no Money”: ako podatke ne spasimo, ne plaćate oporavak. Za hitne slučajeve, kada poslužitelj ili NAS stoji, moguća je i hitna intervencija.

Ako se Vaš Btrfs volumen ne montira, NAS javlja srušen volumen ili disk ispušta neobične zvukove, isključite uređaj i pogledajte našu uslugu spašavanja podataka s RAID polja i NAS uređaja. Za pojedinačne diskove i SSD-ove obratite nam se putem stranice Datarecovery laboratorija. Prije slanja nemojte pokretati popravak ni mijenjati redoslijed diskova.
Kako smanjiti rizik od gubitka podataka na Btrfs-u
Btrfs je pouzdan datotečni sustav kad se koristi u skladu s preporukama, ali nijedan datotečni sustav nije zamjena za sigurnosnu kopiju. Nekoliko pravila znatno smanjuje rizik:
- Snimka nije backup. Snimke su na istom disku ili polju i nestaju zajedno s njim. Barem jedna kopija mora biti na drugom uređaju, a po mogućnosti i na drugoj lokaciji. Više o tome u tekstu sigurnost podataka u poslovnom okruženju.
- Zaštita od nestanka struje. Velik dio Btrfs kvarova počinje naglim gašenjem tijekom zapisa. UPS na NAS-u i poslužitelju jeftiniji je od svakog oporavka.
- Izbjegavajte RAID5/6 profile Btrfs-a za važne podatke i za redundanciju birajte profile poput RAID1.
- Pratite stanje diskova. Rastući broj grešaka čitanja ili pisanja u statistikama uređaja, upozorenja SMART-a i usporavanje znak su da disk treba zamijeniti dok su podaci još dostupni.
- Redovito provjeravajte vraćanje iz kopije. Kopija koja nikada nije testirana nije dokaz da se podaci mogu vratiti.
Česta pitanja
Mogu li se podaci s Btrfs-a vratiti ako se volumen ne montira?
U mnogim slučajevima mogu, jer podaci ostaju na disku i kada su oštećeni metapodaci. Copy-on-write često ostavlja starije, ispravne verzije stabala iz kojih se datoteke mogu rekonstruirati. Šanse su najveće ako na izvornom disku nije pokretan nikakav popravak.
Je li sigurno pokrenuti btrfs check –repair?
Službena dokumentacija to ne preporučuje bez savjeta razvijatelja ili iskusnog stručnjaka. Pogrešan popravak može prepisati metapodatke potrebne za oporavak. Ako su podaci važni, prvo se izrađuje kopija diska, a popravci se, ako su uopće potrebni, rade na njoj.
NAS javlja srušen volumen. Trebam li kliknuti “Popravi”?
Ne prije nego što znate zašto je volumen pao. Ako je uzrok disk u kvaru, popravak dodatno opterećuje sve diskove u polju i može pogoršati oštećenje. Isključite NAS, zabilježite redoslijed diskova i obratite se laboratoriju.
Koliko traje Btrfs oporavak podataka?
Ovisi o kapacitetu, broju diskova, stanju njihove mehanike i opsegu oštećenja metapodataka. Logički kvar na jednom ispravnom disku obrađuje se znatno brže od RAID polja s fizički oštećenim članom. Točnu procjenu daje tek dijagnostika.
Izvori
- btrfs-restore(8), dokumentacija Btrfs-a
- Restore, btrfs Wiki
- File recovery, ArchWiki
- btrfs-check(8), Linux manual page
- btrfs-rescue(8), dokumentacija Btrfs-a
- btrfs(5), opcije montiranja i profili
- Troubleshooting, dokumentacija Btrfs-a
- Scrub, dokumentacija Btrfs-a
- Btrfs na Synology DSM-u
