ComposeFS, et filsystem fra skaberen af ​​Flatpak

composefs

componefs er et nyt filsystem foreslået til Linux

For nylig brød nyheden det Alexander Larsen, skaberen af ​​Flatpak hos Red Hat, har indsendt en forhåndsvisning af de patches, der implementerer filsystemet ComposeFS til Linux-kernen.

Det foreslåede filsystem ligner Squashfs og er også velegnet til montering af skrivebeskyttede billeder. Forskellene bunder i ComposeFS's evne til effektivt at dele indholdet af flere monterede diskbilleder og understøttelse af læsbar datagodkendelse.

Applikationsområder, hvor ComposeFS kan være efterspurgt, er montering af containerbilleder og brug af et Git-lignende OSTree-lager. Dette gør det muligt at dele indholdsfiler mellem billeder, selvom metadata (såsom tidsstempler eller filejerskab) varierer mellem billeder.

ComposeFS bruger en indholdsbaseret adresseringsmodel, det vil sige, at den primære identifikator ikke er filnavnet, men en hash af filens indhold. Denne model giver deduplikering og tillader kun at gemme én kopi af de samme filer fundet på forskellige monterede partitioner.

I det væsentlige er composefs en måde at bygge og bruge skrivebeskyttede billeder på. som bruges på samme måde som du ville bruge for eksempel loopback squash billeder. Ud over dette har composefs to nye grundprincipper funktioner. For det første tillader det fildata at blive delt (både på disk og på side cache) mellem billeder, og for det andet har du dm-verity like læse validering.

For eksempel containerbilleder indeholder mange almindelige filer system og med Composefs vil hver af disse filer blive delt af alle monterede billeder uden brug af tricks som videresendelse med hårde links.

Samtidig gemmes delte filer ikke kun som en enkelt kopi på disken, men administreres også af en post i sidecachen, så både disk og RAM kan gemmes.

Composefs understøtter også fs-verity-validering af indholdsfiler. Ved at bruge dette gemmes indholdsfilernes sammenfatning i billedet, og composefs vil validere, at indholdsfilen, den bruger, har en fs-verity-sammendrag aktiveret til matchning. Det betyder, at backing-indholdet ikke kan ændres på nogen måde (ved en fejl eller ondskab) uden at blive opdaget, når filen bruges.

Du kan også bruge fs-verity på selve billedfilen og sende den forventede fs-verity digest som en monteringsmulighed, som vil blive valideret af composefs. I dette tilfælde har vi fuld tillid til både dataene og metadataene for den monterede fil. Dette løser en svaghed, som fs-verity har, når den bruges alene, idet den kun kan verificere fildata, ikke metadata.

For at spare diskplads adskilles data og metadata i monterede billeder. Når det er monteret, angiv:

  • Et binært indeks, der indeholder alle filsystemmetadata, filnavne, tilladelser og andre oplysninger undtagen det faktiske indhold af filerne.
  • Basismappen, hvor indholdet af alle monterede billedfiler er gemt. Filer gemmes i forhold til hashen af ​​deres indhold.
  • Der oprettes et binært indeks for hvert FS-billede, og basismappen er den samme for alle billeder. For at verificere indholdet af individuelle filer og hele billedet under delte lagringsforhold, kan fs-verity-mekanismen bruges, som ved adgang til filer verificerer, at hasherne angivet i det binære indeks svarer til indholdet. real (dvs. hvis en angriber foretager en ændring af en fil i basisbiblioteket, eller data er beskadiget som følge af en fejl, vil en sådan afstemning afsløre en uoverensstemmelse).

endelig hvis du er det interesseret i at vide mere om det, kan du kontrollere detaljer i følgende link.