Wpis z mikrobloga

Interesuje mnie czy istnieje system plików, z mechanizmem gdzie, jeżeli system "zobaczy", że występuje np 5 duplikatów plików, wtedy utworzy jedną fizyczną instancję pliku, oraz pięć wirtualnych (użytkownik nie był by nawet tej warstwy świadomy), aby zaoszczędzić miejsce. Oczywiście fizyczna instancja zostałaby skasowana z chwilą skasowania ostatniej instalacji wirtualnej.
Ps. Właśnie przyszło mi głowy, że jakakolwiek modyfikacja wirtualnego pliku, wymusiłaby natychmiastowe utworzenie kopii :( hmm albo zamiast kopii trzymać info o różnicy..?

#programowanie #systemplikow #lowlevel #linux #cpp
  • 8
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@czlowiek_z_lisciem_na_glowie: od siebie dodam tylko, że deduplikacja danych w locie (tzn. jest tak piszesz — użytkownik sobie zapisuje plik, a fs sprawdza, czy tego już gdzieś nie widział; w przeciwieństwie od deduplikacji na żądanie, gdzie plik jest zapisywany normalnie, a root może nakazać systemowi deduplikację) żre bardzo dużo RAM-u i nie jest dostępna w BTRFS.
  • Odpowiedz
@czlowiek_z_lisciem_na_glowie: między innymi zfs z włączoną opcją deduplikacji. Przy czym działa to nie w warstwie plików, a w warstwie danych. Także jeżeli jakieś dane powtarzają się w kilku, nawet częściowo różnych plikach, to też miejsce będzie zaoszczędzone.
  • Odpowiedz
@czlowiek_z_lisciem_na_glowie: rozwiązaniem które będzie zapewne popularne w przyszłości jest VDO, działa to na poziomie urządzenia blokowego, czyli poziom niżej niż system plików i dodatkowo oferuje kompresję. Problem z nim jest jeden - to cudo zostało zakupione wraz z PermaBit przez Red Hata dość niedawno i jeszcze nie jest w upstream kernelu. Kiedy będzie? Ciężko powiedzieć ale patrząc na kod raczej nie prędko. Można się tym pobawić na RHELu i na
  • Odpowiedz