250 likes | 432 Views
Charakteristika moderních žurnálovacích FS a jejich porovnání u síťových OS MS Windows, Novell Netware a Linux. Ing. Lenka Závodná. Co je to souborový systém. Způsob uložení dat na disku U r č uje, jak se mají soubory
E N D
Charakteristika moderních žurnálovacích FS a jejich porovnání u síťových OS MS Windows, Novell Netware a Linux Ing. Lenka Závodná
Co je to souborový systém • Způsob uložení dat na disku • Určuje, jak se mají soubory • ukládat (přidělování diskového prostoru) na pevný disk, CD-ROM nebo na jiné médium • jak se mají jmenovat • jak jednotlivé soubory hledat • jak se pozná, komu, co patří • Většina souborových systémů vznikla • současně s vývojem nějakého operačního systému • jako standard pro zápis na určité speciální médium (např. souborový systém ISO 9660 určený pro CD-ROM).
Základní pojmy: alokační blok • Základní fyzickou - adresovatelnou jednotkou pevného disku je sektor - elementární jednotka diskové kapacity o velikosti 512 bajtů. • Celá kapacita disku je dnes tvořena množinou "lineárně" po sobě jdoucích sektorů (LBA - Logical Block Addressing), přestože jsou fyzicky organizovány trojrozměrně podle schématu plotna-stopa-sektor. • Sektory jsou dále slučovány do větších jednotek alokačních bloků/jednotek, tj. nejmenších přidělitelných logických jednotek, se kterými pracuje operační systém • je-li např. alokační blok velký 32 KB, pak soubor dlouhý 5 B obsadí na disku celých 32 KB • Nejmenší alokační jednotkou v OS typu MS Windows je cluster • Nejmenší alokační jednotkou v OS NovellNetware a Linux je blok
Základní pojmy: fragmentace • Vnitřní fragmentace vzniká tehdy, když zůstávají nevyužity velké části alokačních bloků • soubor nebo jeho část je uložena v bloku, který není plně využit. • Vnější fragmentace znamená, že jeden soubor je rozmístěn na mnoha místech pevného disku, která neleží vedle sebe • zpomaluje se rychlost čtení a zápisu. • Defragmentace – odstranění vnější fragmentace
Souborové systémy typu FAT • Používají pro ukládání/čtení dat na disku logickou strukturu založenou na FAT - File Alocation Table • FAT tabulka a její kopie jsou uloženy na začátku každé diskové oblasti (za zaváděcím sektorem) • FAT používají: • DOS • MS Windows 9x a 2000 • Novell Netware
Žurnálovací souborové systémy • Ukládají informace o prováděných operacích/transakcích v souboru - “žurnálu“ • Uchovávají informace o souborech a adresářích formou metadat (soubory, inode) • Pro informace o uložení souborů a adresářů nevyužívají statické tabulky, ale indexované relační databáze – nejčastěji B-tree (Balanced tree – vyvážený strom) • rychlejší přístup k datům • lepší využití paměti - nemusí se do paměti načítat FAT tabulka • Žurnál používají: • MS Windows NT/2003/XP – NTFS • Novel Netware – NSS • Linux – ext3, ReiserFS
Žurnálování (journalising) • Požadavek o operaci na disku a jeho popis (transakci) uloží na bezpečné místo (žurnálovací soubor, transakční deník) a poté se teprve odešle diskovému subsystému ke zpracování • Pokud dojde k uskutečnění daného úkonu (např. zápis na disk), následuje potvrzení transakce, je-li úspěšná, záznam v žurnálu se vymaže • Pokud nastane nějaký problém, je vždy možné pomocí uložených poznámek, jejich časového razítka a příslušné utility dohledat, co se mělo změnit a jak to dopadlo • V případě výpadku systému, například v důsledku přerušení dodávky proudu, se zkontroluje jen zásobárna poznámek a obnova dat a jejich kontrola tak trvá řádově zlomky času nutného pro kontrolu a obnovu klasickou cestou (ve FAT)
NTFS - New Technology File System • Velikost nejmenší alokovatelné jednotky - clustru min 512 bajtů • Protokolování (journalising) • Zabezpečení (práva k objektům, Access Control List) • Automatická komprese dat • Podpora diskových kvót a šifrování • Kromě uživatelských dat přidává NTFS na disk do speciálních skrytých souborů tzv. METADATA • NTFS používá k ukládání všech informací o souborech a adresářích atributy.
Výpis metadat • Soubory s metadaty nejsou normálně viditelné ze souborového manažeru, ale lze je zobrazit takto: dir /ah <jmenosouboru> Např. C:\>dir /ah $badclusSvazek v jednotce C nemá žádnou jmenovku. Sériové číslo svazku je BCF6-0C04 Výpis adresáře C:\29.03.99 11:38 0 $BadClus 1 souborů 0 bajtů 964 798 464 bajtů volných
Některá metadata v NTFS • $MFT - Master File Table, udržuje informace o rozložení všech souborů, adresářů i metadat na disku. • $LOGFILE - soubor, ve kterém jsou zaznamenávány všechny změny na disku, používá se jako žurnál - na minimalizaci ztrát dat na disku při pádu systému a k udržení jich konzistence • $MFTMIRR - opatření proti ztrátě dat - obsahuje kopii prvních 16 záznamů MFT a NTFS ukládá tento soubor uprostřed disku (MFT blízko začátku disku) • $BITMAP je velké pole bitů, kde každému bitu odpovídá cluster na disku • Když je bit 0, cluster je prázdný, jinak je použitý • NTFS udržuje tento soubor ke sledování volných clusterů na disku a k jejich přidělení pro nová data.
MFT • MFT je vlastně relační databáze, která uchovává informace o souborech na disku • Každý soubor (včetně souboru MFT a meta souborů) začíná záznamem atributů v MFT a může pokračovat dále externími alokačními bloky • MFT zabírá oblast začátku disku, má vyhrazený větší prostor (12 % oddílu), aby se mohla dále rozrůstat a zůstávala pokud možno nefragmentovaná • Nedostává-li se na disku místa pro soubory, volné místo určené MFT se na nějaký čas zredukuje. • Uprostřed disku je umístěna záložní kopie nejdůležitějších meta souborů MFT
MFT: Master File Table • MFT je rozdělena na jednotky, které se nazývají záznamy, každý soubor, adresář má v MFT odpovídající záznam • Záznam obsahuje malou hlavičku, ve které jsou základní údaje o záznamu • Za hlavičkou následuje jeden nebo více atributů, které popisují data nebo typ souboru či adresáře • V jednom nebo více MFT záznamech NTFS ukládá metadata, která popisují vlastnosti souboru nebo adresáře (bezpečnostní nastavení, atributy) a jeho umístění na disku. • Protože MFT je také soubor, je i on zaznamenán v MFT • Počet záznamů v MFT se mění, tj. MFT roste nebo se zmenšuje, nelze dopředu určit jeho velikost a proto může dojít k jeho fragmentaci • MFT-Zóna je oblast clusterů okolo MFT (), ve kterých NTFS zabraňuje ukládání jiných souborů a adresářů a tak předchází fragmentaci
NSS Novell Storage Services • Je to žurnálový FS, operace na disku zapisuje do transakčního deníku • Data jsou uložena ve formě B-Tree • Efektivnější správa diskového prostoru • rychlé připojování (přimontování) log. disků • lze dynamicky měnit velikost log. disku • DOS oblast a cdrom lze připojit jako log. disk • Zvýšení max. limitů • max. velikost jednotlivých souborů až 8TB • prakticky neomezený počet adresářových položek • až dva miliony současně otevřených souborů atd. • Možnost obnovy zrušených log. disků – po zrušení lze do určité doby obnovit celé logické disky
Pružné zacházení s instalovanou diskovou kapacitou • Logická struktura disku ve FAT: • NetWare partitions (oblasti) → NetWare volumes (logické disky, pevné velikosti) → adresáře a soubory • Logická struktura disku v NSS: • NSS partitions → storage pools (paměťové fondy) - NSS volumes (logické disky) → adresáře a soubory • V systému NSS jsou k dispozici navíc paměťové oblasti/fondy NSS (paměťové fondy - storage pools), které reprezentují jakýsi mezistupeň mezi diskovými oblastmi a logickými disky • NSS na serveru prohlíží všechny disky, vyhledává na nich neobsazené prostory (např. ty, na nichž není definována disková oblast) a vytváří z nich sklad volných prostorů • Z tohoto skladu pak lze odebírat potřebný diskový prostor a vytvářet a zvětšovat logické disky • Paměťové fondy umožňují logickým diskům dynamicky měnit svou velikost v závislosti na množství místa, které v něm právě je, tj.kapacita log. disku, do něhož je ukládáno hodně dat, může růst na úkor log. disku, v němž je volný prostor
Pevné disky s volnými prostory Pevný disk Pevný disk Pevný disk Nss oblasti Nss oblasti Nss oblasti Paměťové fondy Storage pool Paměťové fondy Storage pool Logický disk NSS Logický disk NSS Logický disk NSS Logický disk NSS
Linuxové žurnálové FS • FS ext3 – je založen na ext2 a je obousměrně kompatibilní s ext2 • Reiser FS – jeden z prvních žurnálových systémů v linuxu
Ext2 • Data jsou uložena ve stejně dlouhých blocích • Základní prvek inode - systém identifikuje soubory podle čísla inode, nikoli podle jejich jména • Bloky jsou rozděleny na skupiny bloků • Adresáře jsou z pohledu ext2 zvláštní soubory, které slouží k vytváření a ukládání přístupových cest k souborům
Skupina bloků • Skupina bloků obsahuje následující bloky : • superblok (základní popis FS: např. počet volných bloků, velikost bloků, počet bloků ve skupině, číslo prvního inode ...) • deskriptor skupiny bloků (popisuje skupinu bloků: např. počet volných bloků, inodů ve skupině, čísla bloků, ve kterých jsou uloženy bitmapy, tabulky inodů atd.) • bitmapu bloků • bitmapu inodů • tabulku inodů • datové bloky
Inode • Inode obsahuje metadata – informace o popisující soubory nebo adresáře a ukazatel na bloky s daty • mód – přístupová práva a typ souboru • informace o vlastníkovi – uživatelský a skupinový identifikátor vlastníka souboru • velikost • časové značky • datové bloky – ukazatelé na bloky obsahující data souboru • Inode adresářového souboru odkazuje na inode jednotlivých souborů a datové bloky adresáře obsahují položky adresáře • Hledání souboru začíná od prvního inode - první inode obsahuje informace o kořenovém adresáři
FS ext3 • Je to vlastně FS ext2, ke kterému je připojen žurnál • Jednoduchý přechod z a na ext2 tune2fs -j /dev/hda1 tune2fs ˆhas_journal /dev/hda1 • Nastavení úrovně žurnálování mount /dev/hda1/mnt/space –t ext3 –o data=journal • data=journal → žurnálu se zapisují operace s vlastními daty i metadaty, obnovu lze provést v plném rozsahu • data=ordered →zapisují se pouze transakce s metadaty (po zápise dat – implicitní nastavení • data=writeback→žurnálují se pouze metada – (odpovídá nejvíce ext2)
Reiser FS • FS Data jsou uložena ve formě B-Tree • Rychlá práce s daty • Do jednoho bloku lze uložit více souborů nebo konce souborů • efektivnější využití místa na disku – menší vnitřní fragmentace • vyšší externí fragmentace – snížení výkonu • problematické přidávání dat na konec souboru - musí se přesouvat data do jiných bloků • Lze měnit velikost FS (bez odpojeni fs) – příkazem resize-reiserfs
Použitá literatura a odkazy • J. Horák: Hardware učebnice pro pokročilé, Computer Press • V.Vychodil: OS Linux příručka českého uživatele • http://cs.wikipedia.org/wiki/NTFS • http://mnemec.kuceraipc.de/ntfs.html • http://www.prichystal.cz/Archiv_c/arch_cl.htm • http://www.abclinuxu.cz/clanky/ • http://www.petricek.cz/clanky/ext3.html • http://www.cpress.cz/knihy/linux/linux_4.pdf