De-duplikacja danych w Windows 2012 R2

20 kwietnia 2015 at 16:41

Jako, że miejsca na serwerach (macierzach, dyskach…) ciągle brakuje, nie ważne ile by go nie było i tak zawsze jest to za mało :) Z drugiej strony dodatkowa przestrzeń kosztuje i to niemało jeśli mamy na myśli szybkie dyski SSD, czy replikowane macierze.

Z drugiej strony nawet jeśli nie borykamy się z brakiem miejsca – dobrze jest móc wykorzystywać zasoby w sposób optymalny, czyli jeśli się da to „zabierać” 10GB miejsca zamiast 100GB, gdy nie ma takiej konieczności. Ale jak tego dokonać? Można kupić sprzętowy de-duplikator, z tym że jego cena często jest wyższa niż cena dodatkowej przestrzeni i zaczyna się spinać biznesowo dopiero po kilku latach. Sory – taki mamy klimat :)

Pozostaje więc rozejrzeć się za de-duplikacją software’ową – najlepiej taką, która nic nie kosztuje i jest dostępna w systemie operacyjnym – Bingo :) Wykorzystajmy więc de-duplikację z Windows Server 2012R2. Czego nam potrzeba? Serwera, chwili czasu i chęci. Zaczynamy:

1. Instalujemy rolę de-duplikacji plików:

2. Wskazujemy dysk, na którym chcemy wykonywać de-duplikację danych oraz przeznaczenie zasobu (standardowe zasoby plikowe lub Hyper-V):

3. Określamy wiek plików, które mają podlegać de-duplikacji np (1 dzień):

I zasadniczo trzon konfiguracji został wykonany. Pozostaje nam uruchomić de-duplikację i sprawdzić efekty :)

4. Uruchomienie zadania de-duplikacji:

 

Powyższa optymalizacja została wykonana na dysku przechowującym lokalne kopie backupów Active Directory (SYSVOL, NTDS, GPO, DNS, metadane…) z kilku-kilkunastu dni wstecz, więc zasadniczo dane w kolejnych dniach ulegały procentowo niewielkim modyfikacjom, ale jednak zajmowały trochę miejsca.

Porównanie efektów wygląda tak:

Przed de-duplikacją Po de-duplikacji:
Volume G: G:
VolumeId \\?\Volume{610d577e-dd66-11e0-97bf-005056957241}\ \\?\Volume{610d577e-dd66-11e0-97bf-005056957241}\
Capacity 30 GB 30 GB
FreeSpace 6.14 GB 20.48 GB
UsedSpace 23.86 GB 9.52 GB
UnoptimizedSize 23.86 GB 24.19 GB
SavedSpace 0 B 14.68 GB
SavingsRate 0% 60%
OptimizedFilesCount 0 3997
OptimizedFilesSize 0 B 19.35 GB
OptimizedFilesSavingsRate 0% 75%
InPolicyFilesCount 0 3997
InPolicyFilesSize 0 B 19.35 GB
LastOptimizationTime 2015-04-20 16:47
LastOptimizationResult 0x00000000
LastOptimizationResultMessage The operation completed successfully.
LastGarbageCollectionTime
LastGarbageCollectionResult
LastGarbageCollectionResultMessage
LastScrubbingTime
LastScrubbingResult
LastScrubbingResultMessage

Robi wrażenie co? :) Z tym, że stopień de-duplikacji oczywiście zależy od rodzaju i podobieństwa przechowywanych danych.

 

Ale żeby nie było tak łatwo – trzeba jeszcze pamiętać o kilku zadaniach do wykonania:

1. Zadania sprawdzające integralność zdanych i zapewniające im możliwość pełnej funkcjonalności. uruchomienie On-Demand:

2. Zadania czyszczące miejsce po usuniętych zasobach: On-Demand:

 

Wykonanie powyższych zadań cyklicznie może odbywać się za pomocą skryptów Powershella z tradycyjnego TaskSchedulera, bądź z wykorzystaniem dedykowanego harmonogramu:

 

Polecenia weryfikacji stanu zadania de-duplikacji:

Oraz raport końcowy:

 

Jeśli macie miejsce, gdzie przechowujecie sporo podobnych danych lub potrzebujecie zwolnić trochę miejsca to polecam zapoznanie się z  wbudowaną de-duplikacją w Windows 2012R2 i wykorzystanie jej do optymalizacji wykorzystywanych zasobów dyskowych.