Composefs вместо развития отдельной ФС, теперь реализована поверх OverlayFS и EROFS
Автор
Сообщение
news_bot ®
Стаж: 6 лет 11 месяцев
Сообщений: 27286
Доступен экспериментальный выпуск файловой системы Composefs 0.1.4, предназначенной для совместного хранения содержимого нескольких примонтированных дисковых образов. Проект развивает Александр Ларсон (Alexander Larsson), создатель Flatpak, с целью повышения эффективности монтирования образов контейнеров и размещения Git-подобного репозитория OSTree. Код проекта написан на языке Си и распространяется под лицензией GPLv2.
Изначально первый вариант Composefs представлял собой отдельную ФС, реализованную в форме модуля для ядра Linux. В выпуске 0.1.4 подход к разработке полностью пересмотрен и поддержка работы в виде модуля ядра прекращена. Так как во многом Composefs пересекается с уже существующим кодом в ядре, решено, что проще будет развивать Composefs в виде надстройки над уже присутствующими в ядре ФС OverlayFS и EROFS.
Подобный подход даст возможность получить необходимую функциональность через включения в ядро ряда патчей к OverlayFS, без необходимости проходить длительный процесс рецензирования и согласования включения в основной состав ядра отдельной файловой системы. В текущем виде все требуемые от EROFS возможности уже присутствуют в ядре Linux, начиная с выпуска 5.15. В OverlayFS требуется добавление поддержки режима "data-only" для каталогов нижнего уровня и возможности сохранения хэшей fs-verity в расширенном атрибуте (xattr) overlay.metacopy. Первое изменение уже принято в состав ветки ядра 6.5-rc1, а второе добавлено в ветку overlayfs-next и ожидает включения в выпуске 6.6. Более того, если пользователю не требуется проверка целостности, то можно уже сейчас использовать Composefs со штатными ядрами Linux, не дожидаясь включения патчей к OverlayFS.
Помимо набора изменений к OverlayFS проектом Composefs развивается загружаемый в пространстве пользователя FUSE-модуль composefs-fuse, инструментарий для создания и монтирования ФС из пространства пользователя (mkcomposefs, mount.composefs) и формат образов (используются монтируемые образы erofs и расширенные атрибуты overlayfs). Так как проект основывается на уже готовых компонентах ядра, его стабильность оценивается как пререлиз - первый стабильный релиз планируется выпустить после принятия в ядро оставшихся патчей к OverlayFS.
Базовая функциональность Composefs сводится к построению многослойных ФС, в которых произвольные деревья ФС в режиме только для чтения накладываются поверх штатных ФС Linux, выступаюзщих в качестве нижнего слоя. От уже существующих похожих файловых систем, таких как SquashFS и EROFS, Composefs отличает поддержка совместного хранения содержимого разных образов и наличие функций для проверки подлинности читаемых данных. В Composefs применяется модель хранения с адресацией на основе содержимого, т.е. первичным идентификатором является не имя файла, а хэш от содержимого файла. Подобная модель обеспечивает дедупликацию и позволяет хранить только одну копию одинаковых файлов, встречающихся в разных примонтированных разделах.
Образы контейнеров содержат множество типовых системных файлов и в случае применения Composefs каждый из этих файлов будет совместно использован всеми примонтированными образами, без применения трюков, таких как проброс при помощи жёстких ссылок. При этом общие файлы не только хранятся в виде одной копии на диске, но и обходятся одной записью в страничном кэше, что даёт возможность экономить как дисковую, так и оперативную память.
Для экономии дисковой памяти данные и метаданные в Composefs разделены и при монтировании отдельно указывается бинарный индекс, в котором содержатся все метаданные файловой системы, имена файлов, права доступа и другие сведения. Индексы с метаданными создаются для каждого образа ФС и хранится в отдельном файле в формате EROFS. По сути образ контейнера представляет собой монтируемый в loopback-режиме образ EROFS, в котором присутствуют только метаданные. Непосредственно файлы всех монтируемых образов хранятся в общем базовом каталоге в обычной ФС (ext4, xfs, btrfs) и связываются с образом при помощи расширенного атрибута rusted.overlay.redirect, на базе которого OverlayFS находит необходимые файлы по хэшу содержимого.
Для верификации содержимого отдельных файлов и всего образа в условиях общего хранения применяется механизм fs-verity, который при обращении к файлам проверяет соответствие указанных в бинарном индексе хэшей с фактическим содержимым - если злоумышленник внесёт изменение в файл в базовом каталоге или данные повредятся в результате сбоя, то подобная сверка выявит расхождение.
Поддержка Composefs уже интегрирована в git-подобное хранилище
OSTree и поддерживается, начиная с выпуска OSTree 2023.4. Для включения в состав OSTree также переданы патчи, позволяющие выполнять проверку достоверности образов, используя цифровые подписи ed25519, что позволяет применять проверки, применяемые при загрузке в режиме UEFI Secure Boot, не только к ядру и initrd, но и ко всему пользовательскому окружению. Изменения для поддержки Composefs также подготовлены для библиотеки storage, что позволит использовать Composefs для хранения образов контейнеров в Podman.
===========
Источник:
OpenNet.RU
===========
Похожие новости
- Главная ссылка к новости (https://blogs.gnome.org/alexl/...)
- OpenNews: Для Linux предложена файловая система Composefs
- OpenNews: Доступна файловая система Reiser5
- OpenNews: Компания Cisco предложила файловую систему PuzzleFS для ядра Linux
- OpenNews: Компания Huawei предложила новую ФС EROFS для ядра Linux
- OpenNews: Обновление кластерной файловой системы LizardFS 3.13.0-rc2
Похожие новости:
- Уязвимость в OverlayFS, позволяющая повысить свои привилегии
- Для Linux предложена файловая система Composefs
- [Системное администрирование, Виртуализация, Серверное администрирование, DevOps] Хранение данных в Docker
- [Настройка Linux, Системное администрирование, *nix] Systemd для продолжающих. Part 2 — Триггеры на различные события
- [JavaScript, ReactJS] В чем разница между useLayoutEffect, componentDidMount, useEffect
- [Системное администрирование, Серверное администрирование, DevOps, Kubernetes] Хранение данных в кластере Kubernetes
- [Настройка Linux, Разработка под Windows] Microsoft добавила в подсистему Windows для Linux 2 (WSL2) возможность монтирования дисков
- [Настройка Linux, Разработка под Linux] Boot Ubuntu via http/ftp server with pxe(diskless boot)
- [*nix, Виртуализация, DevOps, Микросервисы] Исправление проблем под Docker. Казалось бы, при чём здесь GIT?
- [Настройка Linux] Виртуальные файловые системы в Linux: зачем они нужны и как они работают? Часть 2 (перевод)
Теги для поиска: #_composefs, #_overlayfs, #_erofs, #_mount
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы не можете скачивать файлы
Текущее время: 02-Фев 23:09
Часовой пояс: UTC + 5
Автор | Сообщение |
---|---|
news_bot ®
Стаж: 6 лет 11 месяцев |
|
Доступен экспериментальный выпуск файловой системы Composefs 0.1.4, предназначенной для совместного хранения содержимого нескольких примонтированных дисковых образов. Проект развивает Александр Ларсон (Alexander Larsson), создатель Flatpak, с целью повышения эффективности монтирования образов контейнеров и размещения Git-подобного репозитория OSTree. Код проекта написан на языке Си и распространяется под лицензией GPLv2. Изначально первый вариант Composefs представлял собой отдельную ФС, реализованную в форме модуля для ядра Linux. В выпуске 0.1.4 подход к разработке полностью пересмотрен и поддержка работы в виде модуля ядра прекращена. Так как во многом Composefs пересекается с уже существующим кодом в ядре, решено, что проще будет развивать Composefs в виде надстройки над уже присутствующими в ядре ФС OverlayFS и EROFS. Подобный подход даст возможность получить необходимую функциональность через включения в ядро ряда патчей к OverlayFS, без необходимости проходить длительный процесс рецензирования и согласования включения в основной состав ядра отдельной файловой системы. В текущем виде все требуемые от EROFS возможности уже присутствуют в ядре Linux, начиная с выпуска 5.15. В OverlayFS требуется добавление поддержки режима "data-only" для каталогов нижнего уровня и возможности сохранения хэшей fs-verity в расширенном атрибуте (xattr) overlay.metacopy. Первое изменение уже принято в состав ветки ядра 6.5-rc1, а второе добавлено в ветку overlayfs-next и ожидает включения в выпуске 6.6. Более того, если пользователю не требуется проверка целостности, то можно уже сейчас использовать Composefs со штатными ядрами Linux, не дожидаясь включения патчей к OverlayFS. Помимо набора изменений к OverlayFS проектом Composefs развивается загружаемый в пространстве пользователя FUSE-модуль composefs-fuse, инструментарий для создания и монтирования ФС из пространства пользователя (mkcomposefs, mount.composefs) и формат образов (используются монтируемые образы erofs и расширенные атрибуты overlayfs). Так как проект основывается на уже готовых компонентах ядра, его стабильность оценивается как пререлиз - первый стабильный релиз планируется выпустить после принятия в ядро оставшихся патчей к OverlayFS. Базовая функциональность Composefs сводится к построению многослойных ФС, в которых произвольные деревья ФС в режиме только для чтения накладываются поверх штатных ФС Linux, выступаюзщих в качестве нижнего слоя. От уже существующих похожих файловых систем, таких как SquashFS и EROFS, Composefs отличает поддержка совместного хранения содержимого разных образов и наличие функций для проверки подлинности читаемых данных. В Composefs применяется модель хранения с адресацией на основе содержимого, т.е. первичным идентификатором является не имя файла, а хэш от содержимого файла. Подобная модель обеспечивает дедупликацию и позволяет хранить только одну копию одинаковых файлов, встречающихся в разных примонтированных разделах. Образы контейнеров содержат множество типовых системных файлов и в случае применения Composefs каждый из этих файлов будет совместно использован всеми примонтированными образами, без применения трюков, таких как проброс при помощи жёстких ссылок. При этом общие файлы не только хранятся в виде одной копии на диске, но и обходятся одной записью в страничном кэше, что даёт возможность экономить как дисковую, так и оперативную память. Для экономии дисковой памяти данные и метаданные в Composefs разделены и при монтировании отдельно указывается бинарный индекс, в котором содержатся все метаданные файловой системы, имена файлов, права доступа и другие сведения. Индексы с метаданными создаются для каждого образа ФС и хранится в отдельном файле в формате EROFS. По сути образ контейнера представляет собой монтируемый в loopback-режиме образ EROFS, в котором присутствуют только метаданные. Непосредственно файлы всех монтируемых образов хранятся в общем базовом каталоге в обычной ФС (ext4, xfs, btrfs) и связываются с образом при помощи расширенного атрибута rusted.overlay.redirect, на базе которого OverlayFS находит необходимые файлы по хэшу содержимого. Для верификации содержимого отдельных файлов и всего образа в условиях общего хранения применяется механизм fs-verity, который при обращении к файлам проверяет соответствие указанных в бинарном индексе хэшей с фактическим содержимым - если злоумышленник внесёт изменение в файл в базовом каталоге или данные повредятся в результате сбоя, то подобная сверка выявит расхождение. Поддержка Composefs уже интегрирована в git-подобное хранилище OSTree и поддерживается, начиная с выпуска OSTree 2023.4. Для включения в состав OSTree также переданы патчи, позволяющие выполнять проверку достоверности образов, используя цифровые подписи ed25519, что позволяет применять проверки, применяемые при загрузке в режиме UEFI Secure Boot, не только к ядру и initrd, но и ко всему пользовательскому окружению. Изменения для поддержки Composefs также подготовлены для библиотеки storage, что позволит использовать Composefs для хранения образов контейнеров в Podman. =========== Источник: OpenNet.RU =========== Похожие новости
|
|
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы не можете скачивать файлы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы не можете скачивать файлы
Текущее время: 02-Фев 23:09
Часовой пояс: UTC + 5