Ang componefs ay isang bagong file system na iminungkahi para sa Linux
Kamakailan-lamang na ang balita ay sinira iyon Alexander Larson, ang lumikha ng Flatpak sa Red Hat, ay may nag-post ng preview ng mga patch na nagpapatupad ang file system ComposeFS para sa Linux kernel.
Ang iminungkahing sistema ng file kahawig ng mga Squashf at angkop din para sa pag-mount ng mga read-only na larawan. Ang mga pagkakaiba ay bumagsak sa kakayahan ng ComposeFS na mahusay na ibahagi ang mga nilalaman ng maraming naka-mount na mga imahe sa disk at suporta para sa nababasang pagpapatunay ng data.
Ang mga lugar ng aplikasyon kung saan maaaring in demand ang ComposeFS ay ang pag-mount ng mga imahe ng container at paggamit ng isang repositoryo ng OSTree na tulad ng Git. Nagbibigay-daan ito sa mga file ng nilalaman na maibahagi sa pagitan ng mga larawan, kahit na ang metadata (tulad ng mga timestamp o pagmamay-ari ng file) ay nag-iiba-iba sa pagitan ng mga larawan.
Gumagamit ang ComposeFS ng nakabatay sa nilalaman na modelo ng imbakan ng address, ibig sabihin, ang pangunahing identifier ay hindi ang pangalan ng file, ngunit isang hash ng mga nilalaman ng file. Ang modelong ito nagbibigay ng deduplikasyon at nagbibigay-daan upang mag-imbak lamang ng isang kopya ng parehong mga file na matatagpuan sa iba't ibang mga naka-mount na partisyon.
Sa esensya, ang mga composefs ay isang paraan upang bumuo at gumamit ng mga read-only na larawan. na ginagamit katulad ng kung paano mo gagamitin, halimbawa, loopback mga larawan ng kalabasa. Bilang karagdagan sa mga composefs na ito ay may dalawang bagong batayan mga tampok. Una, pinapayagan nitong maibahagi ang data ng file (kapwa sa disk at sa page cache) sa pagitan ng mga larawan, at pangalawa mayroon kang dm-verity like basahin ang pagpapatunay.
Halimbawa, ang naglalaman ang mga larawan ng container ng maraming karaniwang file system at sa mga Composefs, ang bawat isa sa mga file na ito ay ibabahagi ng lahat ng mga naka-mount na larawan, nang hindi gumagamit ng mga trick tulad ng pagpapasa gamit ang mga hard link.
Kasabay nito, ang mga nakabahaging file ay hindi lamang nakaimbak bilang isang kopya sa disk, ngunit pinamamahalaan din ng isang entry sa cache ng pahina, na nagpapahintulot sa parehong disk at RAM na mai-save.
Sinusuportahan din ng Composefs ang pagpapatunay ng fs-verity ng mga file ng nilalaman. Gamit ito, ang digest ng mga file ng nilalaman ay iniimbak sa larawan at ang mga composefs ay magpapatunay na ang file ng nilalaman na ginagamit nito ay may fs-verity digest na pinagana para sa pagtutugma. Nangangahulugan ito na hindi mababago ang backing content sa anumang paraan (sa pagkakamali o malisya) nang hindi natukoy kapag ginamit ang file.
Maaari mo ring gamitin ang fs-verity sa mismong file ng larawan at ipasa ang inaasahang fs-verity digest bilang opsyon sa pag-mount, na mapapatunayan ng mga composefs. Sa kasong ito, buo kaming nagtitiwala sa data at metadata ng naka-mount na file. Niresolba nito ang isang kahinaan na mayroon ang fs-verity kapag ginamit nang mag-isa, dahil maaari lamang nitong i-verify ang data ng file, hindi ang metadata.
Upang makatipid ng espasyo sa disk, pinaghihiwalay ang data at metadata sa mga naka-mount na larawan. Kapag naka-mount, tukuyin:
- Isang binary index na naglalaman ng lahat ng metadata ng file system, mga pangalan ng file, mga pahintulot, at iba pang impormasyon maliban sa mga aktwal na nilalaman ng mga file.
- Ang base na direktoryo kung saan naka-imbak ang nilalaman ng lahat ng naka-mount na file ng imahe. Ang mga file ay iniimbak na may kaugnayan sa hash ng kanilang nilalaman.
- Ang isang binary index ay nilikha para sa bawat FS na imahe at ang base na direktoryo ay pareho para sa lahat ng mga imahe. Upang i-verify ang nilalaman ng mga indibidwal na file at ang buong larawan sa ilalim ng mga nakabahaging kundisyon ng imbakan, maaaring gamitin ang mekanismo ng fs-verity, na, kapag nag-a-access ng mga file, bini-verify na ang mga hash na tinukoy sa binary index ay tumutugma sa nilalaman. real (iyon ay, kung ang isang umaatake ay gumawa ng pagbabago sa isang file sa base na direktoryo o data ay nasira bilang resulta ng isang pagkabigo, ang naturang pagkakasundo ay magpapakita ng pagkakaiba).
sa wakas kung ikaw nga interesadong malaman ang higit pa tungkol dito, maaari mong suriin ang mga detalye sa sumusunod na link.