Souborové systémy
Z MiS
Obsah |
Souborový systém
- K čemu je souborový systém?
- Pevný disk z pohledu HW je pouze dlouhá posloupnost stejně velkých sektorů, do kterých můžeme zapsat data.
- Abychom se ale v datech vyznali, potřebujeme je uspořádat do souborů, soubory umístit do složek a ty zase do nadřazených složek.
- Kromě samotných dat tedy musíme ukládat i pomocné informace.
- Na disk tedy ukládáme
- data (obsah souborů, to, co uživatel chce uložit)
- metadata (pomocné informace)
- ke kterému souboru daný kousek dat patří
- informace pro vyhledávání: umístění ve složkách, názvy souborů,...
- informace pro zabezpečení: vlastník souboru, práva pro přístup,...
- další pomocné informace
- Souborový systém
Souborový systém (FS) je:
- formát zápisu metadat („Používám souborový systém ext3.“)
- označení pro konkrétní metadata na disku („Došlo k poškození souborového systému.“)
Formátování disku
- Vytváření souborového systému na logickém oddílu se označuje slovem formátování disku.
Cluster
- Podle konkrétního souborového systému se označuje cluster, datový blok či alokační jednotka.
- Základní jednotka pro zápis dat do datové oblasti logického disku.
- Každý soubor zabírá vždy minimálně jeden cluster. Jeden cluster může zabírat jeden nebo více sektorů.
- Všechny clustery jsou stejně veliké, velikost nastavujeme při formátování.
- Pro celý souborový systém musí být jednotná velikost.
- Velikost clusteru se obvykle nastavuje na 2–4 kB. (U FAT32 se musí nastavit větší velikost clusteru, protože rozsah počtu clusterů je malý.)
- Vliv velikosti clusteru na výkon FS
- menší clustery: nižší vnitřní fragmentace.
- větší clustery:
- pokud mám na disku velké soubory, je třeba provést méně dílčích čtení pro načtení velkého souborů.
- bude docházet k menší vnější fragmentaci
Žurnálování
- Způsob práce s diskem, kdy využívám speciální datovou strukturu (žurnál), abych zabránil poškození souborového systému při havárii počítače.
- Princip
- Když chci provádět diskovou operaci (mazat soubor, měnit nebo vytvářet soubor, vytvářet složku,...), pak:
- Nejprve do žurnálu zapíši, co budu provádět.
- Pak provádím diskovou operaci.
- Pokud se operace dokončí v pořádku, potvrdím ji v žurnálu (commit).
- Co když dojde k přerušení operace?
- Při dalším spuštění najdeme v žurnálu nepotvrzené operace.
- Tyto přerušené operace musíme odvolat. (Některé možná půjdou i dokončit.)
- Poznámky
- Funkce žurnálování může být narušeno užitím cache v disku. (Disk nahlásí dokončení operace, ale data jsou jen v cache, nikoli fyzicky zapsána na disk.)
- Žurnálování nevyřeší ztrátu dat, která se nestihla zapisat na pevný disk! Nicméně zajišťuje, že nedojde k porušení souborového systému.
Další vlastnosti FS
- maximální velikost diskového oddílu,
- maximální velikos souboru,
- podpora nastavení práv,
- možnost vytváření snímků (image),
- ...
Typy souborových systémů
- Diskové
- Běžně známé FS: NTFS, ext2/ext3/ext4, FAT32, btrfs,...
- Viz Příklady souborových systémů.
- Síťové (NFS, SMB,...)
- Paměťové (tmpfs)
- Virtuální (procfs — viz adresář /proc, fdfs)
Související pojmy
LVM
- Systém pro správu logických oblastí.
- Dělá mezivrstvu mezi operačním systémem a fyzickým rozdělením disku (MBR, GPT,...).
- Umožňuje snadno měnit velikosti logických svazků, zálohovat logické svazky, simulovat RAID atd.
RAID
- Využití více fyzických disků pro redundantní ukládání dat.
- Při výpadku jednoho disku nepřijdu o data, data jdou dopočítat z informací na ostatních discích.
- Nicméně nemohu využít celý součet kapacit všech disků, část celkové kapacity je využita pro kontrolní součty.
Režimy: RAID 0, RAID 1, RAID 5,...
TRIM
- Týká se SSD disků. Jedná se o příkazy ATA/SCSI/PCIe, které disk buď podporuje, nebo nepodporuje (dnešní SSD disky obvykle podporují).
- Podle rozhraní používají disky jiné příkazy, princip je ale stejný: TRIM u ATA (SATA rozhraní), UNMAP u SCSI rozhraní, DEALLOCATE u NVMe (PCIe rozhraní).
- Umožňuje mazat jednotlivé stránky bez nutnosti přepisovat celý blok dat. Tím snižuje opotřebení disku a zvyšuje životnost.
- Zároveň se při mazání bloky pouze označí jako nevyužité, samotné smazání dat lze provést až později. To umožňuje rychlejší zápis dat (není třeba blok nejprve přečíst, pokud je označen jako smazaný, mazání dat provede řadič až později).
- Zapnutí TRIM viz: Nástroje pro práci s diskem.
- Zdroje: DigitalCitizen.life → What is SSD TRIM, TechTarget.com → TRIM