APFS to wielka zmiana w macOS-ie. Apple wreszcie z nowoczesnym systemem plików #WWDC16
30 lat gotowania się w tym samym sosie? Aż trudno uwierzyć, żewspółczesne Maki, przedstawiane jako najnowocześniejsze inajlepsze komputery osobiste, działają na bazienajprymitywniejszego dziś spośród powszechnie używanych systemówplików, pamiętającego jeszcze czasy dyskietek elastycznych. Cośsię jednak w świecie Jabłek wreszcie zmieni. Choć na wczorajszymotwarciu deweloperskiej konferencji Apple’a nie było o tym mowy(Tim Cook z kolegami woleli się skupić na cyferblatach z MyszkąMinnie dla Apple Watcha), to jednak programiści firmy z Cupertinowreszcie pokazali nowoczesny system plików dla urządzeń zJabłkiem. Apple File System (APFS) ma być bezpośrednim następcąużywanych dziś HFS/HFS+, który zapewni solidny fundament dlapamięci masowych w urządzeniach tej firmy na następne dekady.
Tak jak przewidywaliśmy,Apple nie zdecydowało się na sięgnięcie po system plików ZFS,ale zarazem jak to Apple nie skorzystało też z rozwiązań znanychjuż w świecie Open Source. Wymyśliło nowy własny system plików,który wygląda bardzo interesująco i który powinien rozwiązaćwiele dzisiejszych bolączek Maków – i zarazem uczynić jenaprawdę nowocześniejszymi niż maszyny z Windowsem.
Z nanosekundową dokładnością w 64-bitowy XXIwiek
W opublikowanej na stronach deweloperskich Apple’a dokumentacjiprzedstawiono najważniejsze cechy APFS. Jak wiele innych uniksowychsystemów plików bazuje on na i-węzłach (inodes), czylijednorodnych strukturach, które zawierają inne niż nazwa i danepliku informacje związane z plikiem. APFS jest w pełni 64-bitowymsystemem plików (HFS był 32-bitowy), co oznacza, że może obsłużyćok. 9 trylionów plików na jednym wolumenie.
Znacznie wzrosła dokładność czasoznaczków. HFS+ utrzymywałlogi operacji z dokładnością do 1 sekundy. APFS robi to zdokładnością do jednej nanosekundy, co pozwoli na precyzyjneśledzenie operacji plikowych i zachowanie atomowości transakcji(czyli tego, że transakcja albo wykona się w całości, albo wogóle). Nowy system plików ma być bardziej też odporny na awarie:mechanizm o nazwie „Crash Protection” to po prostu implementacjaznanego dobrze schematu obsługi metadanych kopiowania przy zapisie(copy-on-write) – ma to zapewnić, że wpisy do dziennika i zmianyw systemie plików bedą zawsze w synchronizacji, nawet jeśli cośwydarzy się podczas zapisu.
Inne ważne nowości to niskopoziomowe wsparcie dla mechanizmuTRIM, możliwość szybkiej inicjalizacji dużych wolumenów(Extensible Block Allocation), obsługa rozszerzonych atrybutówplików oraz wbudowane w system plików udostępnianie wolumenów poprotokole SMB. Zmniejszy się też fragmentacja danych na dysku,mechanizm łączenia zapisów (write coalescing) pozwoli niezapisywać danych od razu, ale poczekać na zgromadzenie się wbuforze niepowiązanych danych – i zapisanie ich w jednej operacji.
APFS obsługuje też wreszcie pliki rozrzedzone (sparse files),efektywniej wykorzystujące miejsce na dysku w sytuacji, gdy sam plikjest w większości pusty. Apple wspomina też o możliwościwspółdzielenia fizycznej przestrzeni między logicznymi wolumenami,tworząc np. kilka terabajtowych wolumenów na jednym terabajtowymnośniku – a później ich rozszerzaniu na inne fizyczne dyski wmiarę wzrostu ilości danych.
Warto na koniec wspomnieć o pewnym drobiazgu, który był jednąz najgorszych rzeczy w HFS+, tj. kwestii rozróżnienia wielkościliter. Standardem Uniksów jest ich odróżnianie, unix, Unix i UNIXto trzy różne nazwy. OS X standardowo jednak nie rozróżniałwielkości liter, traktując je jak jedną nazwę. Można było sobiewłączyć rozróżnianie, ale to z kolei wiązało się z różnymiproblemami systemowymi. APFS wraca do uniksowej tradycji. Wielkośćliter będzie rozróżniana, nie da się tego wyłączyć.
Szyfrowanie, migawki, klony – nie ma co płakaćza ZFS-em
Zatroskanych o prywatność swoich danych ucieszy na pewno to, żeApple zdecydowało się wbudować szyfrowanie bezpośrednio w APFS,zamiast posiłkować się rozwiązaniami takimi jak File Vault. Mamydo dyspozycji trzy tryby działania – bez szyfrowania, zszyfrowaniem pojedynczym kluczem oraz z szyfrowaniem wieloma kluczami– odzielnymi dla plików i metadanych. W zależności od możliwościsprzętu, stosowane ma być łańcuchowanie bloków w trybie AES-CBClub AES-XTS.
Podobnie jak ZFS, APFS udostępni też mechanizmy migawek iklonowania. Migawki pozwolą na zapisanie specjalnej instancji plikutylko do odczytu, a następnie w miarę zmian w pliku, zapisywaniajedynie przypisanych do niego bloków z różnicami (delta). W tensposób będzie można zbudować płynnie działającą „maszynęczasu”, pozwalajacą na wygodne przeglądanie całej historii zmianw plikach, zamiast bawienie się w sztywne linki obecnego TimeMachine.
Klony działają niemal tak samo jak migawki, tyle że można jeteż zapisywać. System plików jest w stanie sklonować pliki ikatalogi natychmiastowo, bez czekania na ich kopiowanie. Sklonowanastruktura zachowuje wszystkie zmiany wprowadzone do oryginału, więcprzysłuży się to przy tworzeniu mechanizmów wersjonowania.
Póki co APFS jest dostępny tylko w deweloperskiej wersji macOS-aSierra, i ma wiele ograniczeń. Nie możemy użyć go do partycjisystemowej. Nie działa też na dyskach Fusion Drive, ani jakowolumen Time Machine. Wciąż nie ma żadnych gwarancji, że nie niestracimy wszystkich danych na sformatowanym w APFS dysku. Do jesienizostało jednak trochę czasu, a gdy macOS Sierra zadebiutujewreszcie na Makach, powinniśmy zobaczyć poprawę działania całegosystemu pod każdym względem.