Александър Ларсон (Alexander Larsson), създател на Flatpak, работещ в компанията Red Hat, представи предварителна версия на пачове с реализация на файловата система Composefs за ядрото на Linux. Предложената файловата система наподобява Squashfs и също така е подходяща за монтиране на образи в режим само за четене. Разликите се свеждат до осигуряване в Composefs на ефективно съвместно съхранение на съдържанието на няколко монтирани дискови образа и поддръжка на проверка на автентичността на четените данни. Като области на приложение, в които може да бъде търсена FS Composefs, се посочва монтиране на контейнери и използването ѝ за Git-подобно хранилище OSTree.
В Composefs се прилага модел на съхранение с адресация на базата на съдържание, т.е. основният идентификатор не е името на файла, а хеш от съдържанието на файла. Подобен модел осигурява дедупликация и позволява да се съхранява фактически само една копия на идентични файлове, които се срещат в различни монтирани дялове. Например, образите на контейнери съдържат множество стандартни системни файлове и в случай на прилагане на Composefs всеки от тези файлове ще бъде споделен от всички монтирани образи, без да се прилагат трикове като пренасочване с помощта на твърди връзки. При това, общите файлове не само се съхраняват в една копия на диска, но и се отразяват с една запис в страницовия кеш, което осигурява икономия на дисково и оперативна памет.
За икономия на дисково пространство данните и метаданните в монтираните образи са разделени. При монтиране се указват:
- Бинарен индекс, в който се съдържат всички метаданни на файловата система, имената на файловете, правата на достъп и друга информация, с изключение на самото съдържание на файловете.
- Основен каталог, в който се съхранява съдържанието на файловете на всички монтирани образи. Файловете се съхраняват свързани с хеша на съдържанието си.
Бинарният индекс се създава за всеки образ на ФС, а основната директория е единствена за всички образи. За проверка на съдържанието на отделни файлове и целия образ в условията на общо съхранение може да се използва механизмът fs-verity, който при достъп до файловете проверява съвпадението между указаните в бинарния индекс хешове и действителното съдържание (т.е. ако злонамерен човек направи промени в файла в основната директория, или данните се повредят в резултат на срив, подобна проверка ще разкрие несъответствието).
Източник: opennet.ru
