Для Linux запропоновано файлову систему Composefs

Олександр Ларсон (Alexander Larsson), автор Flatpak, що працює в компанії Red Hat, представив попередній варіант патчів з реалізацією файлової системи Composefs для ядра Linux. Запропонована файлова система нагадує Squashfs та також підходить для монтування образів у режимі тільки для читання. Відмінності зводяться до забезпечення в Composefs ефективного спільного зберігання вмісту кількох примонтованих дискових образів і підтримки автентичності даних, що читаються. Як області застосування, в яких може виявитися затребувана ФС Composefs, називається монтування образів контейнерів і застосування для Git-подібного репозиторію OSTree.

У Composefs застосовується модель зберігання з адресацією з урахуванням вмісту, тобто. первинним ідентифікатором є ім'я файлу, а хеш від вмісту файла. Подібна модель забезпечує дедуплікацію та дозволяє фактично зберігати лише одну копію однакових файлів, що зустрічаються у різних примонтованих розділах. Наприклад, образи контейнерів містять безліч типових системних файлів і у разі застосування Composefs кожен із цих файлів буде спільно використаний всіма примонтованими образами, без застосування трюків, таких як прокидання за допомогою жорстких посилань. При цьому спільні файли не тільки зберігаються у вигляді однієї копії на диску, а й обходяться одним записом у сторінковому кеші, що дає змогу заощаджувати як дискову, так і оперативну пам'ять.

Для економії дискової пам'яті дані та метадані в образах, що монтуються, розділені. При монтуванні зазначаються:

  • Бінарний індекс, в якому містяться всі метадані файлової системи, імена файлів, права доступу та інші відомості, крім безпосередньо вмісту файлів.
  • Базовий каталог в якому зберігається вміст файлів всіх образів, що монтуються. Файли зберігаються у прив'язці до хешу від їхнього вмісту.

Бінарний індекс створюється кожному за образу ФС, а базовий каталог єдиний всім образів. Для верифікації вмісту окремих файлів та всього образу в умовах загального зберігання може застосовуватися механізм fs-verity, який при зверненні до файлів перевіряє відповідність зазначених у бінарному індексі хешів з фактичним вмістом (тобто якщо зловмисник внесе зміну файлу в базовому каталозі або дані) пошкодяться в результаті збою, то подібна звірка виявить розбіжність).

Джерело: opennet.ru

Додати коментар або відгук