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)
  • radosto

    „a poukazují na funkce známé z jiných systémů (zejména ZFS), které v něm chybí.“ Mohu se zeptat jaké to jsou funkce? Resp. dalo by se do článku doplnit. Jinak skvělý článek. Díky.

    • Tomáš Chlebek

      Doplněno v předposledním odstavci.

      • radosto

        Díky moc. A ještě jednou chválím za skvělý a stručný článek.

        • N2by

          Jo souhlasim, rozhodne tady nechrli miliony clanku, ale kdyz uz neco vyjde, tak si rad poctu a venuju tomu plnou pozornost. Zaroven jsem pak o neco moudrejsi a na rozdil od jinych webu pak nelituju ztraty casu nad ctenim.

      • N2by

        Jo zajimavej clanek. I kdyz takova zmena me malinko desi ;-). Bude totiz chvili trvat, nez se ukazou programy pro obnovu smazanych dat, nez se vychytaji nektere mouchy atp….
        Nicmene chapu ze po 30ti letech je na case neco udelat, protoze treba vypocet mista na disku, kolik zabiraji jednotlive adresare atp. je na dnesni dobu priserne pomale.

  • Cubas

    Super článek

  • m2

    SUper článek, jsem velmi zvědav jak proběhne změna na stávající instalaci MacOS HFS+ -> APFS

  • Martin Topinka

    Pěkný článek! Díky!