iWant

Nový souborový systém APFS. Proč Apple přechází na nové řešení?

iWant

Na loňské celosvětové vývojářské konferenci WWDC Apple představil nový souborový systém APFS. S aktualizací na iOS 10.3 na něj naostro přejdou první zařízení z ekosystému Applu.

Souborový systém je struktura, která zajišťuje ukládání dat na disk a veškerou práci s nimi. Apple k tomu v současnosti používá systém HFS+, který byl nasazen už v roce 1998, nahrazujíc HFS (Hierarchical File System) z roku 1985.

APFS, což je zkratka pro Apple File System, má tedy nahradit systém, který původně vznikl před více než třiceti lety, a má tak učinit na všech platformách Applu v průběhu roku 2017. Jeho vývoj začal teprve před necelými třemi lety, ale Apple se snažil HFS+ nahradit přinejmenším od roku 2006.

Nejdříve však selhaly snahy o adopci v současnosti asi nejuznávanějšího souborového systému ZFS (Zettabyte File System), poté dva projekty vyvíjející vlastní řešení. APFS má tedy za sebou dlouhou historii a vzbuzuje mnohá očekávání. Mnozí si jsou sice stále nejistí ambiciózním plánem Applu pro adopci APFS napříč svým ekosystémem a poukazují na funkce známé z jiných systémů (zejména ZFS), které v něm chybí. To, co APFS slibuje, je ale přesto významný krok kupředu.

APFS

APFS je systém navržený pro moderní úložiště – je samozřejmě vytvořen specificky pro hardware a software Applu, takže má být dobře přizpůsobený SSD diskům, velkým kapacitám a velkým souborům. Nativně například podporuje TRIM a provádí ho neustále, což udržuje vysoký výkon disku. Hlavními funkcemi a výhodami oproti HFS+ jsou: klonování, snapshoty, sdílení prostoru, šifrování, ochrana proti selhání a rychlý výpočet využitého/volného místa.

Klonování nahrazuje klasické kopírování, kdy se na disku vytvoří druhý soubor dat identický s tím kopírovaným. Klonování místo toho vytvoří pouze duplikát metadat (informací o parametrech daného souboru) a v případě úpravy jednoho z klonů budou na disk zapsány pouze úpravy, ne znovu celý soubor. Výhodami klonování jsou ušetřené místo na disku a mnohem rychlejší proces vytváření „kopie“ souboru.

Samozřejmě ale tento proces funguje pouze v rámci jednoho disku – při kopírování mezi dvěma disky se na tom cílovém musí vytvořit kompletní duplikát původního souboru. Možnou nevýhodou klonů může být právě jejich zacházení s místem, kdy smazání klonu jakkoliv velkého souboru na disku neuvolní téměř žádné místo.

Snapshot je obraz stavu disku v určitém čase, který umožní se soubory na něm dále pracovat a přitom stále zachovat jejich podobu, jaká byla v době pořízení snapshotu. Na disk jsou pak ukládány pouze změny, nevznikají duplikáty dat. Jedná se tedy o způsob zálohování, které je spolehlivější, než co v současnosti používá Time Machine.

Sdílení prostoru (space sharing) umožňuje několika diskovým oddílům sdílet stejný fyzický prostor na disku. Když je například disk se souborovým systémem HFS+ rozdělen na tři oddíly a v jednom z nich dojde místo (přičemž na ostatních místo je), je možné další diskový oddíl pouze smazat a jeho místo připojit k tomu, kterému místo došlo. AFPS u všech diskových oddílů zobrazuje veškeré volné místo na celém fyzickém disku.

To znamená, že při vytváření diskových oddílů není třeba odhadovat jejich potřebnou velikost, protože ta je u nich zcela dynamická v závislosti na potřebném volném místě v daném diskovém oddílu. Například máme disk s celkovou kapacitou 100 GB rozdělený na dva diskové oddíly, kde jeden zaplňuje 10 GB a druhý 20 GB. V takovém případě budou oba diskové oddíly zobrazovat 70 GB volného místa.

Šifrování disku je samozřejmě dostupné už u HFS+, ale APFS nabízí jeho mnohem komplexnější podobu. Místo dvou typů (žádné šifrování a šifrování celého disku podle jednoho klíče) u HFS+, APFS je schopen disk šifrovat pomocí několika klíčů pro každý soubor a samostatným klíčem pro metadata.

Ochrana proti selhání se vztahuje k tomu, co se stane při výpadku v průběhu zapisování na disk. V takových případech často nastává ztráta dat, především když probíhá přepisování dat, protože nastávají momenty, kde vymazávaná i zapisovaná data jsou v průběhu přenosu a při odpojení elektřiny se ztratí. APFS tomuto problému předchází využitím metody Copy-on-write (COW), při níž stará data nejsou přímo nahrazována novými a při výpadku tedy nehrozí jejich ztráta.

Mezi funkce přítomné v jiných moderních souborových systémech a které APFS (v současnosti) postrádá, patří komprese a komplexní kontrolní součty (duplikáty metadat pro ověření neporušenosti originálu – APFS to dělá, ale ne pro data uživatelů). APFS také postrádá redundanci (duplikáty) dat (viz klonování), což sice šetří místo na disku, ale znemožňuje opravu dat v případě jejich korupce. V souvislosti s tím prý Apple apeluje na kvalitu úložíšť, které do svých produktů instaluje.

APFS se uživatelé nejdříve dočkají na iOS zařízeních, a to už při aktualizaci na iOS 10.3. Další přesný plán zatím není znám s výjimkou toho, že v roce 2018 už by měl na APFS běžet celý ekosystém Applu, tedy zařízení s iOS, watchOS, tvOS i macOS. Nový souborový systém by měl být díky optimalizaci rychlejší, spolehlivější i bezpečnější.

Zdroje: Apple, DTrace (2)