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 18:11 | IT novinky

    Dnes a zítra probíhá vývojářská konference Google I/O 2025. Sledovat lze na YouTube a na síti 𝕏 (#GoogleIO).

    Ladislav Hagara | Komentářů: 0
    včera 15:22 | Komunita

    V Bostonu probíhá konference Red Hat Summit 2025. Vybrané přednášky lze sledovat na YouTube. Dění lze sledovat na síti 𝕏 (#RHSummit).

    Ladislav Hagara | Komentářů: 0
    včera 15:00 | Nová verze

    Společnost Red Hat oficiálně oznámila vydání Red Hat Enterprise Linuxu 10. Vedle nových vlastností 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ářů: 2
    včera 12:22 | Pozvánky

    Tuto sobotu 24. května se koná historicky první komunitní den projektu Home Assistant. Zváni jsou všichni příznivci, nadšenci a uživatelé tohoto projektu. Pro účast je potřebná registrace. Odkazy na akce v Praze a v Bratislavě.

    jose17 | Komentářů: 0
    včera 04:44 | IT novinky

    Troy Hunt představil Have I Been Pwned 2.0, tj. nový vylepšený web služby, kde si uživatelé mohou zkontrolovat, zda se jejich hesla a osobní údaje neobjevily v únicích dat a případně se nechat na další úniky upozorňovat.

    Ladislav Hagara | Komentářů: 15
    19.5. 23:22 | Zajímavý software

    Microsoft představil open source textový editor Edit bežící v terminálu. Zdrojové kódy jsou k dispozici na GitHubu pod licencí MIT.

    Ladislav Hagara | Komentářů: 7
    19.5. 22:22 | Zajímavý software

    V Seattlu a také online probíhá konference Microsoft Build 2025. Microsoft představuje své novinky. Windows Subsystem for Linux je nově open source. Zdrojové kódy jsou k dispozici na GitHubu pod licencí MIT.

    Ladislav Hagara | Komentářů: 0
    19.5. 13:11 | Zajímavý článek

    Z příspěvku Turris Sentinel – co přinesl rok 2024 na blogu CZ.NIC: "Za poslední rok (únor 2024 – únor 2025) jsme zachytili 8,3 miliardy incidentů a to z 232 zemí a z jejich závislých území. Tyto útoky přišly od 6,2 milionu útočníků (respektive unikátních adres). SMTP minipot je stále nejlákavější pastí, zhruba 79 % útoků bylo směřováno na tento minipot, 16 % útoků směřovalo na minipot Telnet, 3 % útoků směřovaly na minipot HTTP a 2 % na minipot FTP. Dále jsme zaznamenali 3,2 milionu unikátních hesel a 318 tisíc unikátních loginů, které útočníci zkoušeli."

    Ladislav Hagara | Komentářů: 1
    19.5. 12:44 | Nová verze

    Byla vydána (Mastodon, 𝕏) nová verze 3.0.4 svobodné aplikace pro úpravu a vytváření rastrové grafiky GIMP (GNU Image Manipulation Program). Přehled novinek v oznámení o vydání a v souboru NEWS na GitLabu. Nový GIMP je již k dispozici také na Flathubu.

    Ladislav Hagara | Komentářů: 0
    19.5. 12:33 | Nová verze

    Byla vydána nová stabilní verze 7.4 webového prohlížeče Vivaldi (Wikipedie). Postavena je na Chromiu 136. Přehled novinek i s náhledy v příspěvku na blogu.

    Ladislav Hagara | Komentářů: 0
    Jaký je váš oblíbený skriptovací jazyk?
     (60%)
     (24%)
     (8%)
     (2%)
     (0%)
     (0%)
     (6%)
    Celkem 50 hlasů
     Komentářů: 5, poslední včera 20:57
    Rozcestník

    Moderní souborové systémy - 1. část

    27. 11. 2002 | Petr Novický | Systém | 23327×

    Úvod do tématiky žurnálovacích systémů.

    Úvod

    Mnozí z Vás se jistě chtěli seznámit s pojmem souborový systém hlouběji. Ačkoliv si myslím, že se drtivá většina s pojmem souborový systém setkala, přesto ho nejprve objasním. Je to software, který slouží k organizování a používání dat uložených na záznamových médiích (pevný disk, CD apod). Souborový systém zajišťuje integritu dat (přeloženo do českého jazyka ucelenost). Tudíž informace, které uložíme, budeme moci později vyvolat v nezměněné podobě.

    Pro svou činnost filesystém ukládá informace o souborech a informace o sobě samotném (vlastnictví, datum, kontrola přístupu, délka souboru a jeho lokace na disku apod). Bez těchto informací, tzv. metadata, by souborový systém nemohl pracovat. Nebudu se tu zabývat souborovými systémy jako ext2fs (běžně používaný souborový systém v OS Linux), o něm byla jistě již spousta materiálu sepsána a tak nebudu nosit dříví do lesa. Navíc nové filesystémy mají lepší vlastnosti a nemají tak přísná omezení jako třeba právě ext2fs.

    Motivace nových souborových systémů

    Modernější filesystémy použijeme zvlášť, pokud chceme zajistit integritu dat i při náhlém přerušení práce počítače. Existuje několik možností, co se při náhlém přerušení práce může stát:

    • Systém stihl uložit soubor. Nic se neděje, můžeme pokračovat v práci.
    • Systém nestihl uložit soubor (ani nezačal). Přišli jsme tedy o všechny změny, ale alespoň máme zachovánu starou verzi.
    • Systém "spadl" během procesu ukládání. Toto je nejhorší případ! Dostáváme soubor, který se skládá částečně ze starého a částečně z nového. Když navíc zrovna zapisujeme metadata (jako třeba informace o adresářích), mužeme ztratit třeba celý adresář nebo dokonce data na diskovém oddílu (když se poruší metadata týkající se kořenového adresáře)!

    Standardní linuxový souborový systém (ext2fs) svému poškození částečně předchází tím, že udržuje redundantní kopii metadat, takže se většinou nestává, že bychom o ně přišli. Pomocí kontroly integrity souborového systému (fsck), klasicky během bootování, je systém schopen zjistit, kde jsou metadata poškozená a nahradí je prostým zkopírováním redundantní verze. Nebo dojde ke smazání souboru, který byl přerušením poškozen. Samozřejmě že kontrola trvá tím déle, čím větší máme diskový oddíl a kontrola opravdu velkého disku může trvat velmi dlouho. Žádná z uvedených vlastností se samozřejmě nikomu z nás nelíbí, naštěstí existuje alternativa k těmto klasickým druhům filesystémů. Jsou jimi souborové systémy, které pracují s tzv. žurnálem.

    Žurnálovací souborové systémy

    O co se jedná. Stručně řečeno žurnálovací filesystém si uchovává informace o operacích, které provedl a je pak v případě výpadku schopen rychle se dostat zpět do konzistentního stavu. Změny jsou evidovány jako tzv. transakce. Jedná se o nezávislé atomické operace. Po každé transakci následuje potvrzení, když dojde k uskutečnění daného úkonu (např. zápis na disk). Proto pokud systém "spadne", můžeme najít v záznamech informace o provedených změnách a vrátit vše do původního stavu. Mezi tyto souborové systémy patří např. ext3, ReiserFS, XFS a JFS. V našem seriálu se postupně zmíníme o každém z nich podrobněji.

    Omezení souborových systémů

    Problémy při výpadcích však nejsou zdaleka jedinými nevýhodami tradičních souborových systémů jako ext2fs. Všechny byly navrženy v době, kdy záznamová média neměla takovou kapacitu jako v současné době. Dnes máme větší soubory, adresáře a také diskové oddíly a starší souborové systémy už nestačí ať už z hlediska různých omezení velikostí nebo výkonu. Tyto problémy jsou důsledkem interních struktur, na kterých jsou založeny. Hlavním problém je, že mají pevně danou délkou, což limituje jejich možnosti. Také metody, které v dřívější době vyhovovaly, jsou už při dnešních možnostech z hlediska výkonu nedostačující. Souborové systémy nové generace jsou navrhovány tak, aby problémům omezení předcházely.

    V následující tabulce si můžete porovnat omezení jednotlivých souborových systémů:

    Filesystém Max. velikost filesystému Velikost bloků Max. velikost souboru
    Ext2 4 TB 1KB-4KB 2 GB
    Ext3 4 TB 1KB-4KB 2 GB
    ReiserFS 16 TB až 64KB 2^10 PB *1
    XFS 18000 PB *1 512B - 64KB 9000 PB *1
    JFS 512 B / 4 PB *2 512B, 1024B, 2048B, 4096B 512B / 512Tb *2

    *1) 1PB = 10^15 B

    *2) Maximální velikost souborového systému závisí na velikosti bloku dat, velikosti pro ostatní hodnoty dostaneme jednoduše pomocí trojčlenky.

    Optimalizace výkonu nových souborových systémů

    Vyhledávání volných bloků

    Dalším problémem jsou struktury, pomocí kterých souborový systém hledá volné bloky při ukládání dat. Často se jedná o seznam, kde jsou udržována čísla jednotlivých volných bloků. UFS a ext2fs používá bitmapu, což je pole bitů, kde každý z nich odpovídá jednomu logickému bloku na diskovém oddílu. S narůstající kapacitou délka pole narůstá a výkon klesá.

    Problémům, týkajících se hledání volných bloků dat, se vyvarujeme použitím tzv. "extents" a balancovaného stromu. Extents je skupina sousedících logických bloků, které jsou používány některými filesystémy. Deskriptor extents obsahuje 3 údaje:

    • adresa prvního bloku, kde extent začíná
    • velikost v blocích
    • údaj, který nám říká offset v rámci souboru, kde začínají data v daném záznamu uložená

    V případě použití extents nezávisí velikost struktury, kde si uchováváme informace o volném místu, na velikosti filesystému. Také použitím balancovaného stromu místo prostého seznamu dochází k dalšímu zvýšení výkonu.

    Problémy s velkými filesystémy

    V případě velkého počtu položek adresáře je efektivita u starších souborových systému opět slabší. Často jsou položky adresáře ukládány do seznamu, a tudíž jejich následné vyhledávání je zbytečně zdlouhavé. Jedním z řešení je opět použití balancovaného stromu, kde jsou tyto položky uspořádány podle jmen.

    Výkonnost však nedostačuje ani u velkých souborů. Pro vysvětlení této oblasti si musíme neprve objasnit pojem i-node. Jedná se o strukturu, kde souborový systém udržuje informace o souboru, jako jsou práva, typ souboru a hlavně ukazatele na bloky souborového systému, kde je soubor uložený. Obsahuje jednak přímé ukazatele, a také tzv. nepřímé ukazatelé, odkazující na bloky s ukazately přímými. Viz obrázek:

    Obrazek inodu

    Problém spočívá v navržení struktury i-nody. Starší souborové systémy byly vytvářeny převážně pro práci s menšími soubory. Struktura i-nodů je proto ne zrovna efektivní. Čím větší soubor používáme, tím vícekrát přistupujeme k disku díky nepřímým pointrům. Důvodem, proč nepřímé pointry vůbec ext2fs používá, je to, že i-node má pevnou velikost.

    Problém velkých souborů může být odstraněn použitím dynamického alokování i-nodů. Bohužel musíme vyřešit otázky jak zařídit mapování logických bloků i-nodu a jaké použít struktury na vyhledávání v rámci i-nodu. Řešením je většinou použití balancovaných stromů.

    Řídké soubory

    Omezení externí fragmentace a podpora řídkých souborů (sparse files) je také jednou z výhod nových filesystémů (ovšem jejich podpora je už v ext2fs). Pojem fragmentace většina čtenářů jistě zná, jen připomenu že se jedná o rozptýlení jednotlivých bloků souboru po disku a hlavička disku pak při čtení musí přejíždět z místa namísto. Samozřejmě výhodnější je mít bloky za sebou, operace pak budou rychlejší.

    Řídké soubory jsou soubory, které vzniknou následujícím způsobem:

    Zapíšeme například několik počátečních bytů dat a poté se chceme zapsat data uvnitř souboru, která odpovídají offsetu třeba 50000. Pokud nemá náš filesystém podporu pro řídké soubory, alokujeme všechny byty mezi počátkem a těmi bloky uvnitř souboru. Bloky mezi počátkem a offsetem 50000 nás však nezajímají a vůbec by alokovány být nemusely. Pokud použijeme souborové systémy s podporou řídkých souborů, pak se alokuje jen tolik místa, kolik zapisovaná data skutečně zabírají.

    Odkazy a zdroje

           

    Hodnocení: 38 %

            špatnédobré        

    Nástroje: Tisk bez diskuse

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

    Komentáře

    Vložit další komentář

    27.11.2002 07:59 Quasar
    Rozbalit Rozbalit vše Podivne hodnoty ReiserFS
    Hm... Co se tyka FS, tak jsem uplny neznalec, ale neni mi jasne, jak se na filesystem velikosti 16TB vejde soubor velikosti 2^10 PB - viz ReiserFS. Diky za odpoved.
    27.11.2002 09:31 Petr Adamek
    Rozbalit Rozbalit vše Podivne hodnoty ReiserFS
    Viz ridke soubory
    27.11.2002 09:29 Zdeněk Burda | skóre: 61 | blog: Zdendův blog | Praha
    Rozbalit Rozbalit vše 2G
    jakto ze ext3 ma omezeni na max velikost souboru 2G, kdyz mam normalne na disku soubory 4-5G?
    -- Nezdar není hanbou, hanbou je strach z pokusu.
    6.7.2008 15:30 Smajchl | skóre: 39 | blog: Drzy_Nazory | Praha
    Rozbalit Rozbalit vše Re: 2G
    +1
    My máme všechno co chcem, my máme dobrou náladu!
    houska avatar 23.6.2010 11:34 houska | skóre: 41 | blog: HW
    Rozbalit Rozbalit vše Re: 2G

    protoze to je zde uvedeno spatne ... wiki tvrdi ze je to zavisle na velikosti bloku:

    ext3 has a maximum size for both individual files and the entire filesystem. For the filesystem as a whole that limit is 232 blocks.
    Block size	Max file size	Max filesystem size
    1 KB		16 GB		2 TB
    2 KB		256 GB		8 TB
    4 KB		2 TB		16 TB
    8 KB[limits 1]	2 TB		32 TB
    
    27.11.2002 09:34 zacatecnik stoural
    Rozbalit Rozbalit vše velikost spoboru u ext2
    Obavam se, ze omezeni velikosti souboru na 2GB u ext2 nebude uplne pravdive. Sam pouzivam fileserver s ext2 pro ukladani video souboru o velikostech pres 10GB - a bez potizi...
    27.11.2002 10:29 Tom K | skóre: 22
    Rozbalit Rozbalit vše ext2 a velikost souboru
    Mozna by bylo vhodne napsat, ze velikost souboru 2GiB u ext2 bylo u 2.2.x jader, ale u 2.4 uz je tato velikost "trosku" jina (vetsi). Stejne tak maximalni velikost FS nepocita s limity jadra. Jeste u 2.4 lze udelat jen asi 2TiB veky FS. Tento limit je odbouran az od 2.5.42.
    echo -n "u48" | sha1sum | head -c3; echo
    28.11.2002 08:22 Martin Sedlacek
    Rozbalit Rozbalit vše dotaz
    Chtel bych se zeptat na extenty zminene v clanku. Pokud pouziji jen linearni seznam extentu (rekneme trojic: zacatek, delka, treti polozku jsem uplne nepochopil), tak ciste teoreticky muze nastat situace, kdy bude pocet extentu napr. polovina poctu bloku (kdyz bude prave kazdy druhy obsazeny). A to je docela zavisle na velikosti fs. Prehledl jsem neco?
    29.11.2002 11:52 Petr Novický | skóre: 27
    Rozbalit Rozbalit vše Re: dotaz
    Ta treti polozka ukazuje proste na misto v souboru, kam data v danem extentu patri. No a tu tvou otazku jsem tedy tak docela nepochopil. Jestli jsi to myslel tak, ze bude filesystem, kde bude jeden blok obsazeny, druhy bude prazdny a tohle se bude opakovat... tak to bude samozrejme spatne... ale myslim, ze to je jen teorie.. k takovemu zpusobu naplneni jednoduse za normalnich podminek nedojde.
    29.11.2002 16:17 Beda
    Rozbalit Rozbalit vše velikos bloku XFS verze 1.1
    je omezena na linux+x86 architekture velikosti stranky = 4Kbajty nic jineho se nepodari naformatofvat a kdyz jo, tak to stejnak nebude fungovat jako filesystem, ale spis jako hashovaci zarizeni s dalsimi nedokumentovanymi feature ;)
    29.11.2002 16:21 Beda
    Rozbalit Rozbalit vše velikos bloku XFS verze 1.1
    ted me napada, ze novejsi x86 procesory maji vlastne 2 prepinatelny velikosti stranek, ale tusim, ze linux stejne nastavi velikost stranky na 4K a ne na 32K, ci kolik je ta druha velikost stranky.
    22.8.2003 11:18 Mirek
    Rozbalit Rozbalit vše nerozlišuje velká a malá písmena?
    Existuje souborový systém pro linux, který nerozlišuje velká a malá písmena v názvu souboru?
    4.2.2004 14:45 KIIV
    Rozbalit Rozbalit vše nerozlišuje velká a malá písmena?
    tusim ze rozlysovani pomoci dakritiky ponekud nezalezi na FS ale na jadre linuxu... BTW to rozlyseni velikosti je rychlejsi nez muset kazdej znak pri hledani a pod. prevest na nejakej treba upcase...

    Založit nové vláknoNahoru

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