Zobrazit příspěvky

Tato sekce Vám umožňuje zobrazit všechny příspěvky tohoto uživatele. Prosím uvědomte si, že můžete vidět příspěvky pouze z oblastí Vám přístupných.


Příspěvky - asdffff

Stran: [1]
1
Vývoj / Re:FUSE súborový systém à la "overlayfs+tmpfs"
« kdy: 30. 06. 2020, 16:22:37 »
Než dáte rok života do FUSE, koukněte se na device mapper, jeho "snapshot" target.

V podstatě vezmete lower device (může, ale nemusí být read-only), vezmete nebo vytvoříte upper device (/dev/ram0, /dev/loop0, ... fantasii se meze nekladou), a spojíte je do jednoho:

lower=/dev/sda1
upper=/dev/ram0
size=$(blockdev --getsz "$lower")
chunks=8 # granularita v 512B blocích

echo "0 $size snapshot $lower $upper P $chunks" | dmsetup create kybl


Potom si už můžete /dev/mapper/kybl připojit a používat. Zapsané změny oproti $lower se zapíší ve 4K blocích do $upper.

Když chcete, můžete změny z $upper propsat do $lower (nebo do třetího block device), konkrétní dm-inkantaci si dohledejte :)

Áno, to by bolo asi super riešenie, ak by som potreboval overlaynut celé blokové zariadenie. Tu ma ale zaujíma len nejaký podstrom moutnutého fs, nad ktorým môžem robiť (dočasné) zmeny.

2
Vývoj / FUSE súborový systém à la overlayfs+tmpfs
« kdy: 30. 06. 2020, 10:05:26 »
Ahojte,

už nejaký čas používam kombináciu OverlayFS, tmpfs a squashfs ako dočasný, prekrývajúci súborový systém:
  • overlayfs, kde lowerdir je zložka z môjho lokálneho disku a upperdir je tmpfs mount
  • squashfs používam na snapshoty zmien z upperdir. Ak chcem nejaký snapshot neskôr použiť, mountnem tento squashfs image a remountnem pôvodný overlayfs mount tak, aby bol medzi lowerdir cestami zahrnutý aj mount toho squashfs imidžu
  • v prípade potreby sa dajú vykonané zmeny zapísať späť na disk
spravil som si malý program, ktorý to celé automatizuje.

Využívam to v prípadoch, kedy ma nebude trápiť, že by som o tie uložené dáta prišiel:
  • výstupy z kompilácie
  • keď len niečo skúšam a nechcem si zasviniť disk

RAM pamäť je vzácny zdroj. Blbé je, že zmeny ktoré OverlayFS ukladá, nie sú zrovna kompaktné. Pred tým ako otvorím nejaký súbor na zápis, musí sa celý skopírovať do upperdir. Všetky zápisy sa vykonajú na tejto kópii. Ak je pôvodný súbor veľký, ale zmien málo...

Plánujem preto vytvoriť FUSE filesystem, ktorý by mal správanie porovnateľné s overlayfs+tmpfs+squashfs, ale hospodáril s pamäťou lepšie.  Priznám sa, že som takéto niečo ešte nerobil, každopádne je to zaujímavý problém.

Aktuálne zberám use-casei, kde by sa niečo takéto dalo reálne využiť - mimo mojej domácej spotreby. Myslíte, že sa oplatí do tohto investovať čas, alebo je to zbytočnosť? Vidíte nejaké iné prípady použitia? Virtuálky/kontajnery + read-only sieťový disk?

Vďaka za akékoľvek nápady!

Stran: [1]