Portál AbcLinuxu, 6. května 2025 11:44
BTRFS error (device sda2): bad tree block start, want 1975959552 have 0Pokud nabootuju Mint z usb, tak /dev/sda2 normalne mountnu. pokud spustim
btrfs check /dev/sda2
tak dostanu:
Opening filesystem to check... Checking filesystem on /dev/sda2 UUID: b81d6eec-3b78-42f7-a4c2-7b9c325a729d [1/7] checking root items checksum verify failed on 2067169280 found 00000074 wanted FFFFFF90 checksum verify failed on 2067169280 found 00000074 wanted FFFFFF90 Csum didn't match ERROR: failed to repair root items: Input/output errorPri
btrfs check --init-csum-tree /dev/sda2
dostanu
Creating a new CRC tree WARNING: Do not use --repair unless you are advised to do so by a developer or an experienced user, and then only after having accepted that no fsck can successfully repair all types of filesystem corruption. Eg. some software or hardware bugs can fatally damage a volume. The operation will start in 10 seconds. Use Ctrl-C to stop it. 10 9 8 7 6 5 4 3 2 1 Starting repair. Opening filesystem to check... Checking filesystem on /dev/sda2 UUID: b81d6eec-3b78-42f7-a4c2-7b9c325a729d Reinitialize checksum tree checksum verify failed on 2067169280 found 00000074 wanted FFFFFF90 checksum verify failed on 2067169280 found 00000074 wanted FFFFFF90 Csum didn't match ERROR: checksum tree refilling failed: -5Nejak netusim co s tim. Pokud by nekdo dokazal poradit byl bych mu vdecny.
dmesg | grep -i btrfs
dostanu:
[ 3.764468] Btrfs loaded, crc32c=crc32c-intel [ 3.767260] BTRFS: device label fedora_localhost-live devid 1 transid 72777 /dev/sda2 [ 3.767915] BTRFS info (device sda2): disk space caching is enabled [ 3.767917] BTRFS info (device sda2): has skinny extents [ 3.826878] BTRFS info (device sda2): enabling ssd optimizations [56432.132608] BTRFS info (device sda2): disk space caching is enabled [56432.132612] BTRFS info (device sda2): has skinny extents [56432.211373] BTRFS info (device sda2): enabling ssd optimizationsTo mi pripada v pohode na primountovanem sda2 /var/log/dmesg nemam.
dle SMARTu je vse okA zkoušels SMART long test nebo jsi jen zkontroloval hodnoty SMARTu?
btrfs check /dev/sda2
v dmesg nic noveho, defacto ten grep najde s sda2 i s btrfs to same.
btrfs scrub
. Jako další se uvádí např. mount -o recovery,ro
a btrfs restore
Více na https://btrfs.wiki.kernel.org/index.php/Btrfsck
to znamena celou Fedoru preinstalovatProč? Je ten FS úplně nečitelný (kdyby se nepodařilo přečíst pár souborů, které jsou z balíčků, tak je snadno donahraješ) a nemáš rozumnou zálohu?
Jaka je moznost, ze pri tom scrubu prijdu o data?Snad žádná, ale u btrfs nikdy nevíš, takže bych to možná pustil na readonly device, pokud to scrub dokáže (jak si pořídit readonly device nevím, napadá mě buď readonly NBD export nebo to namapovat do virtuálu).
Jaka je moznost, ze pri tom scrubu prijdu o data?Podle mě stejná jako při příkazech, které jsi už použil
Andrej napsal:
(Mimochodem, jakkoliv je například Btrfs nebo ZFS dnes také nezbytnost, fungování ECC nedovedou ani moderní filesystémy plně nahradit, protože k poškození dat může dojít v době mezi výpočtem checksumu a zápisem špinavých bloků na disk (v kterémžto případě si toho poškození lze aspoň později všimnout) nebo před výpočtem checksumu (a pak to bude opravdu silent). ECC takové případy většinou dokáže detekovat a/nebo opravit.)
Za mě je Btrfs určitě super. Rád bych na něj přešel, ale nejsem schopen nainstalovat Mint nad LUKS a Btrfs s neodděleným /boot. Zkoušel jsem všechno možné i nemožné, ale nedaří se mi to. Asi (velmi nerad) oželím LUKS na na ten nový desktop dám Btrfs + Mint + ECC RAM. Tohle vlákno mě v Btrfs a ECC RAM utvrdilo. 2666 MHz myslím stačí, když nehraju.
když nehraju.Já si občas zahraju a když se dívám na test různých frekvencí RAM při hraní, tak u prvních dvou her je pokles FPS 5-10% (2800Mhz vs 3800Mhz). Když k tomu přičteš, že se uvádí že ECC sníží výkon ještě o další 2%, tak pro ECC RAM nejsem tak utvrzený jako pro BTRFS.
Tak to jsme na tom skoro stejně. Taky přecházím na Btrfs při upgradu. Jen distro neměním, protože Mint mi velmi vyhovuje. A budeš šifrovat (LUKS)?
... taky z ext4. :)
A budeš šifrovat (LUKS)?Ano. Pokud přejdu na Fedoru 33, tak stačí jen zatrhnout políčko "šifrovat disk" při instalaci. Ve výchozím nastavení se nešifruje oddíl /boot, ale v dalších verzích Fedory chtějí by default šifrovat i ten.
Že bych zkusil Fedoru? Kouknu se na ní. Díky za info.
(prevazne je tam nejakej pripad co se snazi obhajovat ze nesifrovanej /boot nicemu a nikomu nemuze vaditTady je celkem dlouhý článek o Fedoře 33 a Btrfs a mj. v kroku 5, který popisuje jak zašifrovat i /boot píše, že on raději nešifrovaný /boot, aby mohl použít Yubikey:, ale kdyz uz pripravujou novej instalator tak snad neudelajou znovu tu blbost aby /boot se pri LUKS oddeloval nesifrovane atd...
I actually like to use a Yubikey as a second factor to unlock my luks partition, for this I need an unencrypted /boot partition (see my Things to do after install Fedora 33), so I usually skip this step.
Starting from version 2.6.26 Linux Kernel has an amazing but little known feature - MEMTEST. Let's explore what is it and what it is good for. [...]
by melo odhalit vadne snad takemysleno totozne vadne jako by nasel badblock, tzn. nevim zda badblock neni "zakernejsi" na zjistovani vadnejch a nedokaze jich odhlalit vice...
Ale budu Fedoře a Btrfs ještě chvíli věřit.
Z tohoto^^^ přímo čiší nepochopení situace. „Kandidát na nedůvěru“ v tomto případě není Btrfs, nýbrž ten disk, na kterém Btrfs je.
Skvělé početní k tématu je tohle vlákno. Pravda, je dlouhé, ale stojí za to. Uživatel tam viní Btrfs z kdečeho. („Why is Btrfs so unstable?”) Jenže pak najednou přijde otázka roku:
…is the drive that this file system is on the same drive as in this reported thread?
A ejhle, ano, je to tentýž disk, který už předtím zničil DM Thin Pool a „dokázal“ pak — překvapení! — poškodit i Btrfs.
Jenže uživatel měl dojem, že s Ext4 přece všechno „fungovalo“. (A že na vině musí nutně být software, nikoliv jeho disk.) Inu, pokud někdo pod pojmem „fungovat“ rozumí „potichu ztrácet data a nic nehlásit“ (jako Ext4), to je potom těžké.
Masové nasazení Btrfs na běžném uživatelském hardwaru, které konečně přichází (se zbytečným 10-letým zpožděním), jistě odhalí spoustu zařízení, která nefungují, jak mají.
Chvíli to bude nepříjemné, ale z dlouhodobého hlediska jde o výrazný pokrok ve spolehlivosti domácích úložišť dat.
[...]Masové nasazení Btrfs na běžném uživatelském hardwaru, které konečně přichází (se zbytečným 10-letým zpožděním)[...]hele a neni 10let zpozdeni malo? nemel se BTRFS naszovat uz v minulem tisicileti?
Stabilní: dosud neuvedeno Nestabilní: v3.4.3, květen 2012 (Linux 2.6.29) V roce 2014 byl uvolněn v produkční kvalitě.+ si vybavuju v prubehu par let zpatky na ruzne novinky v BTRFS bez kterejch by to nasazoval produkcne jen masochista
Tím klasikem byl král Šalomoun. "Je to marnost", nebo "také toto je marnost", nebo "je to marnost nad marnost" jsou jeho výroky z knihy Kazatel. Mimo jiné to znamená i to, že je to pomíjivé. Z tohoto úhlu pohledu je marnost i Btrfs (které chci místo ext4 časem nasadit).
Nevím, jak je to s produkčním nasazením, a ani nevím, co to vlastně je, ale pokud jde o konzumační nasazení (což je mi blízké, protože chlastám atd.), tak Btrfs RAID 5/6 mi slouží od roku 2016 k naprosté spokojenosti.
Tuhle mi odešly v RAID5 3 disky (naštěstí ne najednou) a pole to ustálo.
Pak jsem si usmyslel, že disky Mořskábrána typu SMR jsou naprostý odpad, se kterým už nechci nikdy nic mít, a nahradil jsem je za (menší!) SSD. Pro Btrfs žádný problém.
Upřostřed celého nahrazování jsem si řekl, že těch SSD chci vlastně 8 místo 6. No co, pro Btrfs to nebyl žádný problém.
Proč chceš čekat, když s 1 úložištěm write hole nehrozí?
No to jsi mě tedy moc nenadchnul. Nemohl jsi udělat něco špatně?
Dělá ti to dobře?
Polož dotaz. Mě by to taky zajímalo.
# zformatovani mkfs.btrfs /dev/sdXY # primontovani korenu mount /dev/sdXY /data.hddB # vytvoreni subvolume mkdir /data.hddB/.subvolumes btrfs sub create /data.hddB/.subvolumes/@Devel # zkopirovani par GB dat cp -a /data.hdd/Devel/neco /data.hddB/.subvolumes/@Devel # primontovani subvolume mkdir /data.hddB/Devel mount -o subvol=.subvolumes/@Devel /dev/sdXY /data.hddB/Devel # prejmenovani subvolume mv /data.hddB/.subvolumes/@Devel /data.hddB/.subvolumes/Devel # prejmenovani adresare s subvolumes mv /data.hddB/.subvolumes /data.hddB/.subvol # pridani do fstab UUID="11111111-2222-3333-4444-555555555555" /data.hddB/Devel btrfs defaults,subvol=.subvol/Devel 0 0 # reboot rebootV /data.hddB/Devel pripojeno nebylo, neslo ani pripojit rucne (neoznamilo zadnej error), v /data.hddB/.subvolumes/Devel bylo prazdno uz si nevzpomenu jake nastroje ci parametry sem pouzil, nasel sem si nejake howto s poradim jak se maji zkouset, nakonec zabral az tusim "btrfs --repair /dev/sdXY" (kterej se mel pouzit az v "krizovem" pripade...
rm
nebo rmdir
. Jenže na rozdíl od btrfs sub del
to udělá přesně to, co ten nástroj dělá na normálním adresáři, tedy rekurzivně smaže všechny soubory a až potom smaže ten root adresář (subvolume). Asi to tam mají jen z důvodu lepšího chování "jako adresář", ale plné subvolume je lepší mazat pomocí btrfs sub del
, protože je to pro user space mnohem rychlejší (hned) a potom na pozadí běží kernel proces btrfs cleaner
. (Toto je další důvod pro použití subvolume: pokud vím, že budu pracovat s velmi mnoha soubory, tak je lepší to potom smazat jako celek, protože na rm bych taky mohl čekat několik dnů.) Ale rozhodně to není tajná funkce na zničení fs. Jo a před verzí 4.18 to na rm prostě napíše (4.9):
rmdir aaa rmdir: failed to remove 'aaa': Operation not permitted rm -r aaa rm: cannot remove 'aaa': Operation not permittedCo se týče přejmenování namountové subvolume nebo její cesty, tak se taky nic neděje:
mount: /dev/disk on /mnt/btrfs type btrfs (...subvolid=5,subvol=/) /dev/disk on /mnt/btrfs/devel type btrfs (...subvolid=256,subvol=/subv/devel) mv subv/devel subv/xxx mount: /dev/disk on /mnt/btrfs type btrfs (...subvolid=5,subvol=/) /dev/disk on /mnt/btrfs/devel type btrfs (...subvolid=256,subvol=/subv/xxx) mv subv subvols mount: /dev/disk on /mnt/btrfs type btrfs (...subvolid=5,subvol=/) /dev/disk on /mnt/btrfs/devel type btrfs (...subvolid=256,subvol=/subvols/xxx)Tj tento návod nevede k rozbití btrfs.
prošel jsem všechna distribuční jádra od 3 do 5Jaké používáš distro?
Já jsem admin, já verze neřeším. Dokud má distro bezpečnostní update a vše funguje, tak to nechám běžet.To se těžko někomu něco vyvrací, když se všude po netu válí zkušenosti, poznatky a rady co za sebou trousí domácí kutilové.
[...] Jak tak čtu ty úvahy v tom druhém odstavci, tak si dovedu představit, že právě toto může vést k problémům. Kompilovat jádro a k tomu zvlášť utils, míchat verze, no nevím, jestli je to cesta ke stabilitě. Prostě se spolehni na distribuci.jadro sem nemyslel kompilovat, ale pouzit jiz pripravene z UbuntuMainlineBuilds (to bezne pouzivam na NB s SecureBoot, protoze distribucni jadro ma umyslne/umele omezene aby s SecureBoot NEsla hibernace), ty 2x3TB mam ovsem na desktopu kde nehibernuju takze nutnost to tam neni...
A to nebyl convert (nebo jak se to jmenuje) jako prvně, jo? Prostě testovací instalace, vytvořil jsi nějaké subvols, zkusmo nakopíroval nějaká data a neklaplo to, jo?
mdadm
/ dmraid
nesrovnatelně horší problém než na Btrfs. Takže: S čím srovnáváš? Jaký máš baseline? Co přesně je ten nedostižný ideál bez write hole? Snad leda ZFS, ale Btrfs už taky dávno umí raid5/6
konfigurace bez write hole.mdadm
a dmraid
nejsou production-ready? Ano, s tím souhlasím, jenže spousta uživatelů je (naivně) používá, jako by byly production-ready.raid1c3
(a raid1c4
, ač v praxi není potřeba) už write hole na raid5/6
datech neexistuje; stačí mít raid5
/ raid6
data v kombinaci s raid1
/ raid1c3
metadaty a celý pseudo-problém zvaný write hole je definitivně pryč.mdadm
/ dmraid
, kde write hole hrozí mnohem akutněji?Sorry jako, ale celý anti-Btrfs FUD už je výsostně trapný a ohraný. Možná tak před 5 lety to bylo skoro i vtipné, ale dnes už si říkám: Nebylo by načase, aby FUDisté trochu dospěli a přestali opakovat nesmysly?
takze u zakaznika kde mam RAID6 nasazeni ani teoreticky nehrozi, nicmene pro nasazeni me kdy by slo bud o 1 disk, nebo raid1 s 2 disky je to samozrejme irelevantni, nicmene jeste s 3 pokusem s btrfs asi stejne pockam
Zákazník by se měl raději obrátit na nějakou konkurenci, která chápe, jak tenhle svět funguje.
Skvělé početní k tématu je tohle vlákno. Pravda, je dlouhé, ale stojí za to. Uživatel tam viní Btrfs z kdečeho. („Why is Btrfs so unstable?”) Jenže pak najednou přijde otázka roku: …is the drive that this file system is on the same drive as in this reported thread?
Jenže uživatel měl dojem, že s Ext4 přece všechno „fungovalo“. (A že na vině musí nutně být software, nikoliv jeho disk.) Inu, pokud někdo pod pojmem „fungovat“ rozumí „potichu ztrácet data a nic nehlásit“ (jako Ext4), to je potom těžké.No, jenže tento přístup nemají jen uživatelé na PC, v realitě jsem narazil na to, že někdo tvrdil, že se dělá zbytečně moc revizí, protože potom se tam nalezne více chyb... No ano, to je účel. Nebo na jednoho známého, který když před x lety na moji radu zapnul smart testy, tak prohlásil, že ty testy ničí disky, protože už mu jich x označilo jako vadné a nikdy před tím tolik vadných disků neviděl. Je to marný, je to marný, je to marný.
Přesně tak.
Nedá se nic dělat. Počítačová demence (nebo zkrátka myšlení zaseknuté v době před 10 až 20 lety) postihuje stále častěji i jinak chytré a vzdělané lidi.
Například jeden můj známý měl cca v roce 2018 na výběr mezi ECC a non-ECC RAM, protože jeho motherboard podporoval obojí. Koupil si „samozřejmě“ non-ECC, protože ECC „přece“ všeho všudy jenom otravuje uživatele různými „zbytečnými“ chybami a restarty, které na non-ECC „přece“ „normálně“ nejsou, protože non-ECC „prostě funguje“ a neotravuje „normálního“ uživatele „zbytečnostmi“.
Ach jo. Kdyby tak blbost nadnášela…
Mně například ECC zachránil už několikrát domácí server a data na něm. Problém odhalil včas. Dřív, než selhávající paměť zničí Btrfs nebo něco dalšího. Jenže podle některých je lepší o takovém problému vůbec nevědět, spoléhat na šťastnou náhodu a hrát ruskou ruletu s vlastními daty.
S Btrfs je to podobné. Místo aby měli uživatelé radost, že Btrfs přistihl jejich totálně rozbitá zařízení při ztrátách dat a že odteď budou mít lepší přehled o tom, v jakém stavu jsou jejich data a zálohy, najde se pořád ještě tu a tam tvrzení, že nejlepším řešením je pštros s hlavou v písku.
Mně například ECC zachránilJen takové dotaz. Jak ti to v dmesg hlásilo "charon kernel: [Hardware Error]:", tak taková hláška by se ti tam objevovala i pokud by se nejednalo o ECC RAM?
domácí serverKlobouk dolů. 128GB RAM, 32 CPUs, on the AMD GPU and also on the NVidia eGPU, to je slušnej domácí servřík.
Jen takové dotaz. Jak ti to v dmesg hlásilo "charon kernel: [Hardware Error]:", tak taková hláška by se ti tam objevovala i pokud by se nejednalo o ECC RAM?
Ne. Vůbec by se neobjevovalo a nenápadně a potichu by to „vytvářelo“ poškozená data.
Na Btrfs by to s velkou pravděpodobností znamenalo, že by pak najedou někde neseděly checksumy a poškodilo by to (v nejhorším případě) celý filesystém. Podle typu redundance a fáze kešování, ve které k poškození dojde, by se to pak dalo (nebo taky nedalo) obnovit z redundance.
Na jiných filesystémech by to prostě nenápadně žralo a poškozovalo moje data a dokud by se to nedotklo (většinou checksumovaných) metadat, vůbec bych nevěděl, že se to děje.
No a pokud by to postihlo anonymní paměť, tj. haldu nebo zásobník nějakého procesu, proces by buď někam nenápadně psal zničená data, nebo by tu a tam z nevysvětlitelných příčin odletěl.
Klobouk dolů. 128GB RAM, 32 CPUs, on the AMD GPU and also on the NVidia eGPU, to je slušnej domácí servřík.
On je to hlavně taky navíc desktop. Například NVidia eGPU se dá svěřit do výhradní péče KVM virtuálním strojům a může mít své vlastní monitory atd. a fungovat docela autonomně. Celkem tam jsou tři 5k monitory, z nichž každý se interně tváří jako dva monitory 2560×2880, takže ta paměť a dobrá grafika se občas hodí.
Využívám ho málo. Většinou u něj vysedávám a chlastám. A dívám se na sněžné opice, které jsou v 5k. (Jiného 5k obsahu je pořád poměrně málo. V roce 2016, když jsem kupoval 5k monitory, jsem si říkal, že tak do roka bude YouTube v 5k. Což se až tak úplně nestalo.)
Virtuály nepronajímám, ale hojně si s nimi hraju.
Jestli jsem programátor, to nevím.
This will checksum the data while at rest in memory, and verify it before writing to disk, thus reducing the window of vulnerability from a memory error.
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.