Portál AbcLinuxu, 1. května 2025 09:55
(jen ext3 a ext4 umožňují také žurnálování dat, čímž ale efektivně snižují rychlost zápisu na systém souborů na polovinu – data jsou zapsána nejprve do žurnálu a až po té do bloků daného souboru).Nebolo by efektivnejsie zurnal "posuvat po disku", vzdy do neho zapisat a potom len odkazat na tento blok z inode a premiestnit zurnal o trochu dalej? Nebol by tam stale rovnaky problem pri prepise dat zo zurnalu do blokov? Takyto ext3 by mi z principu nemohol dovolit vytvorit subor vacsi ako polovica disku (druha polovica by musela byt zurnal), co sa mi nezda - v praxi som to pred chvilou skusal na
dd if=/dev/zero of=testfile bs=1M count=100
mkfs.ext3 testfile
sudo mount -o loop testfile /mnt/test
dd if=/dev/zero of=/mnt/test/testfile bs=1M count=99
a prebehlo to v pohode
mount -o loop -o data=journal testfile /mnt/test dd if=/dev/zero of=/mnt/test/testfile bs=1M count=99 dd: zápis „/mnt/test/testfile“: Na zařízení není volné místo
Nebolo by efektivnejsie zurnal "posuvat po disku", vzdy do neho zapisat a potom len odkazat na tento blok z inode a premiestnit zurnal o trochu dalej?Čili implementovat COW? Samozřejmě by to efektivnější bylo, kdyby ext3/4 podporovalo posuvný žurnál.
Takyto ext3 by mi z principu nemohol dovolit vytvorit subor vacsi ako polovica disku (druha polovica by musela byt zurnal), co sa mi nezdaext3/4 automaticky commituje žurnál jednou za čas (standardně je to pět sekund), případně pokud se žurnál naplní. To, že data žurnál chrání, tedy platí jenom omezeně (ale btrfs to při nedostatku místa dělá IMO stejně).
fsck
. Chris vypuštění pořád odkládá. Mělo být na LinuxCon Europe a nic.
Hlavní problém s btrfs je asi chybějící fsck
. Chris vypuštění pořád odkládá. Mělo být na LinuxCon Europe a nic.
Tak pokud by opravdu nebylo mozne btrfs poskodit, tak bych po fsck neprahnul. Jestli ale nektery zarizeni po FLUSH data nezapisou, tak je to spis problem HW nez btrfs a takovej HW bych nechtel ani s fsck.btrfs, protoze abych pri kazdym vypadku elektriky musel resit fsck a pak slysel keci, ze btrfs neni nijak lepsi, protoze po vypadku elektriky musi opravovat, to opravdu ne.
Btrfs (podle toho clanku) vypada skvele a jenom na spatnym HW muze mit problemy. Ale spatnej HW bych nechtel pouzivat ani s ext3 nebo reiserfs.
Jinak by me zajimalo takovyhle detailnejsi srovnani se ZFS:) ZFS mi pripada hodne podobny jako btrfs, ale rad bych porovnani v tech technictejsich detailech, ktere clanek zminuje. Bude porovnani?
restore
, který dokáže ze zbořeného filesystému obnovit data (soubory včetně adresářové struktury, ale bez symlinků a práv souborů, takže systém je potřeba přeinstalovat, ale o svoje data nepřijdete).
I zminovany reiserFs ktery se tezko opravoval umoznoval zotaveni v naproste vetsine pripadu.Prepáč mi, ale je to totálna blbosť, na ReiserFS som prešiel aj preto že, práve pri HW chybách má najlepšie schopnosti sa zotaviť, už som tu aj o tom písal, Ext mi dva krát na tom istom HW skapal bez akejkoľvek možnosti obnovy. Na Btrfs sa teším, ale na Reiser budem v dobrom spomínať naveky. Nebiť toho, že sa Ext dostal do Kernelu, nikdy by ten zmätok v konkurencií nemal šancu. No a keď prirovnám dobu aktívneho vývoja ReiserFS, aký FS na Linuxe sa mu vyrovnal? Teraz po rokoch ho doťahujú, ale Ext ani za sto rokov, aj keď sú už dnes rýchle procesory a disky, skús si vylistovať adresár bin na Reiseri a Ext, stále má na vrch tak tri krát, prv to bývalo 5krát a viac.
Tenhle přístup miluju. To je problém HW a basta, aneb tupost některých lidí nezná meze...To nezná. A často si to samé myslí o druhých.
Chybějící fsck by ani nebyl takový problém, hlavní problém je (byl), že veškeré chyby končí kernel panic ...Ano, stavu, kdy to muze skoncit panic'em, je stale jeste mnoho, ale aktivne se pracuje na handlovani nejcastejsich chybovych stavu.
a to i když je oddíl připojen read-only — to se opravdu skvěle zachraňují data.Data se velmi dobre obnovuji ze zalozni kopie. Btrfs ma stale status experimentalniho filesystemu ve vyvoji.
došlo místo na disku, několik bugů s tím stále existujeOK, to jsou ale bugy btrfs, ne features. Az se ty bugy odstrani, tak by fsck nemel byt potreba. A taky, na produktivni data nepouzivam unstable FS.
Ale spatnej HW bych nechtel pouzivat ani s ext3 nebo reiserfs.No to asi nikdo :) Ale realita je bohužel taková, že takových disků je po světě habaděj a není to o nich snadné poznat, než nastane nějaký problém. A pokud nastane, setsakramentsky se hodí mít po ruce nástroj, kterým se dá FS opravit. Nebo můžete narazit na bug ve firmware diskového pole, nebo můžete omylem přepsat kus partitiony, když si spletete disky, atd. Situací, kdy jsem potřeboval sáhnout po fsck, už bylo...
dd if=/dev/zero of=/dev/sdx dd if=/dev/sdx of=/dev/nullPřípadně můžeš vyladit velikost bloků.
badblocks
v read-write režimu? :-)
Ostatně už to jméno navozuje spíše FileSystem ChecK, tedy kontrolu souborového systému. Prostě pokud jsou na FS věci, které se dají nějak křízem zkontrolovat, tak se zkontrolují a případně vyřeší. .... Prostě se zkontroluje všecko možné, co má tak nějak spolu hrát, jestli je to opravdu vše OK. A další nezanedbatelná funkce je přečtení celého disku a jeho struktur a kontrola, zda je vše OK.No dobra, jenze ty popisujes veci, ktere se resi u standardnich FS. Ext3 a FAT. btrfs ma kontrolni mechanismy vestavene a (jak je ve clanku napsano), pokud pri praci neshodu zjisti, tak ji opravi sam. Volne misto u FAT - na btrfs to neni tak jednoduche, uz jen definovat "volne misto" je obtizne - je volne misto pocet volnych bloku (pak to muze platit jen do te doby, dokud se nezacnou nektere linkovane kopie menit) nebo je to [celkove misto disku] - [velikost vsech souboru] (vcetne linkovanych) (pak ti muze vyjit, ze uz mas pres GB nad limit disku). Rozhodne se to ale musi resit dynamicky. Z navrhu btrfs se taky nemuze nikdy stat, ze by nesmazany soubor mohl byt mimo adresar (mel nejak poskozeny popisovac), protoze zapis se provadi bezpecne - dokud nejsou vsechna data na HW zapsana, tak se nezmeni odkaz. Kdyz se odkaz zmeni, tak jsou data zase v poradku na novem miste. At nastane vypadek kdykoliv, data jsou porad konzistentni.
Z navrhu btrfs se taky nemuze nikdy stat, ze by nesmazany soubor mohl byt mimo adresar (mel nejak poskozeny popisovac), protoze zapis se provadi bezpecne - dokud nejsou vsechna data na HW zapsana, tak se nezmeni odkaz. Kdyz se odkaz zmeni, tak jsou data zase v poradku na novem miste. At nastane vypadek kdykoliv, data jsou porad konzistentni.To ovsem predpoklada, ze vznikne verze, ktera neobsahje zadne chyby a bude navzdy bez chyb. Hmm...
Btrfs má dvě prvenství. Je to první linuxový systém souborů s nástrojem na defragmentaciPokud definici drobet rozšíříme o POSIX kompatibilní souborové systémy, tak tím prvním byl ve skutečnosti xfs.
Btrfs kvóty podporuje, a to nejen user a group, ale i na subvolume, což je asi hlavní důvod, proč je na VPSkách používatBtrfs jeste quoty neumi, existuje experimentalni patch http://lwn.net/Articles/462401/ .
jen ext3 a ext4 umožňují také žurnálování dat
Žurnálování dat AFAIK umožňuje i ReiserFS (od jádra 2.6.8).
osobně používám ZFS (FreeBSD 9) a nemůžu si jej vynachválit; btrfs bude asi něco podobného, ale sám jsem jej nezkoušel.
Zatím ale neexistuje příkaz, jak vynutit kontrolu celého systému souborů, lze ale snadno napsat skript, který přečte všechny soubory a tím také dojde ke kontrole součtů všech datových bloků.Ale existuje, viz "btrfs scrub", je v kernelu od verze 3.0. Nejen ze soubory nacte z disku, ale take provede opravu, pokud je to mozne.
Na sifrovani se nepracuje ani neni k dispozici zadny experimentalni patch. Udelat sifrovani spravne je tezke, ZFS to trvalo nekolik let. Experimentalni patch na deduplikaci existuje, http://lwn.net/Articles/422331/ . Jinak lze deduplikaci naprogramovat jiz dnes ciste v userspace pomoci ioctl clone, tj. spocitat si hashe bloku (nebo vetsich casti souboru) a provest slouceni pomoci toho ioctl. Zatim takovy nastroj neni k disposic(sic!)i.
- Transparentní šifrování (ve vývoji).
- Deduplikace bloků (ve vývoji).
Používám Btrfs už docela dlouho na velkém 4TB logickém disku kde mám přímo data. Je nad sw raidem, takže pravděpodobnost HW chyby, která by jej nabourala je minimální.Až na to, že RAID proti chybám v datech nijak nechrání. A většina variant raidu ani při sebelepší vůli nemůže chránit ani proti chybám na jednotlivých discích, pouze proti detekovanému selhání disku.
Začal jsem však ve větší míře používat ext4, a to z toho důvodu, že pro uložení virtuálních disků je vhodnější. Neustálé žonglování s "ocaásky" co dělá Reiserfs, nebo průběžná kontrola CRC u Btrfs je u nich vcelku na nic - konzistenci FS virtuálního disku si zjišťujě virtuál uvnitř sám, takže by to jenom zbytečně zdržovalo.Ty na virtuální disky dobrovolně používáš soubory? Při jednoduchosti práce s LVM mi to přijde docela kontraproduktivní.
Ty na virtuální disky dobrovolně používáš soubory? Při jednoduchosti práce s LVM mi to přijde docela kontraproduktivní.Ono to zas tak jednoduché není. Souborové úložiště virtuální disků nabízí podstatně lepší snapshoty a thin-provisioning než LVM. Třeba XenServer umí celkem dobře snapshoty i nad LVM, ale používají se docela magické triky a i tak první snapshot alokuje stejné místo jako má samotný celý virtuální disk. Např. s nativními snapshoty na SAN polích nelze linuxové LVM vůbec srovnávat. Ale i tak, pokud bych měl volbu LVM nebo soubory, radši bych to dal na LVM. Určitě ale zase záleží na situaci druhu použití.
Až na to, že RAID proti chybám v datech nijak nechrání. A většina variant raidu ani při sebelepší vůli nemůže chránit ani proti chybám na jednotlivých discích, pouze proti detekovanému selhání disku.Od toho je FS, aby si pořešil konzistenci dat, ne? Raid mi minimalizuje pravděpodobnost stavu, že se ty data ztratí nadobro. Proč používám virtuální disky jako soubory? Jednoduchá odpověď - pracuje se tak s nimi lépe než s LVM oddíly. Krom toho pro poslední řešení které používám, je to výhodnější.
Btrfs má dvě prvenství. Je to první linuxový systém souborů s nástrojem na defragmentaci....Tak jiste, protoze to potrebuje jak prase drbani
Zdravím,
díky za skvělý článek, který je velmi srozumitelný i pro laika jako jsem já a i po těch letech má co říci. Je mi jasné, že btrfs je dnes jinde než tenkrát a budu si muset nějaké informace aktualizovat, ale i tak mi některé věci objasnil. Ještě jednou díky.
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.