Deduplikacja – tak, ale jaka?

Transkrypt

Deduplikacja – tak, ale jaka?
PRAKTYKA
Deduplikacja –
tak, ale jaka?
Wybierając backup dla firmy musimy zainwestować w odpowiednie
nośniki do przechowywania danych . Dla firm archiwizujących duże
ilości danych, koszty ich przechowywania mogą być palącym problemem.
Dlatego warto od razu na etapie wyboru rozwiązania sprawdzić, czy
Twój dostawca rozwiązań backupu potrafi skutecznie deduplikować
dane. Skuteczna deduplikacja sprawi, że zapisane dane zajmą znacznie
mniej miejsca i pozwoli zaoszczędzić tysiące złotych na kosztach
storage’u. Ale jak wybrać dobrą deduplikację?
Dowiesz się:
t Deduplikacja – tak, ale jaka?
t Co to jest deduplikacja danych
i jakie daje ona korzyści?
t Jak się tradycyjne metody
deduplikacji danych
Sławomir
Pruchnicki
Product Manager,
specjalizuje się w rozwiązaniach backupu
danych dla firm.
DAGMA Sp. z o.o.,
www.dagma.com.pl
I
dealne rozwiązanie backupowe powinno
pozwalać na krótki czas wykonywania backupu i osiągać jak najwyższy współczynnik
kompresji danych, by użytkownik mógł zaoszczędzić na drogiej infrastrukturze dyskowej.
Takie rezultaty daje technologia progresywnej
deduplikacji.
Co to jest deduplikacja danych i jakie
daje ona korzyści
Deduplikacja danych jest rodzajem „globalnej kompresji” wyszukującej podobieństwa
w backupowanych zbiorach. Z uwagi na fakt,
iż dana zawartość występująca w zbiorze musi
47
by HAKIN9
Powinieneś wiedzieć
t Na czym polega eliminacja identycznych
duplikatów (Single-Instance Storage)
t Deduplikacja blokiem o stałej wielkości
(fixed-block deduplication)
t Deduplikacja blokiem o zmiennej
wielkości (variable-block deduplication)
być zapisana tylko raz, może ona zostać drastycznie skompresowana, co znacząco zmniejsza zapotrzebowanie na pojemność dyskową.
Należy zwrócić uwagę, iż „globalna kompresja” jest procesem odmiennym od „lokalnej
kompresji”, polegającej na zmniejszaniu rozmiaru pliku, której przykładowym efektem jest
plik o rozszerzeniu JPEG. Istnieją dwa podstawowe powody, dla których deduplikacja znajduje zastosowanie w backupie. Po pierwsze,
na wielu komputerach w sieci firmowej często
znajdują się takie same bądź podobne dane:
dokumenty, pliki systemowe, czy bazy danych.
Po drugie, każdy kolejny backup danej maszy-
10/2011 (8)
PRAKTYKA
ny zawiera dane, które tylko częściowo różnią się od tych
uprzednio zbackupowanych.
Schemat działania obydwóch rodzajów kompresji jest
podobny. Rozpoznają one powtarzalne sekwencje bajtów
(zwane tez blokami) w plikach. Zamiast zapisywania powtarzalnych sekwencji wielokrotnie, druga i każda kolejna identyczna sekwencja jest zapisywana tylko w formie referencji
do sekwencji uprzednio zapisanej. Deduplikacja danych jest
możliwa odkąd w latach osiemdziesiątych ubiegłego wieku
wynaleziono hash. Ten ostatni jest rodzajem odcisku palca
dla pliku, bądź – jak w przypadku kompresji – sekwencji
bajtów wewnątrz pliku. Jeśli dwa „odciski” są identyczne, odpowiadające im sekwencje są również traktowane
jako jednakowe z prawdopodobieństwem zapewniającym
bezpieczny margines błędu. Przewaga kompresji globalnej
nad lokalną wynika przede wszystkim z nieporównywalnie
większego zakresu operacji. Im większy zasięg działania deduplikacji, tym lepszy ogólny współczynnik kompresji. Deduplikacja zawartości jednego serwera nigdy nie osiągnie
współczynnika kompresji osiąganego przez deduplikację kilku serwerów. Innymi słowy, podobieństwo danych pośród
wielu stacji roboczych czy serwerów powoduje wzrost
współczynnika kompresji wraz ze wzrostem ilości danych
z różnych lokalizacji, na których odbywa się deduplikacja.
Tradycyjne metody deduplikacji danych
Deduplikacja danych jest używana by zmniejszyć ilość danych – zarówno do przechowywania, jak i do przesyłu
przez sieć – od lat dziewięćdziesiątych ubiegłego wieku.
Fenomen deduplikacji polega na dwóch czynnikach. Po
pierwsze, deduplikacja wykorzystuje algorytmy hash’owe
zamiast tradycyjnego porównywania danych bajt-po-bajcie. Zapewnia to szybkość całemu procesowi, bez rezygnowania z niezawodności. Po drugie, globalna kompresja
rozbija dane na małe kawałki (bloki), co usprawnia proces
ich porównywania. To właśnie metody rozbijania danych
na porównywalne cząstki sprawiły, iż spotykane są cztery
metody deduplikacji.
Eliminacja identycznych duplikatów
(Single-Instance Storage)
Historia deduplikacji rozpoczęła się od eliminacji plików
będących identycznymi kopiami pliku uprzednio zapisanego. Była to pierwsza metoda globalnej kompresji oparta na
algorytmie hashowym – jeśli hashe dwóch plików są takie
same, pliki są traktowane jako identyczne, nawet jeśli mają
inne nazwy, czy daty modyfikacji. Metoda ta była szczególnie przydatna w przypadku eliminacji duplikatów w postaci załączników rozsyłanych pocztą elektroniczną lub plików systemowych rezydujących na komputerach spiętych
48
by HAKIN9
w sieć. Dużą wadą tego rozwiązania jest fakt, iż jeśli plik
zostanie w jakikolwiek sposób zmodyfikowany (wystarczy
zmiana pojedynczego bajtu), musi on zostać w całości zapisany na nowo.
Deduplikacja blokiem o stałej wielkości (fixedblock deduplication)
Deduplikacja fixed-block dzieli pliki na bloki (czyli omawiane
wyżej sekwencje bajtów) o stałej wielkości (typowo między
4kB a 64kB). Nie porównuje ona hash’ów całych plików, jak
w przypadku Single-Instance Storage, lecz tworzy hash dla
każdego bloku z osobna. Daje to wymierne korzyści, gdy
duże pliki rosną przez dodawanie do nich nowych danych,
lub kiedy długie sekwencje bajtów są modyfikowane między
zadaniami backupowymi. Przykładem danych, które rosną
w sposób umożliwiający deduplikację fixed-block są pliki
poczty elektronicznej (np. MS Outlook .PST) oraz niektóre
rodzaje baz danych. Minusem tego rodzaju deduplikacji jest
niemożność rozpoznania kopii sekwencji bajtów, gdy dane
zostają zmodyfikowane w miejscu innym niż na końcu – jedynie dopisanie nowych rekordów danych w miejscu, gdzie
uprzednio zapisany plik się kończy umożliwia efektywne
działanie deduplikacji fixed-block.
Deduplikacja blokiem o zmiennej wielkości
(variable-block deduplication)
Deduplikacja variable-block ustala „w locie” wielkość bloku porównującego. Dzięki temu ten rodzaj deduplikacji jest
w stanie rozpoznać zmiany nie tylko dodane na końcu pliku,
ale też te dokonane na jego początku, bądź w środku. Przykładowo, jeśli dane są modyfikowane wewnątrz pliku (pomiędzy poszczególnymi blokami), wielkość bloku zmienia się
wraz ze zmianą zawartości, co umożliwia zapis jedynie nowo
dodanych danych i referencję do następujących po nich danych uprzednio zapisanych. Mimo większej efektywności pod
względem osiąganego współczynnika kompresji, deduplikacja
variable-block wymaga znacznie bardziej żmudnego przetwarzania danych niż fixed-block. Jest to o tyle problematyczne, iż w przypadku tego rodzaju globalnej kompresji nie ma
możliwości prostej kontroli nad wielkością bloku. Co prawda
średnie wielkości bloków mogą zostać predefiniowane, ale nie
zmienia to faktu, iż pozostałe bloki mogą mieć rozmiar od
pojedynczego bajtu aż do wielkości całego pliku. W rezultacie
proces eliminacji duplikatów jest wolny. Ogólną efektywność
deduplikacji blokiem o zmiennej wielkości pogarszają także
przypadki skrajnych wielkości bloków. Referencje bloków zbyt
małych nie zajmują wymiernie mniej miejsca od duplikatów
tych sekwencji. Z kolei rozmiar bloków zbyt dużych ogranicza
użyteczność deduplikacji do poziomu eliminacji identycznych
duplikatów (Single-Instance Storage).
10/2011 (8)
PRAKTYKA
Deduplikacja progresywna
Wprowadzana na polski rynek backupu technologia progresywnej deduplikacji czerpie możliwości z deduplikacji fixed-block i variable-block. Szybkością dorównuje tej
pierwszej, wykorzystując bloki o stałej wielkości jeżeli tylko jest to możliwe. Te ostatnie pozwalają też na bardzo
praktyczne rozpoznawanie typu pliku, z jakim deduplikacja ma do czynienia (np. plik .ppt), co pozwala na jeszcze
większe oszczędności czasowe. Możliwościami deduplikacja progresywna dorównuje tej o zmiennej wielkości bloku,
rozpoznając wszelkie zmiany dokonane w dowolnym miejscu pliku, co wyraźnie zwiększa współczynnik kompresji.
Niemniej jednak, w ostatecznym rozrachunku deduplikacja
progresywna przewyższa tą variable-block dzięki rozpoznawaniu typu pliku z jakim ma do czynienia, oraz przetwarzaniu uprzednio zapisanych części danych z prędkością
osiąganą przez deduplikację fixed-block.
Progresywna deduplikacja różni się od innych rodzajów
sposobem dostosowywania wielkości bloków skanujących
plik w poszukiwaniu duplikatów. Na początku, progresywna deduplikacja dzieli plik na bloki identycznych rozmiarów,
tak jak w przypadku typu fixed-block. Jednak pozwala ona
blokom na nachodzenie na siebie, dzięki czemu granica bloku może wystąpić w dowolnym miejscu. Ma to znaczenie
w przypadku zmian dokonanych wewnątrz pliku. Modyfikacje tego typu powodują, iż uprzednio zapisane, znane już
Single-Instance
Storage
Deduplikacja
Fixed-block
Deduplikacja
Variable-block
Deduplikacja
progresywna
Szybkość
Rewelacyjna
Bardzo dobra
Zadowalająca
Bardzo dobra
Współczynnik
kompresji
Niski
Zadowalający
Dobry
Bardzo dobry
Zastosowanie progresywnej deduplikacji
Nie ulega wątpliwości, iż każdy rodzaj deduplikacji backupowanych danych jest opłacalny w porównaniu z backupem
tradycyjnym. Niemniej jednak, dla uzyskania prawdziwie
wymiernych korzyści z zastosowania technologii deduplikacji warto zastanowić się wyborem deduplikacji progresywnej. Zapewni ona nie tylko znacznie szybszy backup, ale
i jednocześnie zdecydowanie lepszy współczynnik kompresji, co znajdzie odzwierciedlenie w niższych kosztach związanych z przechowywaniem backupu. Efektywnie, progresywna deduplikacja łączy zalety innych rozwiązań tego typu,
eliminując ich wady.
49
bloki ulegają przesunięciu w dół sekwencji pliku, wskutek
czego nie byłyby rozpoznane przez tradycyjne typy deduplikacji. Są natomiast rozpoznawane przez deduplikację progresywną.
Ponadto, progresywna deduplikacja ustala optymalną
wielkość bloku dla konkretnego typu pliku. W zależności
od deduplikowanego pliku, rozmiar bloku to 1k, 2k, 4k,
8k, 16k, lub 32k bajty. Dzięki tej funkcji osiągalne są lepsze
współczynniki kompresji.
Progresywna deduplikacja wykorzystuje przesuwające
się okienko skanujące plik w poszukiwaniu zduplikowanych
bloków. Jest to metoda na tyle efektywna, że wykrywa
duplikaty w każdym bajcie pliku. Wnikliwy czytelnik zauważy zapewne, iż taka efektywność wymaga sporej mocy
obliczeniowej. Zapewne byłaby to prawda gdyby nie fakt,
że branża IT dysponuje dwoma rodzajami algorytmu hashowego. Hash lekki jest krótki i dzięki temu umożliwia
szybkie porównywanie. Hash ciężki jest długi, za to bardzo dokładny. Progresywna deduplikacja w sprytny sposób
wykorzystuje oba rodzaje tego swoistego „odcisku palca”.
Szybki i lekki algorytm hashowy rozpoznaje możliwe duplikaty. Te ostatnie są wnikliwie badane dokładnym algorytmem hashowym. Z uwagi na fakt, iż ponad 99 procent
możliwych duplikatów okazuje się być dokładnymi kopiami,
progresywne skanowanie jest niewiarygodnie efektywne
przy rozsądnym obciążeniu zasobów systemowych.
by HAKIN9
Terminologia
Deduplikacja
Proces eliminacji duplikatów
uprzednio zapisanych danych
Hash
Krótka, losowa wartość
przyporządkowana danemu ciągu
znaków, rodzaj “odcisku palca”
Blok w
deduplikacji
Fragment deduplikowanego
pliku służący porównaniu celem
eliminacji duplikatów
10/2011 (8)

Podobne dokumenty