abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×

včera 00:33 | Zajímavý článek

Správce nástroje curl Daniel Stenberg na GitHubu průběžně vytváří svou novou knihu Uncurled, v níž shrnuje své dlouhodobé zkušenosti s údržbou open-source projektu: od odpozorovaných pouček po vtipné a ne až tak vtipné příklady e-mailů od uživatelů.

Fluttershy, yay! | Komentářů: 8
včera 00:22 | Nová verze

Byla vydána nová major verze 25.0 programovacího jazyka Erlang (Wikipedie) a související platformy OTP (Open Telecom Platform, Wikipedie). Přehled novinek v příspěvku na blogu.

Ladislav Hagara | Komentářů: 3
včera 00:11 | Nová verze

Deno (Wikipedie), běhové prostředí (runtime) pro JavaScript a TypeScript, bylo vydáno ve verzi 1.22. Přehled novinek v poznámkách k vydání.

Ladislav Hagara | Komentářů: 0
18.5. 18:22 | Nová verze

Společnost Red Hat oznámila vydání Red Hat Enterprise Linuxu (RHEL) 9.0. Vedle nových vlastností a oprav chyb přináší také aktualizaci ovladačů a předběžné ukázky budoucích technologií. Podrobnosti v poznámkách k vydání.

Ladislav Hagara | Komentářů: 7
18.5. 14:00 | Komunita

Lars Knoll oznámil, že po 25 letech v ekosystému Qt, z toho 22 let pracující pro různé společnosti vlastnící Qt, odchází ze společnosti The Qt Company do malého norského startupu.

Ladislav Hagara | Komentářů: 7
18.5. 13:22 | Zajímavý projekt

Na Kickstarteru běží kampaň na podporu mini ITX desky Turing Pi 2 Cluster Computer. Vložením 4 výpočetních modulů, podporovány jsou Raspberry Pi 4, Turing RK1 a Nvidia Jetson, lze získat 4uzlový cluster. Cena desky je 219 dolarů.

Ladislav Hagara | Komentářů: 2
18.5. 10:00 | Pozvánky

Spolek OpenAlt zve příznivce otevřených řešení a přístupu na 198. brněnský sraz, který proběhne v pátek 20. května tradičně od 18 hodin v Pivovarské restauraci Moravia.

Ladislav Hagara | Komentářů: 2
18.5. 07:00 | Zajímavý software

Byla vydána nová verze 0.25 herního enginu Fyrox, původně rg3d. Přehled novinek s kódy, náhledy i videi v příspěvku na blogu.

Ladislav Hagara | Komentářů: 1
18.5. 00:11 | Nová verze

Multiplatformní audio přehrávač Qmmp (Wikipedie) byl vydán ve verzi 2.1.0. Z novinek lze zmínit například podporu XDG Base Directory Specification.

Ladislav Hagara | Komentářů: 0
17.5. 23:22 | Komunita

Letošní konference LibreOffice proběhne 28. září až 1. října v Bolzanu. The Document Foundation hledá přednášející.

Zdeněk Crhonek | Komentářů: 0
Na sociálních sítích nebo jiných webových diskuzích vystupuji pod
 (59%)
 (16%)
 (25%)
Celkem 287 hlasů
 Komentářů: 26, poslední dnes 15:03
Rozcestník

Test linuxových súborových systémov 2022

11.5. 08:00 | Přečteno: 1388× | linux | Výběrový blog | poslední úprava: 11.5. 08:01

Uplynulo už desať rokov od chvíle, čo som naposledy vyberal súborový systém. Vtedy zvíťazil ext4, ktorý som odvtedy spokojne používal. Množia sa ale v diskusiách tu aj inde pohrdlivé komentáre na túto konzervatívnu voľbu.

Namiesto prehlbovania hádok, kde si každý bude trvať na svojom, rozhodol som sa podrobiť súčasný stav testovaniu a potom výsledky zverejniť. Plne očakávam, že tým započnem novú hádku, kde si každý bude naďalej trvať na svojom. Ale nepredbiehajme.

Pre niekoho môže byť prekvapením, že súborové systémy si navzájom nie sú rovné a v niektorých čiastkových parametroch sa môžu líšiť až rozdielom dvoch rádov. To čo jeden zvládne za prijateľnú minútku, inému môže trvať viac než hodinu. Väčšina používateľov ale výberu súborového systému nevenuje vôbec žiadnu pozornosť, aj keď sa jedná o vec, ktorá by jeho user experience mohla zlepšiť až rádovo.

Na testovanie som si z firemného vrakoviska požičal HP ProLiant MicroServer Gen8, vložil do neho 2 disky pre systém a archív s testovacími dátami, a ďalšie 2 disky pre samotné testovanie súborových systémov.

Ako operačný systém poslúžilo Gentoo, v ktorom bolo nainštalované len nutné minimum. Každý súborový systém som testoval v troch fázach.

V prvej fáze som súborový systém zaplnil dátami zhruba na 80% a v tejto testovacej populácii skúšal základné operácie, ktoré ako administrátor občas robím - zisťoval obsadené miesto v adresároch (príkaz du), hľadal súbory cez find, kontroloval súborový systém cez fsck a potom časť dát (asi štvrtinu) mazal (rm).

V druhej fáze som súborové systémy postupne podrobil štandardizovaným benchmarkom iozone, bonnie a dbench.

V tretej fáze som simuloval bit rot a sledoval, ako sa to prejaví na dátach.

Medzi jednotlivými testami som súborový systém vždy odpojil (umount) a potom znova pripojil (mount), čím sa efektívne vyprázdnili cache a buffery k nemu sa viažuce.

Ďalšie technické detaily sú nižšie v článku, ale teraz už poďme k tabuľke s výsledkami, než Vás unudím na smrť.

 

Tabuľka výsledkov

Jednotlivé čiastkové testy sú na vodorovnej osi a zoradené sú v poradí, v akom boli postupne vykonávané.

Súborové systémy sú v riadkoch tabuľky a zoradené sú v poradí, v akom ich zobrazuje make menuconfig pri zostavovaní linuxového jadra.

Zvýraznené sú najlepšie a najhoršie hodnoty v rámci daného testu, ako aj to, či súborový systém v teste skončil v lepšej polovici, alebo v horšej (t.j. či je výsledok nad mediánom, alebo pod ním). Výnimkou je test bit rot, tam som presvedčený, že akýkoľvek výsledok iný než nula je nedostatočný a rôzne počty poškodených súborov sú len vecou náhody.

Ak k jednotlivým testom priradíme subjektívne váhy a rozdáme body, poradie môže vyzerať takto:

Obe výsledkové tabuľky si môžete stiahnuť tu (formát LibreOffice Calc) a zadefinovať si svoje vlastné váhy, aby ste si našli súborový systém Vám na mieru (alebo aby ste dokázali ďalej obhajovať toho svojho favorita).

 

Moje hodnotenie

ext2/ext3

Ext2/ext3 je súborový systém, ktorý neurazí, ale ani nikoho neoslní. Mimo /boot oddielu sa dnes už asi príliš nevidí. Pre mňa je prekvapením, že ext3 je v mnohom rýchlejší, aj keď by sa od ext2 mal líšiť len prítomnosťou žurnálu. Jeden by si pomyslel, že pridané starosti so žurnálom výkon skôr zabrzdia. Možno sa mu od programátorov linuxového jadra dostáva viac optimalizácií.

Ext3 síce obhájil tretie miesto, ale mladší konkurenti mu už dýchajú na päty.

ext4

Súborový systém ext4 zostáva naďalej dobrou konzervatívnou voľbou, ktorá sa vo všetkých testovaných parametroch ako jediná udržala v hornej polovici. Áno, chýbajú mu checksumy a podpora pre viac diskov, ale možno práve vďaka svojej jednoduchosti môže excelovať v ostatných parametroch.

V teste si zaslúžene vysúťažil druhé miesto.

reiserfs3

Časy súborového systému od Reisera sú asi nenávratne preč. Verzia 4 zmizla z aktuálneho jadra, zostáva len verzia 3, pravdepodobne z legacy dôvodov, rovnako ako ext2/ext3, či jfs.

jfs

Ťažko hľadám nejaké pozitíva jfs. Najdlhšie mu trvalo, kým sa na neho skopírovali dáta, najdlhšie mu trvalo, kým sa z neho zmazali. V syntetických benchmarkoch prevažne pohorel. Možno má nejaké špecifické žiadané vlastnosti, ale výkon k nim rozhodne nepatrí.

xfs

Xfs bol jediný súborový systém, ktorý konzistentne dokázal zamrznúť v iowait krátko po začiatku prvého kroku (kopírovanie dát). V použitom linuxovom jadre 5.15.32-r1 podľa všetkého je nejaká zašmodrchaná chyba, pretože s jadrom 4.9.309-r1 sa odrazu všetko plynulo rozbehlo. Keď som hľadal, či niekto takúto chybu do jadra nehlásil, našiel som celý rad ďalších bugov, ktoré rozhodne nemaľovali obrázok stabilného súborového systému.

nilfs2

Nilfs2 je súborový systém, ktorý najlepšie znášal záťaž generovanú benchmarkom dbench (mnoho súbežne bežiacich požiadaviek). V ostatných parametroch nebol žiadnou hviezdou, napriek tomu už teraz chystám jeho test v súvislosti s databázou PostgreSQL.

f2fs

Napriek tomu, že je určený pre iný typ záznamového média (flash karty), f2fs si na rotačných diskoch viedol prekvapivo dobre. V benchmarku bonnie uhral dokonca prvé miesto. Keby som robil s Raspi, nad f2fs by som rozhodne aspoň uvažoval.

btrfs

Vyzývateľ s ťažko vysloviteľným názvom už v minulosti robil veľké vlny. Doteraz som bol presvedčený, že jeho checksumy a zložitosť musia zákonite znamenať mizerný výkon. Opak je ale pravdou, btrfs zvíťazil v najväčšom počte testov. Nejaké slabšie stránky oproti ext4 stále má, ale už sa nedivím, že je miláčikom nezanedbateľnej časti publika. Asi sa jeho fanúšikom pomaly stanem aj ja.

Rozhodne zaujímavo vyzerajú jeho samoopravné schopnosti, ako aj výborné výsledky v benchmarku dbench. V tých len málo zaostával za nilfs2. Takže aj ja sám, ešte pred týždňom skeptik, sa chystám btrfs naštudovať viac do hĺbky, aby som ho v dohľadnej dobe mohol nasadiť do ostrej prevádzky.

Btrfs sa neodškriepiteľne a s dostatočným predstihom stáva víťazom testu.

zfs

Zfs som pôvodne ani nechcel do testu dávať, pretože v linuxovom jadre sa jeho ovládač nenachádza. Napriek tomu som to spravil, len aby som si potvrdil všetky negatívne stereotypy, ktoré som mylne pripisoval btrfs. Zfs je zbytočne komplikovaný, je pomalý a mrhá priestorom na disku. Jeho jedinou svetlou stránkou je schopnosť ustáť bit rot.

Potom, čo sa zfs a btrfs dostali pod tú istú firmu, predpokladám a dúfam, že sa vývoj sústredí skôr na ten druhý, ktorý má rozhodne nádejnejšiu budúcnosť.

 

Nabudúce uvidíte...

Na ceste je nový databázový server, ktorý budeme nasadzovať v lete. Rád by som aj na ňom zbehol podobné testy, tentoraz na SSD diskoch a s dôrazom na výkon PostgreSQL (v14.2). Nejaké nápady, ako benchmarkovať PostgreSQL?

 

To je k výsledkom testu všetko, nasledujú nezaujímavé technické detaily:

 

 

 

Popis testov

populate

Primárnym cieľom bolo vytvoriť dostatočne veľkú populáciu testovacích dát. Sekundárnym cieľom bolo simulovať rýchlosť, akou je možné migrovať staré dáta na nový disk.

Zdrojom testovacích dát bol nekomprimovaný archív na systémovom disku. Odtiaľ sa rozbalili na testovací disk (resp. testovacie diskové pole RAID1). Testovacie dáta pozostávali z 2,6-milióna súborov v 1024 adresároch, spolu 758,5GB dát.

Výsledok testu je vyjadrený časom v minútach. Menej minút je lepší výsledok.

df used

Cieľom bolo odmerať efektivitu uloženia rovnakej množiny údajov na rôznych súborových systémoch.

Výsledok testu je vyjadrený v gigabajtoch. Menej GB je lepší výsledok.

du

Cieľom bolo zistiť, ako rýchlo je možné spočítať, koľko miesta zaberá niektorý z adresárov testovacej populácie.

Výsledok testu je vyjadrený časom v sekundách. Menej sekúnd je lepší výsledok.

find

Cieľom bolo zistiť, ako rýchlo je možné v testovacej populácii nájsť súbory, ktoré vyhovujú zadanej podmienke.

Výsledok testu je vyjadrený časom v sekundách. Menej sekúnd je lepší výsledok.

fsck

Cieľom bolo odmerať, ako dlho trvá operácia fsck spustená preventívne (t.j. ak sa neočakáva, že by súborový systém mal byť poškodený). Fsck bol spúšťaný s parametrami force a read-only, resp. no tam, kde to bolo možné.

Výsledok testu je vyjadrený časom v sekundách. Menej sekúnd je lepší výsledok.

rm

Cieľom bolo zistiť, ako rýchlo je v danom súborovom systéme možné vymazať veľké množstvo súborov. Nejednalo sa o mazanie za účelom nenávratnej skartácie (napr. shred), ale len o odstránenie súborov a uvoľnenie miesta, ktoré zaberali, pre iné využitie.

Výsledok testu je vyjadrený časom v sekundách. Menej sekúnd je lepší výsledok.

iozone

Cieľom bolo zistiť rýchlosť behu benchmarku iozone v plne automatickom móde. Ďalšie výstupy tohto benchmarku presahujú rámec tohto dokumentu a neboli predmetom testu.

Výsledok testu je vyjadrený časom v sekundách. Menej sekúnd je lepší výsledok.

bonnie

Cieľom bolo zistiť rýchlosť behu benchmarku bonnie s parametrom -s 32768 (32 GB, číslo zvolené tak, aby bolo niekoľkonásobne vyššie než dostupná RAM).

Výsledok testu je vyjadrený časom v minútach. Menej minút je lepší výsledok.

dbench throughput a max_latency

Cieľom bolo zistiť hrubý výkon a spozdenie pri simulovanej záťaži tvorenej 64-mi súbežne bežiacimi procesmi benchmarku dbench.

Výsledok testu throughput je vyjadrený megabajtami za sekundu. Vyššie číslo znamená lepší výsledok.

Výsledok testu latency je vyjadrený časom v sekundách. Menej sekúnd je lepší výsledok.

bit rot

Cieľom bolo zistiť, ako si poradí súborový systém v prípade, že na disku sú chybne uložené niektoré bity.

K tomuto účelu bolo náhodne zmenených 50 bitov na jednom disku a 50 iných bitov na druhom. V prípade linuxového SW RAID1 bol ten následne znova zostavený. Potom bol súborový systém opätovne pripojený.

Výsledok testu je vyjadrený počtom súborov, ktoré boli stratené, alebo bol ich obsah pozmenený (podľa ich dopredu známeho hashu). Menší počet stratených súborov predstavuje lepší výsledok.

 

Testovací hardvér

HP ProLiant MicroServer Gen8 v konfigurácii:

Žiaden z diskov podľa môjho najlepšieho vedomia nebol so švindľovým zápisom (SMR).

Poznámka: * v prípade BTRFS a ZFS ich interný RAID1 z dvoch diskov, v ostatných prípadoch obyčajný linuxvý SW RAID1.

 

Použitý softvér

Ako operačný systém bola použitá čistá inštalácia Gentoo Linuxu s týmito verziami balíčkov (vymenované len tie, ktoré sú k testu relevantné):

       

Hodnocení: 100 %

        špatnédobré        

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

Komentáře

Vložit další komentář

Max avatar 11.5. 08:48 Max | skóre: 70 | blog: Max_Devaine
Rozbalit Rozbalit vše Re: Test linuxových súborových systémov 2022
Do xfs se tlačí šíleně změn. RedHat na něm staví. Postupně se rozloučili s btrfs a začali hodně vyvíjet xfs, asi kvůli jejich Stratis. Nezkoumal jsem patche v jádře, jen tlumočím informace z jiných zdrojů.
Tím chci tedy říci, že hodně novinek bude zvyšovat pravděpodobnost nějakých regresí, nebo chyb. Držet se tedy něhjakého stable kernelu je tedy rozumnější.
Zdar Max
Měl jsem sen ... :(
AraxoN avatar 11.5. 09:32 AraxoN | skóre: 46 | blog: slon_v_porcelane | Košice
Rozbalit Rozbalit vše Re: Test linuxových súborových systémov 2022
Jadro 5.15.32 je v gentoo označené ako stable. Kernel.org už takto označuje aj 5.17.6.

Ešte mi na testovacej zostave dobieha jeden test, potom sa pustím do hľadania toho xfs bugu.
Max avatar 11.5. 09:53 Max | skóre: 70 | blog: Max_Devaine
Rozbalit Rozbalit vše Re: Test linuxových súborových systémov 2022
Stable je to, co má v sobě Debian nebo RHEL like :D.
Zdar Max
Měl jsem sen ... :(
11.5. 10:07 Radek Podgorny | skóre: 16
Rozbalit Rozbalit vše Re: Test linuxových súborových systémov 2022
skvele! ...diky za zverejneni (a samozrejme za test samotny)!

...uz se tesim na ssd verzi.
11.5. 13:25 henk | skóre: 1 | blog: henkovi_prdy
Rozbalit Rozbalit vše Re: Test linuxových súborových systémov 2022
+1
11.5. 10:40 anti-btrfs-fanatik
Rozbalit Rozbalit vše btrfs vs bit rot - jeste pred rokem a pul to bylo hodne spatne
Diky moc za porovnani!

Nezda se mi ten bit rot u btrfs - kdysi to bylo hodne spatne:

https://unixsheikh.com/articles/battle-testing-zfs-btrfs-and-mdadm-dm.html

Muzes to prosim dukladne overit?

Jo a docela zajimavy by byl test Stratis jak pise Max - chova se to "trochu" jinak nez cisty XFS, takze nelze pouzit vysledky mereni XFS.
AraxoN avatar 11.5. 11:44 AraxoN | skóre: 46 | blog: slon_v_porcelane | Košice
Rozbalit Rozbalit vše Re: btrfs vs bit rot - jeste pred rokem a pul to bylo hodne spatne
Testoval som čisto len bit rot, teda preklopenie niekoľkých náhodných bitov na fyzickom médiu. S tým si btrfs a zfs poradili rovnako dobre, na jednotku. Btrfs o každom nájdenom prípade písal do syslogu, zfs nebol taký zhovorčivý, ale počíta sa výsledok a ten bol 100%.

Iné druhy porúch predmetom testu neboli. Násilné odpájanie diskov či simulovaná strata napájania nie je niečo, čo by som chcel skúšať. Predpokladám, že nedokončené zápisy budú problémom pre hocijaký súborový systém.
11.5. 22:37 : 00.000
Rozbalit Rozbalit vše Re: btrfs vs bit rot - jeste pred rokem a pul to bylo hodne spatne
Vzhledem k tomu, ze dneska jede vsechno virtualizovane pod nejakym hypervizorem - tedy vcetne (predevsim?) pristupu k blokovym zarizenim - tak se domnivam, ze takove "virtualni vytazeni kabelu" je mozna i castejsi zalezitost nez bit rot.

Dalsi kupa zarizeni jsou natolik mobilni, ze lide u nich restartuji vytazenim kabelu ze zdi - tam pak ta konzistence v pripade nedokoncenych zapisu po vypadku napajeni hraje dulezitou roli.

Nezkousel jsem, ale krome ZFS (a mozna uz i btrfs?) log-based filesystemy (nilfs2, f2fs, ...) maji velkou sanci, ze naopak nebudou mit zadny problem s nedokoncenymi zapisy.
Jendа avatar 11.5. 11:57 Jendа | skóre: 77 | blog: Jenda | JO70FB
Rozbalit Rozbalit vše Re: Test linuxových súborových systémov 2022
Rozhodne zaujímavo vyzerajú jeho samoopravné schopnosti
No ale jenom v případě poškození dat na disku. Chyby v RAM (pokud nemáš ECC, nebo ti softwarový bug něco poškodil) vedoucí na poškození struktur FS jsou pro změnu fatální na rozdíl od jiných FS, protože u btrfs je fsck experimentální a u ZFS není vůbec.

To df used by bylo zajímavé dělat nějak podrobněji, protože nevím jestli jenom z used se dá vykoukat efektivita, může se třeba stát, že used+free < kapacita disku, ne? Takže ideálně tam potom zkusit zapisovat další data a koukat kolik jich tam doopravdy narvu.

Ten výkon při obsazování si myslím že bude dost ovlivněn i zdrojem dat - mnohem lepší by bylo generovat je synteticky.
Řešení inflace: přidat do spotřebního koše Bitcoin
AraxoN avatar 11.5. 12:48 AraxoN | skóre: 46 | blog: slon_v_porcelane | Košice
Rozbalit Rozbalit vše Re: Test linuxových súborových systémov 2022
Vyskúšal by som aj ďalšie failure módy, ale tie sa ťažko simulujú. Ako nasimuluješ chyby v RAM? Priložíš k serveru gama žiarič? A ako zabezpečíš rovnaké podmienky pre všetky testy? Mojou metódou som na každom z diskov "odhnil" práve 50 bitov, čo bolo dosť na to, aby to trafilo nejaké dáta, ale pravdepodobne nie metadáta či inody.

Df used som zaradil, lebo ma to takmer nič nestálo. Kým iné testy trvali rádovo minúty, tento bol hotový hneď. Beztak ide o číslo, ktoré reportuje samotný súborový systém. Keby tam hádzal prikrášlené čísla, nemal by som to ako poznať.

Všetkým týmto trom veciam (df used, fsck a bit rot) som nakoniec vo výsledkoch aj tak priradil nízke váhy. Išlo mi skôr o výkon v bežnej prevádzke.

Zdroj dát bol pre všetky súborové systémy rovnaký, čítaný z rovnakého nekomprimovaného archívu, ktorý sa nachádzal na iných dvoch diskoch (SW RAID1), ktoré neboli predmetom testu. Nemyslím si, že by tento zdroj dát spôsoboval rozdiel vo výkonoch jednotlivých súborových systémov.
11.5. 12:12 Mayhem
Rozbalit Rozbalit vše Re: Test linuxových súborových systémov 2022
Porovnavat reiser3 a btrfs je jako porovnavat dvouvalce a osmivalec. Srovnani ale jiste zajimave. Dekuji za clanek.
AraxoN avatar 11.5. 12:59 AraxoN | skóre: 46 | blog: slon_v_porcelane | Košice
Rozbalit Rozbalit vše Re: Test linuxových súborových systémov 2022
On aj ten dvojvalec má niekde zmysel, napríklad v motorke. Narozdiel od reiser3, ktorý zmysel nedáva už nikde.
11.5. 13:11 trekker.dk | skóre: 72
Rozbalit Rozbalit vše Re: Test linuxových súborových systémov 2022
ext4 ... chýbajú mu checksumy
Dat. Checksumy metadat to má.
Quando omni flunkus moritati
AraxoN avatar 11.5. 13:56 AraxoN | skóre: 46 | blog: slon_v_porcelane | Košice
Rozbalit Rozbalit vše Re: Test linuxových súborových systémov 2022
Áno, nevyjadril som sa presne. Otázka je, čo spraví, keď mu checksum metadát nesedí? Vie nejak požiadať SW RAID1, aby mu vrátil rovnaký blok, ale z druhého disku?
11.5. 16:03 trekker.dk | skóre: 72
Rozbalit Rozbalit vše Re: Test linuxových súborových systémov 2022
Vie nejak požiadať SW RAID1, aby mu vrátil rovnaký blok, ale z druhého disku?

Tipnul bych si, že tohle rozhraní mezi filesystémem a blokovým zařízením momentálně neumí
Quando omni flunkus moritati
AraxoN avatar 12.5. 07:38 AraxoN | skóre: 46 | blog: slon_v_porcelane | Košice
Rozbalit Rozbalit vše Re: Test linuxových súborových systémov 2022
To bola rečnícka otázka. Tiež si myslím, že to nie je možné. K čomu potom ale je taký checksum? Človek sa s istotou dozvie, že to má rozbité, ale pôvodný stav s tým neobnoví.
12.5. 10:19 Manažer
Rozbalit Rozbalit vše Re: Test linuxových súborových systémov 2022
Presne takhle hloupe se choval jeste pred dvema lety btrfs. Proste mel checksumy ale automaticky neopravil nic a vzdy pouze selhal. A dokonce tehda to bylo mnohem horsi, protoze se checksumy nekontrolovaly pri kazdem cteni (dnes se uz kontroluji?) ale teprve pri spusteni scrub (tzn. treba pouze jednou za tyden ci dele). Tehda clovek musel mit btrfs s RAID1 aby mel redundanci (ostatni "redundantni" RAID tehda bit rot opravovat neumely i proste, ze teoreticky by to mely umet).

Dle blogoveho zapisku si nejsem jisty, zdali btrfs byl provozovany v RAID1 nebo zdali ten bit rot byl detekovany az pri spusteni scrub. Nebo jak se to vlastne chovalo pri testovani.

Nejake detaily ohledne chovani aktualniho btrfs by nebyly?
12.5. 10:20 Manažer
Rozbalit Rozbalit vše Re: Test linuxových súborových systémov 2022
*redundanci jsem myslel "...rendundanci a scrub tedy mohl opravit data pokud nesedel checksum".
AraxoN avatar 12.5. 10:52 AraxoN | skóre: 46 | blog: slon_v_porcelane | Košice
Rozbalit Rozbalit vše Re: Test linuxových súborových systémov 2022
Išlo o btrfs na dvoch diskoch, s profilom RAID1 pre dáta aj metadáta.

Test prebiehal takto:
  1. odpojiť fs (umount)
  2. stopnúť raid (mdadm --stop)
  3. bit rot (náhodne zmenených 50 bitov na jednom disku a iných 50 bitov na druhom disku (low level utilita vlastnej výroby, jazyk C)
  4. spustiť raid (mdadm --assemble)
  5. pripojiť fs (mount)
  6. spočítať hash všetkých súborov (find /mnt/test -type f -print | sort | xargs md5sum > /tmp/hash.txt)
  7. porovnať s referenčným zoznamom súborov a ich hashmi (diff)
V prípade btrfs a zfs samozrejme bez krokov 2. a 4., ale nikde žiaden fsck. Btrfs a zfs dokázali chybu nájsť a transparentne opraviť. Používateľ btrfs sa to dozvie iba zo syslogu, zfs o tom neinformuje vôbec.
12.5. 13:51 Peter Golis | skóre: 63 | blog: Bežné záležitosti | Bratislava
Rozbalit Rozbalit vše Re: Test linuxových súborových systémov 2022
zfs o tom neinformuje vôbec
Už to vyhodili z výstupu príkazu zpool status ? Vídaval som tam pri podobných testoch.
AraxoN avatar 12.5. 14:18 AraxoN | skóre: 46 | blog: slon_v_porcelane | Košice
Rozbalit Rozbalit vše Re: Test linuxových súborových systémov 2022
Tam to možno aj bolo, ale ja som to tam nehľadal. On ten zfs je viac než len súborový systém a ja som nemal čas to celé študovať. Takže ďalej než po vytvorenie fs, mount a umount som sa s ním nezoznamoval.
12.5. 19:42 Manažer
Rozbalit Rozbalit vše Re: Test linuxových súborových systémov 2022
Dekuji za upresnujici info.

Takze vlastne byl otestovan ten jediny scenar, ktery jako jediny fungoval predtim (i kdyz tenkrat fungoval pouze napul; avsak nyni, zda se, funguje na 100% a nikoliv pouze napul).

Myslim, ze bez RAID1 (tzn. at jiz bez jakehokoliv RAID ci s jakymkoliv RAID jinym nez RAID1) to bude stejne spatne jako tenkrat - tzn. btrfs akorat hodi chybu cteni a to mozna pouze pri scrub a ne pri jakemkoliv beznem cteni. Nevi nekdo jaky je aktualni stav?
Jendа avatar 12.5. 10:29 Jendа | skóre: 77 | blog: Jenda | JO70FB
Rozbalit Rozbalit vše Re: Test linuxových súborových systémov 2022
Můžeš to pole sestavit degradované s tím druhým diskem. Pokud víš který z těch dvou disků to byl, tak můžeš blok snadno transplantovat z toho dobrého (dd ... skip= ofs=). Asi by šlo nějak i zjistit kterému souboru ten blok patří (inverzně to jde) a opravit přímo ten soubor.
Řešení inflace: přidat do spotřebního koše Bitcoin
AraxoN avatar 12.5. 11:06 AraxoN | skóre: 46 | blog: slon_v_porcelane | Košice
Rozbalit Rozbalit vše Re: Test linuxových súborových systémov 2022
Áno, to mi nenapadlo. Ale to už sa dostávame do režimu data recovery a všetko ostatné (bežná prevádzka) sa musí stopnúť.
cbrpnk avatar 11.5. 13:33 cbrpnk | skóre: 4 | blog: bl0gium
Rozbalit Rozbalit vše Re: Test linuxových súborových systémov 2022
Ja mam povacsine JFS vsade. Nesklamal nikdy.
AraxoN avatar 11.5. 13:52 AraxoN | skóre: 46 | blog: slon_v_porcelane | Košice
Rozbalit Rozbalit vše Re: Test linuxových súborových systémov 2022
Najvyšší čas vyskúšať niečo iné. Alebo používaš nejakú unikátnu vlastnosť jfs, ktorú iné súborové systémy nemajú?
11.5. 18:16 Peter Golis | skóre: 63 | blog: Bežné záležitosti | Bratislava
Rozbalit Rozbalit vše Re: Test linuxových súborových systémov 2022
ZFS má SCRUB, ten skontroluje konzistenciu zapísaných dát podobne ako FSCK u iných FS. Síce to beží na pozadí, ale odpamätá si kedy bežal posledne a koľko trval. Resp, má aj RESILVER pre kontrolu dát zapísaných od poslednej kontroly.

Alebo to už vyhodili?
Jendа avatar 11.5. 20:31 Jendа | skóre: 77 | blog: Jenda | JO70FB
Rozbalit Rozbalit vše Re: Test linuxových súborových systémov 2022
ZFS má SCRUB, ten skontroluje konzistenciu zapísaných dát podobne ako FSCK u iných FS.
Ne, zkontroluje pouze checksumy.
Řešení inflace: přidat do spotřebního koše Bitcoin
11.5. 21:32 Peter Golis | skóre: 63 | blog: Bežné záležitosti | Bratislava
Rozbalit Rozbalit vše Re: Test linuxových súborových systémov 2022
A tie asi tak pokrývajú čo, nebude to náhodou konzistencia prečítaných dát a metadát ktoré boli pred tým zapísané aj s tými checksummami?

To je IMO viac ako robí fsck na zastaraných FS (ak nie sú kryté checksumami na doplnkovej vrstve).
Jendа avatar 11.5. 23:03 Jendа | skóre: 77 | blog: Jenda | JO70FB
Rozbalit Rozbalit vše Re: Test linuxových súborových systémov 2022
Ne, nepokrývají, já jsem třeba chybu dat na disku neviděl ještě nikdy (teda alespoň tam kde mám btrfs, takže bych ji detekoval), ale struktura se kazí v jednom kuse, IMHO jak HW chybami (non-ECC paměť) tak SW chybami.
Řešení inflace: přidat do spotřebního koše Bitcoin
AraxoN avatar 12.5. 07:56 AraxoN | skóre: 46 | blog: slon_v_porcelane | Košice
Rozbalit Rozbalit vše Re: Test linuxových súborových systémov 2022
To je zaujímavé... tá štruktúra sa Ti kazí na btrfs? Pri akej príležitosti? Strata napájania?

Ja sa pohybujem v serverovej oblasti a musím poklopať, že naposledy sa mi adresárová štruktúra rozpadla pred 15-timi rokmi, na reiserfs3. Podozrenie na bit rot sporadicky nájdem, aj keď mechanizmus vzniku zostáva neodhalený (t.j. neviem, či vznikol v RAM, na disku, alebo v aplikácii). Máme vcelku slušný sklad súborov, ktorý sme historicky prevádzkovali na RAID5 a ext4. K súborom sa zároveň do SQL databázy ukladajú ďalšie údaje, vrátane hashu (RIPEMD160). Na moje prekvapenie, keď som to jedného dňa nechal skontrolovať, v jednotkách prípadov to nesedelo.
Jendа avatar 12.5. 10:36 Jendа | skóre: 77 | blog: Jenda | JO70FB
Rozbalit Rozbalit vše Re: Test linuxových súborových systémov 2022
To je zaujímavé... tá štruktúra sa Ti kazí na btrfs?
Ano.
Pri akej príležitosti? Strata napájania?
Nevím, protože to nemá fsck co by člověk mohl pouštět po každém bootu, tak na to nepřijdu až dokud nenastane nějaký problém typu „nejde spustit postgresql“ nebo „rsync při zálohování nemůže přepsat soubor“. Napájení se ztrácí pravidelně (řešil jsem v poradně, ptal jsem se všude, stále bez úspěchu), RAM není ECC a softwarový stack je pochybný (nvidia blob + deep learning bastly v dockerech).
Řešení inflace: přidat do spotřebního koše Bitcoin
Jendа avatar 12.5. 10:39 Jendа | skóre: 77 | blog: Jenda | JO70FB
Rozbalit Rozbalit vše Re: Test linuxových súborových systémov 2022
Teda, má to fsck, byť se jako nemá používat, tak až ten FS vyrobím příště, tak asi nějak zbastlím aby se při každém bootu používal.
Řešení inflace: přidat do spotřebního koše Bitcoin
AraxoN avatar 12.5. 10:58 AraxoN | skóre: 46 | blog: slon_v_porcelane | Košice
Rozbalit Rozbalit vše Re: Test linuxových súborových systémov 2022
Tak, on fsck pri boote tiež nie je bohviečo, hlavne keď trvá dlhšie než pár minút. Pri reštarte servera na diaľku potom človek zažíva nepríjemné chvíle neistoty...
12.5. 13:52 Peter Golis | skóre: 63 | blog: Bežné záležitosti | Bratislava
Rozbalit Rozbalit vše Re: Test linuxových súborových systémov 2022
A načo potom slúži scrub, v čom sa tá funkcionalita líši od chkdsk alebo fsck?
Jendа avatar 12.5. 14:09 Jendа | skóre: 77 | blog: Jenda | JO70FB
Rozbalit Rozbalit vše Re: Test linuxových súborových systémov 2022
scrub slouží na přečtení všech dat z disku a ověření checksumů, tj. jestli to, co se teď přečte, je to, co se tam předtím zapsalo. Od fsck se to liší v tom, že fsck kontroluje logickou konzistenci datových struktur FS (že stromy neukazují pointery kdovíkam - jeden způsob jak taková věc může nastat právě popsal RDa na Rootu, že právě všechny bloky označené jako obsazené jsou dosažitelné procházením adresářového stromu). fsck naopak nečte všechna data z disku (nečte datové bloky souborů).
Řešení inflace: přidat do spotřebního koše Bitcoin
12.5. 14:22 Peter Golis | skóre: 63 | blog: Bežné záležitosti | Bratislava
Rozbalit Rozbalit vše Re: Test linuxových súborových systémov 2022
Tie checksumy overia či bloky (obsahujúce hoci aj dátovú štruktúru) neboli poškodené.

Ale súhlasím s tým, že SCRUB nie je FSCK, keďže SCRUB kontroluje a opravuje nielen metadáta, ale hlavne aj dáta na disku. Na to FSCK nemá, je zastaralý a mal by už konečne zomrieť.

Ale som rád, že si na ZPOOL SCRUB reagoval diskusiou o BTRFS CHECK. To bolo qejci.
Jendа avatar 12.5. 15:22 Jendа | skóre: 77 | blog: Jenda | JO70FB
Rozbalit Rozbalit vše Re: Test linuxových súborových systémov 2022
Máme novej PALM, podle paperu to vypadá nadějně, tak to otestujeme.
Tie checksumy overia či bloky (obsahujúce hoci aj dátovú štruktúru) neboli poškodené.
Jak si představuješ, že to opraví následující chybu:
  • Poškodí se datová struktura v paměti (bitflip, race condition, out of bounds write jiným modulem)
  • Zabalí se do bloku
  • Blok se opatří checksumem
  • Blok s checksumem se zapíše na disk
  • Scrub přečte blok z disku (disk funguje v pořádku, takže blok není tiše změněn), zkontroluje checksum
Řešení inflace: přidat do spotřebního koše Bitcoin
12.5. 17:29 Peter Golis | skóre: 63 | blog: Bežné záležitosti | Bratislava
Rozbalit Rozbalit vše Re: Test linuxových súborových systémov 2022
Máme novej PALM, podle paperu to vypadá nadějně, tak to otestujeme.
Tak ho implementuj ako modul do súborového systému, keď si sa s tým pochválil v diskusii o súborových systémoch.
Jak si představuješ, že to opraví následující chybu: (bitflip, ...)
Nijak. To neopraví ani FSCK, len to zabrúsi za cenu straty užívateľských dát. To opraví akurát tak ECC na špeciálnom HW s redundantným vykonávaním kódu a porovnávaním výsledkov. Alebo obnova zo zálohy.
Jendа avatar 12.5. 18:11 Jendа | skóre: 77 | blog: Jenda | JO70FB
Rozbalit Rozbalit vše Re: Test linuxových súborových systémov 2022
Nijak. To neopraví ani FSCK, len to zabrúsi za cenu straty užívateľských dát.
Zabrúsi = dostane FS zase do konzistentního stavu, aniž bych musel dělat odstávku na vytvoření nového FS a přelití dat tam a zpátky. Navíc na ZFS, kde fsck není, se o tom, že se tohle stalo, ani nedozvíš. Data se při tom občas ztratí (tak jako tak), obnovíš je ze zálohy, nebo se jedná o nějaké dočasné soubory na kterých nesejde.
Řešení inflace: přidat do spotřebního koše Bitcoin
12.5. 21:30 Peter Golis | skóre: 63 | blog: Bežné záležitosti | Bratislava
Rozbalit Rozbalit vše Re: Test linuxových súborových systémov 2022
FS sa bud3 tváriť konzistentne, ale dáta ostanú v prípade fsck stratené.
Jendа avatar 12.5. 22:32 Jendа | skóre: 77 | blog: Jenda | JO70FB
Rozbalit Rozbalit vše Re: Test linuxových súborových systémov 2022
To v případě ekvivalentního poškození FS s checksumy taky.
Řešení inflace: přidat do spotřebního koše Bitcoin
13.5. 15:43 Peter Golis | skóre: 63 | blog: Bežné záležitosti | Bratislava
Rozbalit Rozbalit vše Re: Test linuxových súborových systémov 2022
V dnešnej dobe je potrebné odhaliť aj poškodenie dát, nielen metadát.
13.5. 17:01 plostenka
Rozbalit Rozbalit vše Re: Test linuxových súborových systémov 2022
To bylo potreba vzdycky. A bud si ukladas data s ECC na aplikacni urovni, nebo veris FS, nebo veris RAID5/6, nebo...
13.5. 19:52 Peter Golis | skóre: 63 | blog: Bežné záležitosti | Bratislava
Rozbalit Rozbalit vše Re: Test linuxových súborových systémov 2022
Takže buď veríš že ECC vykonáva korekciu, alebo veríš aplikačnej úrovni, alebo veríš FS alebo veríš RAID alebo neveríš že existuje Silent Data Coruption, alebo ...

Tvoj optimizmus by som chcel po mojich skúsenostiach mať.
AraxoN avatar 12.5. 07:47 AraxoN | skóre: 46 | blog: slon_v_porcelane | Košice
Rozbalit Rozbalit vše Re: Test linuxových súborových systémov 2022
Áno, a aj xfs má xfs_check. Vlastne ani btrfs nemá fsck, ale btrfs check, takže správne mal mať vo výsledku, že fsck "nemá".

Celý tento test nebol veľmi šťastný, pretože ak fsck trvá dlhšie, môže to znamenať, že je dôkladnejší a odhalí/opraví viac chýb. Preto som tomu nakoniec dal nulovú váhu.
12.5. 13:59 Peter Golis | skóre: 63 | blog: Bežné záležitosti | Bratislava
Rozbalit Rozbalit vše Re: Test linuxových súborových systémov 2022
Čiže FS má nástroj na kontrolu konzistencie a opravu chýb, ktorý vie človek spustiť podľa vlastného uváženia, a samotný FS to robí aj sám pri bežných operáciách. Ale nemá FSCK. To znie tradične odborne a má to aj svoju logiku.

Ono, testík to bol pekný. I keď výber nástrojov a záver mi pripadajú také ako keby boli zaujaté. Skús ďalší test robiť s CPU ktoré má AES-NI, to sa zvyklo používať aj na checksummy. Čím novší typ checksum-u, tým vyššia výpočtová náročnosť a aj spoľahlivosť.
Jendа avatar 12.5. 14:15 Jendа | skóre: 77 | blog: Jenda | JO70FB
Rozbalit Rozbalit vše Re: Test linuxových súborových systémov 2022
Počítat checksumy AES-NI zní divně. Už dlouho, od SSE4.2, máme CRC32, a od někdy někde máme SHA.
Řešení inflace: přidat do spotřebního koše Bitcoin
AraxoN avatar 12.5. 14:28 AraxoN | skóre: 46 | blog: slon_v_porcelane | Košice
Rozbalit Rozbalit vše Re: Test linuxových súborových systémov 2022
Btrfs a zfs korektúry zjavne robia za pochodu. Rozhodne som im nedal žiaden čas na to, aby prebehol nejaký scrub celého disku.

Ďalší test bude na kompletne novom hardvéri a na SSD diskoch. Sám som zvedavý, či rozdiely budú vďaka tomu menšie, alebo naopak väčšie.
12.5. 14:39 Peter Golis | skóre: 63 | blog: Bežné záležitosti | Bratislava
Rozbalit Rozbalit vše Re: Test linuxových súborových systémov 2022
NextGenFS síe robia kontroly a korektúry aj za pochodu, ale občas je rozumné vynútiť kontrolu alebo aj korektúru. Napríklad po fyzickom prenose zostavy s rotačnými diskami (možné škrknutie platne čítacou hlavou), alebo po dlhom vypnutí (pam. bunky zabúdajú, ak sa nepoužívajú). Mne trval SCRUB na lacnom 2T NB disku so šindľovým zápisom cca 7 hodín. Ale to mohlo byť spomalené aj tým, že OS nevedel o zónach na disku, a nemohol optimalizovať I/O požiadavky. CPU sa počas toho flákalo.
11.5. 20:40 mh
Rozbalit Rozbalit vše Re: Test linuxových súborových systémov 2022
A kdes nechal nejlepší souborový systém NTFS?
AraxoN avatar 12.5. 07:43 AraxoN | skóre: 46 | blog: slon_v_porcelane | Košice
Rozbalit Rozbalit vše Re: Test linuxových súborových systémov 2022
Nechal som ho tam, kde patrí.
12.5. 14:10 Peter Golis | skóre: 63 | blog: Bežné záležitosti | Bratislava
Rozbalit Rozbalit vše Re: Test linuxových súborových systémov 2022
S tým súhlasím. NTFS je zastaralý, jeho nástupca ReFS by mal na tom byť lepšie. Ale z cenového hľadiska, ...
13.5. 10:55 R
Rozbalit Rozbalit vše Re: Test linuxových súborových systémov 2022
Dakujem za pripomenutie, ze sa mam zbavit reiserfs3. Este zostaval na jednom serveri ako /var, tak som to vcera konecne preformatoval na ext4.
13.5. 15:26 Kooala
Rozbalit Rozbalit vše Re: Test linuxových súborových systémov 2022
Vyjimecne se podivam na abicko a hned takovy kvalitni blog post. Diky.
16.5. 11:37 Ivan Vecera | skóre: 6
Rozbalit Rozbalit vše Re: Test linuxových súborových systémov 2022
Já nevím, ale 4 GB RAM pro ZFS mi příjde pro jakýkoliv setup málo resp. bych nikdy nedával ZFS na stroj s méně než 8 GB RAM. ZFS nejvíce vynikne na větších diskových polích, kde je i dostatek RAM. To neznamená, že jej nemužu dát na single disk stroj (sám jej používám na notebooku, ale s 32 GB RAM), ale ta paměť je fakt nutnost.
AraxoN avatar 16.5. 12:31 AraxoN | skóre: 46 | blog: slon_v_porcelane | Košice
Rozbalit Rozbalit vše Re: Test linuxových súborových systémov 2022
Bude ešte jeden porovnávací blog, s moderným harvérom. Až k nám ten server dorazí... Objednané pred mesiacom, ale ešte stále nemáme potvrdený ani len približný termín.
AraxoN avatar včera 15:30 AraxoN | skóre: 46 | blog: slon_v_porcelane | Košice
Rozbalit Rozbalit vše Re: Test linuxových súborových systémov 2022
Predbežný dátum dodania: 27.6. (10 týždňov od vytvorenia objednávky)
Petr Fiedler avatar 17.5. 08:11 Petr Fiedler | skóre: 34 | blog: Poradna | Brno
Rozbalit Rozbalit vše Re: Test linuxových súborových systémov 2022

Super zápis, díky.

To jsem zvědavý na ten další test.

18.5. 19:23 PetebLazar | skóre: 29 | blog: l_eonardovo_odhodlani
Rozbalit Rozbalit vše Re: Test linuxových súborových systémov 2022
V ramci Phoronix Test Suite existuje pts/pgbench (vycházející volně z TPC-B). Výhodou může být ověření reálnosti dosažených výsledků proti podobnému HW v databázi výsledků.
AraxoN avatar včera 08:39 AraxoN | skóre: 46 | blog: slon_v_porcelane | Košice
Rozbalit Rozbalit vše Re: Test linuxových súborových systémov 2022
Ďakujem, pozrel som sa na to a zdá sa, že nastavia shared_buffers na štvrtinu veľkosti RAM a pgbench spúšťajú s parametrami:

pgbench -j $NUM_CPU_CORES -n -T 120 -r pgbench

Môžem sa tým inšpirovať.

Založit nové vláknoNahoru

ISSN 1214-1267   www.czech-server.cz
© 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.