neprihlásený Sobota, 25. apríla 2026, dnes má meniny Marek
ZFS pridal odstraňovanie duplikovaných dát na úrovni súborového systému

DSL.sk, 3.11.2009


Spoločnosť Sun rozšírila funkčnosť svojho pokročilého súborového systému ZFS, Zettabyte File System, o ďalšiu zaujímavú funkciu, šetrenie miesta automatickým rozpoznávaním a odstraňovaním duplikovaných dát už na úrovni súborového systému.

V novej verzii môže súborový systém ZFS porovnávať jednotlivé bloky zapisovaných dát pomocou kontrolnej hash sumy, ktorú ZFS umožňoval vypočítavať aj doteraz. Ak sa pomocou zhody kontrolnej sumy zistí, že rovnaký blok dát už na disku je, ZFS nealokuje pre aktuálne zapisované dáta nový blok ale použije len odkaz na už existujúci blok.

Tým sa na súborových systémoch, ktoré obsahujú rovnaké alebo podobné súbory, môže výrazne šetriť miesto a zároveň zrýchliť výkon znížením počtu zápisov na disk. Výrazná úspora miesta môže byť dosiahnutá napríklad na súborových systémoch so zálohami alebo viacerými obrazmi virtuálnych strojov s inštalovaným rovnakým OS.

Na súborových systémoch s malým množstvom duplikovaných dát bude pri zapnutom odstraňovaní duplicity ale výkon ZFS mierne znížený, pre výpočet a hľadanie zhodných kontrolných súm.

U ZFS je možné použiť ako kontrolnú hash sumu SHA-256 alebo rýchlejšiu Fletcher-4. Už porovnanie kontrolných súm s veľmi vysokou pravdepodobnosť pre praktické účely považovanou za istotu garantuje zhodnosť kompletných blokov dát, užívatelia ale majú aj možnosť nastavenia úplného porovnania celých blokov, samozrejme v kombinácii s nájdením zhodných blokov pomocou porovnania kontrolných súm.

O podpore odstraňovania duplikovaných dát priamo v ZFS informoval šéf vývoja ZFS Jeff Bonwick. V súčasnosti je podpora už pridaná v dostupných testovacích verziách ZFS, kedy bude oficiálne sprístupnená v rámci Solaris a OpenSolaris zatiaľ spoločnosť neohlásila.



Najnovšie články:

SPP spustil "veľké" batériové úložisko
Kryptografiu odolnú kvantovým počítačom už nasadil aj šifrujúci ransomvér
Zákaz zahraničných routerov v USA sa týka aj prenosných routerov, udelená ďalšia výnimka
Ďalší seriál Apple o alternatívnom vývoji dobývania vesmíru začne v máji, ukážka
SpaceX si chce vyrábať GPU
Tesco bude mesiac rozvážať potraviny zakúpené cez Internet zdarma, rozšírilo dostupnosť predaja
AV1 sa začal používať v RDP pre vzdialený desktop
Predaje elektromobilov majú rásť pomalšie
Nvidia uvedie CPU pre PC možno 1. júna, objavila sa doska s týmto CPU
Postapokalyptický seriál od Apple bude pokračovať od júla, ukážka


Diskusia:
                               
 

Dalsi filesystem s tou istou funckiu sa vola LessFs. Myslim, ze ma zapnutu navyse aj kompresiu. Viac info tu:
http://www.lessfs.com/wordpress/

Kompilovat som sa ho este nepokusil.
Odpovedať Známka: 10.0 Hodnotiť:
 

hmm zaujimave este som o tomto fs nepocul... idem ho schvalne skusit skompilovat ;)
Odpovedať Známka: 6.7 Hodnotiť:
 

ZFS ma tiez kompresiu.
Odpovedať Hodnotiť:
 

Milujem jak tu kazdy hovori o funkcii co uz davno existuje. Tento typ suboroveho systemu sa vyuziva na 99% pri vacsich storagoch, a tam to novinkou vobec neni. Napriklad IBM uz ma davno komplexne riesenie, menom data deduplication, a maju to podstatne lepsie vyriesene. Proste Slniecko chcelo mat nieco svoje tak okukalo konkurenciu
Odpovedať Hodnotiť:
 

počkať ale čo ak si vytvorím kópiu (zálohu) súboru ktorý idem práve editovať... to potom editáciou stratím aj originál ? :-D
bude to vedieť rozoznať ? ak hej a dosť rýchlo tak je to super nápad (:
Odpovedať Známka: 3.3 Hodnotiť:
 

samozrejme nie, vsetky tieto duplicitne "linky" na rovnaky blok su samozrejme vzdy natvrdo a navzdy a zmena jedneho suboru sposobi zmenu druheho. Tvorcovia to volaju "randomize my files feature" ;)
Odpovedať Známka: 8.5 Hodnotiť:
 

a to se vyplati :)
Odpovedať Známka: 3.3 Hodnotiť:
 

nechapem. To ako ked mam subor a urobim jeho zalohu na rovnakej particii, tak sa urobi iba odkaz, a na disku bude zapisany len 1 subor. Potom ked tento povodny subor zmenim, tak odkaz ostane tak ako bol iba bude odkazovat na ten zmeneny subor? To je blbost, ne? Nebude to nahodou tak, ze pri zmene povodneho suboru alebo odkazu, sa vytvoria 2 subory kde povodny sa zmeni, a odkaz zanikne a vytvori sa kopia povodneho suboru? To by uz malo logiku.
Odpovedať Známka: 10.0 Hodnotiť:
 

tiez by som to chapal tak, ze pri editacii suboru na ktory ide viac liniek sa proste vytvori nova kopia....
Odpovedať Známka: 10.0 Hodnotiť:
 

zjavne mate problem pochopit ze ked editujes subor tak sa nebudu menit data na disku ale odkazy na bloky... ak zmenis subor test.txt ktory pozostava z blokov 1465,5465,2443248 a 98553 tak v pripade ze ho zmenis tak pokial su tie bloky vyuzivane inymi subormi tak tie bloky nezmaze ale pouzije ine existujuce bloky (pokial hash sedi) a pripadne ak potrebuje vytvori nove. takze po ulozeni test.txt sa bloky 1465,5465,2443248 a 98553 nezmenia ale test.txt uz bude odkazovat na bloky 1465, 16541,11792198, 1403249 a 666 ;)
Odpovedať Známka: 10.0 Hodnotiť:
 

nechapes, mas subor A, ktory ma bloky 1 a 2, mas subor B, ktory ma bloky 3 a 4, zrazu ZFS zisti, ze blok 2 = 4 potom linkne blok 4 na blok 2 a samozrejme to si zapise. Cize potom ked zmenis blok 2 v subore A, tak sa linka zmaze a pre subor B pouzije sa povodny blok 4. Vsetko chodi ako ma
Odpovedať Známka: 10.0 Hodnotiť:
 

mam subor na blokoch 1,2. vytvorim novy subor bl. 3,4,5,6, pricom 4=1 a 5=2, cize 4 bude linka na 1 a 5 na 2. a teraz sa mi poskodi medium na bolokoch 1 a 2. stratim subor 1 a prakticky aj subor 2?
Odpovedať Hodnotiť:
 

ZFS kontroluje a vie odhalit data corruption a v pripade ze mas redundantny pool tak ti tie corrupted data vie aj obnovit... data mas tak v bezpeci ako chces. jasne ze nebudes pouzivat na kriticke data najlacnejsi disk bez akehokolvek zalohovania so zapnutym data deduplication nie?
Odpovedať Hodnotiť:
 

Samozrejme, že to rozpoznáva. To nepracuje na úrovni súborov ale blokov, z pohľadu ZFS sa blok needituje ale zapisuje zmenený. A ak sa zapisuje zmenený blok, ktorý je použitý aj iným súborom (detekované pomocou počítadla), neprepíše sa ale vytvorí sa jeho kópia, prípadne sa odkáže opäť na iný existujúci rovnaký blok. U ZFS to nie je veľká zmena, keďže ZFS už má podporu copy-on-write.
Odpovedať Známka: 10.0 Hodnotiť:
 

komicke bude, ked sa bude chciet uvolnit miesto na disku zmazanim dat. vymazete nieco, a miesto sa neuvolni.. o-]
Odpovedať Známka: 10.0 Hodnotiť:
 

uvolni.. par bytov na meno mazaneho fajlu a nejake desriptory...
ale zaujimavejsie bude ze budes mat plny disk a stale kopirovat do aleluja nove a nove veci
Odpovedať Známka: 10.0 Hodnotiť:
 

alebo taka statistika:
volume size: 2.0 TB
used: 3.5 TB
free: 1.2 T
:)
to bude bordel. ale inak super ficura. tesim sa na nu, nakolko zfs pouzivam a toto by mi asi pomohlo.
Odpovedať Známka: 8.3 Hodnotiť:
 

alebo mas c:/mp3/abc.mp3 a c:/zalohy/abc.mp3 (co je odkaz) a zmazes c:/mp3/abc.mp3 sak ved to mas v zalohach.
Odpovedať Známka: -5.0 Hodnotiť:
 

... noa??? zmaze sa HLAVICKA abc.mp3 ktora obsahuje zoznam blokov kde sa ten subor nachadza... samotne BLOKY sa nemazu. to inak nerobi ani ntfs a pokial viem tak vacsina filesystemov maze iba hlavicku a samotne data prepisuje az casom - ked to je potrebne. Predstav si ze by si zmazal dajme tomu 8gb image niecoho a filesystem by chcel vsetky bloky kde sa ten subor nachadzal premazat nulami/nahodnymi datami. Nebolo by to zrovna najrychlejsie ci myslis ze hej?
Odpovedať Známka: 10.0 Hodnotiť:
 

napisal som to x krat a este x krat to napisem - ZFS FTW! ;)
Odpovedať Známka: -6.0 Hodnotiť:
 

pre isty okruh ludi je to uzitocna vec, pre inych je to totalna hovadina. pre ludi, ktori nevedia na disku organizovat veci je to takmer idealne. pre ludi, ktori si robia umyselne zalohy a duplikovane subory kvoli roznym modifikaciam je to len kontraproduktivna vec. ale asi sa to da vypnut...
Odpovedať Známka: -10.0 Hodnotiť:
 

Este by ma zaujimala jedna vec. Niekedy si nakopirujem ten isty subor, aby som ho neskor upravil. Popripade ho mam ako zalohu.

Ako si s tymto budem isty, ze mi to moju kopiu nezmaze, a ked si budem chciet beztrestne nieco upravit v kopii neupravi mi to aj originalny subor??

Bude sa mi v takom pripade ukladat na pozadi kopia originalu?
Odpovedať Hodnotiť:
 

podla mna, ktorukolvek z kopii editujes, tak sa vytvori novy subor.
Odpovedať Známka: 7.1 Hodnotiť:
 

podla mna necitas co sa tu vsade pise...
Odpovedať Známka: 10.0 Hodnotiť:
 

predstav si subor ako vrecusko s cislami schranok ktore dokopy davaju obsah. ak chces vytvorit "kopiu" toho suboru tak do ineho vrecuska das rovnake cisla. A teraz sa rozhodnes "obsah" tej kopie upravit - vytvoris obsah a zistis ktore casti toho obsahu vytvoril uz niekto iny, na tieto casti iba odkazes cislom schranky a tie casti ktore zatial neexistuju das do novych schranok a ich cisla tiez vhodis do "kopie". Tak ti vzniknu 2 vrecuska ktore budu odkazovat na rozne schranky (ale samozrejme je mozne ze niektore schranky budu spolocne) a tvorit budu rozny obsah. Ked sa rozhodnes subor zmazat tak len vysypes tie vrecuska do kosa - obsah ostane stale v schrankach a ak danu schranku nebude pouzivat ziaden "subor" tak ju mozes oznacit ako vhodnu na vymenu obsahu...

viac po lopate to uz vysvetlit neviem
Odpovedať Hodnotiť:
 

a kde v tom vydis problem? spravim
%cp test.py test2.py - tieto subory budu rovnake - ergo budu odkazovat na rovnake bloky
%vim test2.py - spravim upravy, zmenim co potrebujem atd atd a ulozim - tie bloky ktore su stale pre test.py a test2.py spolocne ostanu odkazy zatialco zmenene bloky v test2.py sa zapisu do volnych blokov na disku. nechapem co je na tom kontraproduktivne...
Odpovedať Známka: 10.0 Hodnotiť:
 

Problem, ak sa porovnavaju iba kontrolne sucty, su kolizie v kontrolnych suctoch, ktore sa mozu objavit a viest ku strate dat, ktoru si suborovy system vobec nevsimne. Je nutne porovnavat samotne bloky, ak nechce niekto prist tymto sposobom o data, aj ked sanca je velmi mala.
Odpovedať Známka: -3.3 Hodnotiť:
 

pre SHA-2 zatial neboli najdene ziadne kolizie takze toto riziko by nemalo vznikat...
Odpovedať Známka: 10.0 Hodnotiť:
 

Uz z principu mapovania N kombinacii (512B blok dat) na L kombinacii (32B kontrolna suma), pricom L < N, je jasne, ze kolizie musia existovat.
Co nebolo pre SHA-2 objavene je ako ku konkretnym datam a ich SHA-2 hashu najst ine data s rovnakym hashom, co je asi aj tak len otazkou casu.
Dobra otazka v tejto suvislosti je, ci pravdepodobnost kolizie je porovnatelna s pravdepodobnostou zlyhania na HW urovni (chybne zapisane data na disku), a ked ano, tak je to asi jedno.
Odpovedať Známka: 10.0 Hodnotiť:
 

ano ja tomu rozumiem ;) ved preto som napisal zatial. povedal by som ze ta pravdepodobnost je prilis mala na to aby mohla nejak vyznamnejsie ovplyvnovat spolahlivost zapisanych dat.
Odpovedať Hodnotiť:
 

Logikou hashu je reprezentovanie "veľkého" čísla(bloku dát - rádovo kB) "malým" číslom(rádovo B). V takomto prípade nutne existuje viac blokov s rovnakým hashom. Jedinečnosť hashu by bolo možné zaručiť len v prípade, že by bol hash rádovo rovnako veľký ako hashovaný údaj. V takom prípade by ale stratilo hashovanie význam...
Odpovedať Známka: 10.0 Hodnotiť:
 

ano ale cim je velkost hashu vacsia tym je mensia pravdepodobnost kolizie - ako som pisal vyssie - pre sha-256 zatial nebola kolizia najdena ( o jej existencii sa ale neda pochybovat )
Odpovedať Známka: 6.0 Hodnotiť:
 

Tu ale vobec nejde o to, ci bola najdena matematicka metoda na vyrobu kolizie. Ulohou FS je ukladat data a nie hladat kolizie:D Navyse, napriklad taky 2TB filesystem je povedal by som ich prirodzeny generator:D Iba skutocny hazarder, si ponecha na citlive data overovanie iba na zaklade hashu...
Odpovedať Známka: 3.3 Hodnotiť:
 

hovorim o tom ze xy ludi sa snazilo hladat kolizie danej funkcie a zatial ju nenasli... a mily moj hlavne si uvedom ze 2TB filesystem nieje 2TB blok, bloky su podstatne mensie. u zfs to je tusim max 128kbytov - na takomto priestore je sanca vzniku kolidujuceho hashu podstatne nizsia...
Odpovedať Hodnotiť:
 

jo a principialne pri hashovani sa snazis do "premennej"(hash) s konecnym mnozstvom hodnot premietnut v podstate "nekonecnu" mnozinu vstupnych dat...
Odpovedať Hodnotiť:
 

Dá sa tam nastaviť, aby sa pri rovnakom hash vykonala aj kontrola, či tie bloky naozaj obsahujú totožné údaje (hlavne pri tej funkcii Fletcher-4 je to potrebné, pri iných hash funkciách to potrebné nemusí byť).
Odpovedať Hodnotiť:
 

Ano, tak nejako si predstavujem idealne riesenie.
Odpovedať Hodnotiť:
 

Vysvetlenie pre lamy:
Nerobi sa duplicita suborov, ale blokov!

Príklad:
Subor ABC sa sklada z blokov 00000000 11111111 11101010
Subor DEF sa sklada z blokov 00000000 11111111 01101110
Výsledk na disku pre DEF : linkABC1 linkABC2 01101110

Co z toho vypliva? Pri ukladani suboru DEF sa na disku najdu take iste bloky a ak sa najdu tak sa len prelinkuju.

Chcem zmazat ABC subor? Ok. Zmazem neprelinkovane veci tj. 11101010. Este pochopte, ze link nie je linkovany na nazov suboru, ale na poziciu na disku.

A vy BFU sa o ine veci nestarate, fungujete normalne, nezaujimate sa co robi spodna vrstva filesystemu.
Odpovedať Známka: 8.2 Hodnotiť:
 

A ako vyriesili, ked mnozstvo zmien v subore je vacsie ako mnozstvo volneho miesta na disku? Proste zmeny sa nemaju kam prelinkovat, nasleduje revert a chyba alebo len chyba?
Odpovedať Hodnotiť:
 

To je pravda, ze v case ked aplikacia zapisuje blok, nie je este jasne, ci je pren dostatok miesta. Ale teoreticky staci mat rezervu pre jeden blok a nasledne alokaciu dalsieho uz nedovolit (a nastane chyba - device is full)
Odpovedať Hodnotiť:
 

Mensia oprava, ZFS uz oficialne nie je skratka Zettabyte Filesystem ale samotny nazov pokial viem..

Pekna featura, ale keby radsej konecne spravili nejaky softwer na obnovu dat z rozbiteho ZFS poolu, uz rok mi tu nanho caka jeden disk..
Odpovedať Hodnotiť:
 

Ja cakam na Duke Nukem Forever, ale asi budem Waiting Forever :D
Odpovedať Hodnotiť:
 

Aj ja cakam, ale bude akcia, budu ho zadarmo davat k MS Office 2010 pre linux :-D
Odpovedať Známka: 10.0 Hodnotiť:
 

:)) pokial si pamatam tak prvy trailer bol este niekedy v 1997... minimalne 3 zmeny enginu (tusim quake2,unreal,quake3 a mozno este dalej) a tusim ze vyvoj bol uz pozastaveny...
Odpovedať Hodnotiť:
 

Mam particiu a na nej 2 virtualne pocitace a totoznymi virtualnymi diskami (2 kopie), kazda ma 10GB a na disku mam volnych 5GB. Co sa stane, ak 1 z tychto 2 virtualnych pocitacov pustim? Disk plny a data v prdeli, ci data v prdeli a disk plny? :-)
Odpovedať Hodnotiť:
 

Beriem s5, toto [1] som si precital az teraz a prehliadol som, ze ide o bloky, nie o subory :-)

[1] Prispevok:
Pre lamy
Od: vadimosk | Pridané: 3.11.2009 11:15

Odpovedať Hodnotiť:
 

nabuduce staci citat pozornejsie aj samotny clanok :)
Odpovedať Hodnotiť:

Pridať komentár