Valerie Aurora (do niedawna znana pod nazwiskiem Henson) opublikowała niedawno artykuł o budowie i historii systemu plików btrfs. To jeden z najbardziej oczekiwanych systemów plików dla Linuksa, a autorka jest specjalistką od tych podsystemów i słynie z jasnego pisania o trudnych sprawach, więc warto przeczytać.
Warto tym bardziej, że jest to ujęcie przekrojowe — Aurora zaczyna od opisu technicznego, ale przedstawia też tło historyczne i widoki na przyszłość po przejęciu Suna przez Oracle (Chris Mason, główny opiekun btrfs, pracuje w tej firmie) oraz smakowity dodatek — porównanie z ZFS.
Val sama stała się zwolenniczką btrfs, mimo, że współpracowała przy powstawaniu ZFS. Jak mówi w swoim świeżym wywiadzie:
Z początku uważałam, że podejście ZFS jest prostsze i przejrzystsze — w tym czasie kod zarządzający strukturami b-tree i ekstentami był wystarczająco skomplikowany, a dodanie do tego mechanizmu copy-on-write i sum kontrolnych powodowało, że mózg o mało nie eksplodował. Dopiero uproszczone, solidne algorytmy b-tree Ohada Rodeha oraz idea Chrisa Masona „wszystko jest elementem” zmieniły moje zdanie. Zostałam przekonana.
W czerwcu Val Aurora napisała też dłuższy tekst mówiący o bieżącym stanie projektu ChunkFS — „What ever happened to chunkfs?„. W skrócie chodzi o podział systemu plików na mniejsze segmenty, coś w rodzaju grodzi wodoszczelnych na statku, dzięki czemu ewentualne uszkodzenie można szybko wyłapać. Staje się to tym ważniejsze, że dyski mają coraz większą pojemność przy stosunkowo wolnym przyroście prędkości odczytu, co grozi szalenie długim sprawdzaniem dysku (rzędu 10-krotnie większego niż obecnie!) i to już w kilkuletniej perspektywie.
Szczęśliwie eksperymentalne implementacje nie są już potrzebne. Idea systemów plików projektowanych z myślą o naprawie uszkodzeń (repair-driven file system design) została podchwycona między innymi właśnie w btrfs. W trakcie prób okazało się w dodatku, że założenie tego już na etapie projektowania jest znacznie lepsze niż dodawanie tej możliwości ad hoc.
Aurora zajmuje się obecnie pracami nad łączonymi systemami plików (unionfs), które umożliwiają m.in. symulowanie zapisywalnego systemu plików na bazie niezapisywalnego nośnika na płytkach LiveCD. Więcej na ten temat wraz z odnośnikami do serii jej artykułów z przełomu marca i kwietnia znajduje się na specjalnej stronie. Jej zdaniem najlepszym rozwiązaniem tego problemu są tzw. „union mounts”.
Miłej lektury!
Dodaj komentarz