Hra Mini Thief je na Steamu zdarma napořád, když aktivaci provedete do 24. ledna do 19.00 [ProtonDB].
Certifikační autorita Let's Encrypt oznámila, že bude volitelně nabízet krátkodobé certifikáty s šestidenní platností a navíc s možností vystavit je na IP adresu. Zvolit typ certifikátu bude možné v certifikačním profilu ACME.
Herní konzole Nintendo Switch 2 byla oficiálně potvrzena. Vyjde letos. Trailer na YouTube. Více ve středu 2. dubna na Nintendo Direct.
Byl vydán Linux Mint 22.1 s kódovým jménem Xia. Podrobnosti v přehledu novinek a poznámkách k vydání. Linux Mint 22.1 bude podporován do roku 2029.
Google Chrome 132 byl prohlášen za stabilní. Nejnovější stabilní verze 132.0.6834.83 přináší řadu novinek z hlediska uživatelů i vývojářů. Podrobný přehled v poznámkách k vydání. Opraveno bylo 16 bezpečnostních chyb. Vylepšeny byly také nástroje pro vývojáře (YouTube).
Byla vydána verze 11.0.0 knihovny libvirt (Wikipedie) zastřešující různé virtualizační technologie a vytvářející jednotné rozhraní pro správu virtuálních strojů. Současně byl ve verzi 11.0.0 vydán související modul pro Python libvirt-python. Přehled novinek v poznámkách k vydání.
Byla vydána nová verze 3.4.0 nástroje pro inkrementální kopírování souborů rsync (Wikipedie). Přehled oprav a vylepšení v souboru NEWS. Řešeno je 6 zranitelností.
V srpnu loňského roku byla vyhlášena RP2350 Hacking Challenge aneb oficiální výzva Raspberry Pi na prolomení bezpečnosti mikrokontroléru RP2350. Povedlo se. Včera byli představeni čtyři vítězové a jejich techniky.
Na čem aktuálně pracují vývojáři open source operačního systému Haiku (Wikipedie)? Byl publikován přehled vývoje za prosinec 2024. Vypíchnuto je začlenění webového prohlížeče Iceweasel, tj. alternativního sestavení Firefoxu.
Tetris a DOOM běžící v pdf. Proč a jak v příspěvku na blogu.
Základní velikosti:
Vlastnosti:
V souborovém systému Btrfs má každý blok (blok data i metadat) přiřazen kontrolní součet, který se kontroluje při každém jeho čtení. Pokud kontrolní součet nesouhlasí s přečtenými daty, jsou data přečtena z jiného zařízení (pokud je k disposici). Pokud je kontrolní součet na druhém zařízení v pořádku, jsou data opravena i na zařízení prvním.
Btrfs má tak schopnost detekce poškozených bloků a také automatickou opravu všech jeho kopií. Je to posun jak oproti běžným systémům souborů, které kontrolní součty nemají (případně mají kontroly pouze vlastních metadat), tak i oproti systémům RAID, které také při běžných operacích nekontrolují, zda kopie (či parita u raid5,6) souhlasí. U Btrfs by tak mělo méně často docházet k tzv. tichému poškození dat (silent data corruption) způsobenému selhávajícím hardware. 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ů.
Běžné systémy souborů lze vytvořit pouze nad jedním blokovým zařízením. Tedy typicky nad jedním diskovým oddílem. Pokud je potřeba zvýšené ochrany dat, nastupují řadiče (případně software v jádře) raid, které ale opět exportují pouze jedno blokové zařízení. Nad tímto zařízením se vytvoří systém souborů. Ve starém pojetí byl tedy potřeba nějaký device manager, který se staral o redundantní spojení více úložišť. Nad ním byla (nepovinná) vrstva rozdělení tohoto jednoho úložiště na více oddílů (klasické diskové oddíly nebo LVM).
Btrfs tento třívrstvý koncept zcela ruší (přičemž samozřejmě je možné jej vytvořit nad běžným oddílem či raid svazkem, ale je to zbytečné a nic navíc to nepřináší) a slučuje do jedné vrstvy. Souborový systém samotný se stará o redundantní uložení dat na více zařízení i o rozložení zátěže při jejich čtení. Toto spojení má své výhody v možnosti snadné manipulace se zařízeními, ta je možné odpojovat (dostupné volné místo se tak sníží) nebo připojovat nová zařízení a zvětšit tak dostupné místo. Btrfs také, na rozdíl od raid řadičů a softwarových řešení, nevyžaduje (například pro zrcadlení) stejně velké disky, zrcadlený systém souborů lze vytvořit i na lichém počtu zařízení. Btrfs se postará o uložení jednotlivých bloků na dvě různá zařízení. V současné době je podpora pro ekvivalent raid0, raid1 a raid10, ve vývoji je podpora ekvivalentu raid5 a raid6.
Současné systémy souborů (například: ext3, xfs) při zápisu (v tomto případě při změně obsahu souboru) modifikují bloky dat na disku. Pokud se při havárii (výpadku napájení) nestihne zapsat celý měněný blok na disk, data souboru jsou poškozena. A zatímco proti poškození metadat se systémy souborů brání pomocí žurnálu (a jinými technikami), kam se zapisují aktuální operace a jejich stav, tak proti poškození dat samotných mnoho obrany neexistuje (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).
Btrfs pracuje jinak. Při modifikaci souboru se nikdy nemodifikuje blok s aktuálními daty, ale je zapsán blok nový a až po té jsou atomicky změněny adresy v datových strukturách právě na tento nový blok. Tato technika se jmenuje kopírování při zápisu (copy on write – cow). Při havárii systému (výpadek napájení) tak mohou nastat dva konzistentní stavy systému souborů:
Z předchozího je patrné, že systém souborů atomicky přechází z jednoho konzistentního stavu do druhého a to platí nejen pro strukturu systému souborů samotného (metadata), ale také pro data samotná. Tento postup (zápisu nového bloku místo modifikace původního) má však i své stinné stránky, zejména fragmentaci bloků jednoho souboru. Btrfs tak, jako první čistě linuxový systém souborů, přichází s nástrojem na defragmentaci.
Vlastnost kopírování bloků při zápisu není jen nějakou teoretickou zajímavostí, naopak nabízí spoustu nových a užitečných vlastností použitelných uživateli. Asi nejméně zajímavou (v porovnaní s dalšími vlastnostmi), přesto však okamžitě použitelnou vlastností Btrfs, je možnost rychle a úsporně vytvářet klony (referenční linky) souborů. 20. srpna 2009 přibyl ve standardním nástroji cp parametr --reflink, který atomicky vytvoří kopii souboru pomocí cow. Použití je nasnadě, pokud pracujete s velkými soubory (například obrazy disků), můžete si takto efektivně vytvářet jejich kopie a nezávisle je modifikovat (na rozdíl od pevných či symbolických linků se zde jedná o dva různé soubory, které na počátku pouze sdílejí stejné bloky na disku). Místo na disku zabírají pouze změněné bloky, lze tak efektivně pracovat se soubory, které mají souhrnnou velikost větší, než je dostupné místo na disku.
Btrfs má dvě prvenství. Je to první linuxový systém souborů s nástrojem na defragmentaci a také jediným systémem souborů bez nástroje na kontrolu. Zatímco fragmentace je přímým důsledkem alokace nových bloků místo změny původních (COW) a defragmentační nástroj je tedy nezbytně nutný pro zachování optimální rychlosti systému souborů, tak nástroj na offline kontrolu není podle návrhu nutný vůbec.
Realita je bohužel tvrdá a i Btrfs se může poškodit při výpadku napájení, například na diskových zařízeních, které lžou o provedení příkazu FLUSH (vynucení zapsání dat z cache na disk). Tato zařízení vrátí odpověď o provedení příkazu dříve, než jej skutečně provedou (což znamená, že se data na některá zařízení zapíší a na jiné ne, pokud v této chvíli dojde k výpadku napájení, dojde také k těžké nekonzistenci dat mezi různými zařízeními). I proto se offline kontrola Btrfs hodí, v současné době se již na tomto nástroji pracuje.
Další vlastností, kterou nenalezneme v žádném současném systému souborů, jsou pododdíly (subvolume). Na pododdíly můžeme nahlížet buď jako na ekvivalent diskových oddílů nebo jako lepší adresáře (pododdíly je možné vytvářet v prakticky neomezeném množství a kdekoliv v adresářové hierarchii systému souborů).
V prvním náhledu můžeme pododdíly chápat jako diskové oddíly s tím rozdílem, že volné místo diskových zařízení je sdílené všemi takto vytvořenými oddíly. Přidání dalšího diskového zařízení do Btrfs automaticky znamená navýšení místa pro všechny pododdíly. Čímž se odstraňuje jedna z nevýhod statických diskových oddílů, kterou je distribuce volného místa. Pododdíl lze připojovat s různými parametry, například transparentní komprese; ve vývoji jsou kvóty a šifrování.
Ve druhém náhledu, tedy lepších adresářů, nabízí Btrfs možnost vytvářet klony pododdílu (snapshoty, snímky). Snímek je atomicky vytvořený obraz pododdílu, který je dále nezávislý na původním pododdílu. Je dobré si připomenout, že snímek je také pododdíl, který jen vznikl jako klon jiného pododdílu, ale je nadále nezávislý. Z toho plyne, že jej, stejně jako ostatní pododdíly, lze libovolně mazat, připojovat s různými parametry a také dále atomicky klonovat.
Zjistit volné a také i zabrané místo na oddílu s Btrfs je obtížnější, než se na první pohled může znát. Zatímco na běžném systému souborů je mezi bloky a soubory na disku jednoznačné mapování (jeden blok může být součástí nejvýše jednoho souboru), tak u BTRFS je tomu jinak. Jeden blok může být součástí mnoha souborů, a to jak v případě referenčních linků, tak zejména klonů pododdílů. V Btrfs tak existuje několik více či méně přesných způsobů zjištění místa na disku.
V druhé části článku, která vyjde příští týden, uvidíte praktické ukázky práce s Btrfs.
Nástroje: Tisk bez diskuse
Tiskni Sdílej:
(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.