PuzzleFS, файловая система Cisco, написанная на Rust

Cisco

Puzzlefs — это контейнерная файловая система, разработанная Cisco.

Cisco недавно объявила через список рассылки Linux Kernel о предложении по новой файловой системе, которая называется «PuzzleFS» и которую предлагается реализовать в виде модуля для ядра Linux.

головоломкаFS, файловая система, написанная на Rust, разработан сиско для размещения изотермических контейнеров и продолжает развитие идей, предложенных в файловой системе AtomfsFS, для решения
существующие ограничения формата OCI.

Привет всем!

Это экспериментальный драйвер, написанный для PuzzleFS. контейнерная файловая система следующего поколения [1]. Я включил краткое содержание. о головоломках ниже. Этот контроллер основан на rust-next ветке, в дополнение к которой я сделал резервную копию абстракций файловой системы...

Относительно развития проекта отмечается, что предназначен для обхода ограничений, возникающих при использовании образов контейнеров в формате OCI (Open Container Initiative). PuzzleFS решает проблемы como el эффективное хранение дубликатов данных, возможность прямого монтирования, lк воспроизводимому созданию образов и безопасности памяти.

Для дедупликации повторяющихся данных в разных контейнерах используется алгоритм FastCDC (Fast Content-Defined Chunking), который работает, разбивая данные на фрагменты произвольного размера и поддерживая хешированный индекс обрабатываемых фрагментов.

Повторяющиеся чанки сохраняются один раз и индексируются вместе для всех слоев ФС, т.е. дедупликация может охватывать разные точки монтирования (можно запустить новый слой ФС на основе существующего и использовать содержащиеся в нем фрагменты данных при дедупликации).

Повторяемая сборка образы контейнеров достигается определением канонического представления формата образ контейнера. Прямое монтирование позволяет монтировать образ контейнера OCI из глобального общего хранилища без его предварительной распаковки, используя в качестве идентификатора хэш содержимого манифеста контейнера.

Поддержка прямого монтирования является ключевой функцией Puzzlefs и вместе с fs-verity обеспечивает целостность данных. В настоящее время Puzzlefs реализована как файловая система пользовательского пространства (FUSE), хотя драйвер файловой системы ядра только для чтения находится в разработке.

Механизм fs-verity можно использовать для проверки целостности dданные по условиям использования общего хранилища, которое при обращении к файлам проверяет соответствие хэшей, указанных в бинарном индексе, фактическому содержимому.

Относительно языка программирования упоминается, что язык Rust был выбран потому, что он сочетает в себе высокую производительность результирующего кода с безопасными возможностями памяти, что снижает риск появления уязвимостей, вызванных такими проблемами, как доступ к памяти после освобождения и переполнение буфера памяти. Использование Rust для модуля ядра также позволило совместно использовать код между компонентами ядра и пользовательского пространства для создания единой безопасной реализации.

Наконец, упоминается, что другие цели проекта включают в себя построение и сборку изображений очень быстро, возможность использовать необязательный промежуточный этап для канонизации изображения, необязательный обход дерева файловой системы в стиле mtree при использовании многоуровневой структуры, изменения стиля casync, уменьшенное дублирование, поддержка прямого монтирования и гарантии безопасности памяти, некоторые из которых вдохновлены дизайном OCIv2. документ, между прочим.

Стоит отметить, что до сих пор реализация этой файловой системы все еще находится на стадии прототипа, поэтому ее использование или реализация в производственных средах не рекомендуется, но заинтересованным следует знать, что она совместима со сборкой с Linux rust-next. ветка ядра.

Наконец, для тех, кто заинтересован в том, чтобы узнать больше об этом, они должны знать, что код проекта открыт под Лицензии Apache 2.0 и MIT и вы можете проверить деталиОбратите внимание на следующую ссылку.


Оставьте свой комментарий

Ваш электронный адрес не будет опубликован. Обязательные для заполнения поля помечены *

*

*

  1. Ответственный за данные: AB Internet Networks 2008 SL
  2. Назначение данных: контроль спама, управление комментариями.
  3. Легитимация: ваше согласие
  4. Передача данных: данные не будут переданы третьим лицам, кроме как по закону.
  5. Хранение данных: база данных, размещенная в Occentus Networks (ЕС)
  6. Права: в любое время вы можете ограничить, восстановить и удалить свою информацию.