componefs е нова файлова система, предложена за Linux
В края на миналата година споделяме тук в блога информация за нова файлова система, върху която сте работили Александър Ларсон, създателят на Flatpak и сега по този повод той обяви пускането на първата стабилна версия файлова система ComposeFS.
ComposeFS е „нова“ файлова система, която е оптимизиран за ефективно споделяне на съдържанието на множество монтирани дискови изображения. На практика ComposeFS може да бъде полезен за монтиране на изображения на контейнери и хостване на подобно на Git OSTree хранилище.
Относно ComposeFS
В началото на разработването на ComposeFS, Изпълнението му беше замислено като отделен модул на ядрото на Linux, но с течение на времето В развойната работа Александър Ларсон споменава това Той осъзна, че насърчаването на нов FS в основната структура на ядрото Много по-сложно е За това, което си мислех. Това е така разработчиците промениха тактиката и преработиха проекта под формата на плъгин относно FS OverlayFS и EROFS, които вече присъстват в ядрото, чиято функционалност частично се припокрива с ComposeFS. Следователно работата по интегрирането на поддръжката на ComposeFS в ядрото на Linux е намалена до насърчаване на корекции за OverlayFS и EROFS, които прилагат специфичните възможности, необходими за FS.
Споменава се, че Функционалността на EROFS отговаря на изискванията на ComposeFS започвайки с версия на ядрото 5.15. Промените в OverlayFS бяха направени на няколко етапа: В ядрото 6.5 беше включена поддръжка за слоеве „само за данни“, които се използват само за данни (отделени от метаданни).
Останалите промени, заедно с възможността за съхраняване на fs-verity хешове в разширения атрибут overlay.verity (xattr), бяха приети наскоро в тестовото ядро 6.6-rc1, отбелязвайки включването на цялата функционалност, необходима за стартиране на Composefs на Linux.
Александър Ларсон споменава, че благодарение на приемането на всички необходими промени в ядрото е възможно да се определи и коригира окончателният формат на изображението на ComposeFS и с което може да бъде пусната първата стабилна версия на файловата система, стабилизирайки формата за съхранение и API/ABI библиотеката.
Основни нови функции в ComposeFS 1.0
Сред функционалните разлики на тази стабилна версия по отношение на предишните разработки е въвеждане на оптимизации, които повишават ефективността на формата за съхранение, В допълнение, използването на инструменти, вградени в подсистемата на ядрото fs-verity за проверка на цифрови подписи, сега се избягва в полза на библиотеки, които работят в потребителско пространство.
Друг акцент е помощна програма composefs-info за проверка на файлове с изображения на ComposeFS и идентифициране на несъответствия между метаданни и данни, съхранявани отделно.
В допълнение, за монтиране на ComposeFS вече се използват модулът FUSE, зареден в потребителското пространство composefs-fuse и помощната програма mount.composefs, а помощната програма mkcomposefs се предоставя за създаване на FS.
за проверете съдържанието на отделните файлове и пълното изображение при споделени условия на съхранение, използва се механизъм fs-verity който при достъп до файлове проверява съответствието на хешовете, посочени в двоичния индекс, с действителното съдържание, ако нападателят направи промяна във файл в основната директория или данните са повредени в резултат на повреда, такова съгласуване ще разкриват несъответствие.
Струва си да се спомене, че от проектите, които вече използват ComposeFS, има Ostree и Container Storage Library. Git хранилището на Ostree поддържа напълно ComposeFS, включително възможности за проверка на съдържанието, но кодът засега остава маркиран като експериментален.
Библиотеката за съхранение на контейнери предоставя първоначална реализация на бекенд, който използва ComposeFS за съхраняване на изображения на контейнери. След като бъде завършен, бекендът може да се използва за използване на ComposeFS за дедупликация и анти-спуфинг на изображения, управлявани чрез Podman.
Накрая ако се интересувате да научите повече за това, можете да проверите подробностите в следната връзка.