System plików Composefs proponowany dla systemu Linux

Alexander Larsson, twórca Flatpak w firmie Red Hat, udostępnił zapowiedź łatek implementujących system plików Composefs dla jądra Linuksa. Proponowany system plików przypomina Squashfs i nadaje się również do montowania obrazów tylko do odczytu. Różnice sprowadzają się do zdolności Composefs do wydajnego udostępniania zawartości wielu montowanych obrazów dysków oraz obsługi uwierzytelniania danych do odczytu. Jako obszary zastosowań, w których Composefs FS może być potrzebny, nazywa się montowanie obrazów kontenerów i korzystanie z repozytorium OSTree podobnego do Git.

Composefs wykorzystuje model przechowywania adresów oparty na treści, tj. podstawowym identyfikatorem nie jest nazwa pliku, ale skrót zawartości pliku. Ten model zapewnia deduplikację i umożliwia przechowywanie tylko jednej kopii tych samych plików, które występują w różnych zamontowanych partycjach. Na przykład obrazy kontenerów zawierają wiele typowych plików systemowych, a dzięki Composefs każdy z tych plików będzie współdzielony przez wszystkie zamontowane obrazy, bez użycia sztuczek, takich jak przekazywanie z twardymi linkami. Jednocześnie udostępniane pliki są nie tylko przechowywane jako pojedyncza kopia na dysku, ale są również zarządzane przez jeden wpis w pamięci podręcznej strony, co umożliwia oszczędzanie zarówno dysku, jak i pamięci RAM.

Aby zaoszczędzić miejsce na dysku, dane i metadane są rozdzielane w montowanych obrazach. Po zamontowaniu określ:

  • Indeks binarny, który zawiera wszystkie metadane systemu plików, nazwy plików, uprawnienia i inne informacje, z wyjątkiem rzeczywistej zawartości plików.
  • Katalog podstawowy, w którym przechowywana jest zawartość wszystkich zamontowanych plików obrazów. Pliki są przechowywane w odniesieniu do skrótu ich zawartości.

Dla każdego obrazu FS tworzony jest indeks binarny, a katalog podstawowy jest taki sam dla wszystkich obrazów. Do weryfikacji zawartości poszczególnych plików i całego obrazu w warunkach współdzielonego przechowywania można wykorzystać mechanizm fs-verity, który podczas dostępu do plików sprawdza, czy hasze podane w indeksie binarnym odpowiadają rzeczywistej zawartości (tzn. dokona zmiany w pliku w katalogu podstawowym lub dane zostaną uszkodzone w wyniku awarii, takie uzgodnienie ujawni niezgodność).

Źródło: opennet.ru

Dodaj komentarz