TrueNAS + ZFS – deduplikacja kompresja danych

TrueNAS + ZFS – deduplikacja kompresja danych

wrz, 2022 | TrueNAS, Video BLOG

To, że TrueNAS i ZFS to świetna para to już wiemy. O TrueNS jako takim opowiadałem <TU> . O tym jak działa i dlaczego tak fajny jest sam ZFS no i jak go optymalizować i kiedy warto to robić opowiadałem <TU>. Czas na optymalizację wykorzystania miejsca na naszych dyskach. Spróbujemy sprawić, że będziemy potrzebowali mniej dysków niż potrzebujemy, ale znowu kiedy warto, i ile da się zaoszczędzić.

00:00 Introduction
00:26 TrueNAS + ZFS
00:57 ZFS Deduplikacja
01:28 ZFS Deduplikacja – jak działa
03:35 ZFS Deduplikacja – zalety
04:04 ZFS Deduplikacja – wady
07:45 ZFS Duplikacja – podsumowanie
08:49 ZFS kompresja
10:05 ZFS Kompresja – zalety
10:20 ZFS Kompresja – wady
10:50 ZFS Kompresja – podsumowanie
11:42 Podsumowanie wstępu
14:44 Testy i konfiguracja

ZFS Deduplikacja

Zacznijmy od deduplikacji. Mówimy tutaj o sytuacji kiedy przechowujemy powtarzające się dane, Najprostszym przypadkiem jest kiedy na naszym TrueNAS leżą sobie kilkukrotnie te same filmy zdjęcia dokumenty itp. Podczas zapisu na dysk mechanizmy deduplikacji wykrywają, że mamy już takie dane na dysku i zamiast zapisywać je jeszcze raz zapisujemy tylko informacje linkujące do już zapisanych danych oszczędzają miejsce. Fajne prawda?

ZFS Deduplikacja – jak działa

Działa to tak, że jeżeli mamy włączoną deduplikację to podczas zapisu danych dane dzielone są na z góry określone cząstki danych z od 4 Kb to 1 MB. Na dysku zapisywane są bloki danych. Z każdego bloku wykonywany jest hash, funkcja skrótu która na podstawie zawartości generuje wysoko unikalny, identyfikator danego bloku danych. Metadane w postaci adresu bloku na dysku i jego hash zapisywane są w osobnym zbiorze danych. Przed każdym zapisem nowych danych najpierw robi się hash danych i sprawdza się w metadanych czy mamy już blok z takim hash. Jeżeli tak to na dysku nie ląduje nowy blok danych tylko w tablicy metadanych zapisywany jest informacja o położeniu takiego bloku.

Zwróćcie proszę uwagę na to, że wcale nie mówi się tutaj o plikach tylko i blokach danych. Sprawia to, że wystarczy żeby pliki porywały się częściowo, na przykład różniły się końcówką i już zacznie dla nas działać proces deduplikacji. Zostanie zapisana na dysk tylko różniąca się cześć a nie cały plik. W tym momencie ważnym staje się wielkość bloku. Przez zmniejszenie wielkości bloków sprawiamy, że prawdopodobieństwo identyczności dwóch bloków roście a więc i prawdopodobieństwo deduplikacji ale równocześnie rośnie ilość metadanych do obsłużenia. Zestaw metadanych zbierany jest per vPool czyli jeżeli mamy powtarzające się bloki w różnych Dataset to będą one deduplikowane.

ZFS Deduplikacja – zalety

Jedyną ale niepodważalną zaletą deduplikacji jest redukcja zajętości miejsca na dyskach. Jeżeli dziesięciu użytkowników wrzuci do swoich folderów na serwerze te same obrazy dysków, filmy, dokumenty, pdf czy inne, to redukcja danych może sięgnąć dziesięciokrotna. To oczywiście skrajnie optymistyczne przypadek i raczej rzadki 🙂

ZFS Deduplikacja – wady

Wszystko ładnie, pięknie ale, co może pójść nie tak? 🙂 a no przy najmniej kilka rzeczy. Pierwszą wadą jest konieczne zasoby procesora na obliczenie hash każdego bloku danych. Warto tu wspomnieć, że dużym wsparcie jest tutaj AES-NI to zestaw instrukcji procesora związany z wsparciem sprzętowym szyfrowania ale przydaje się również przy wyliczaniu hash. Procesor bez AES-NI może wyliczać sumy kontrole hash kilkukrotnie wolniej. Jeżeli wydajność naszego serwera danych nie jest kluczowa, lub po prostu prawie nie jest obciążony to nie ma znaczenia. W wypadku mocnego obciążenia serwera ważnym jest żeby sprawdzić przez zakupem używanego serwera czy procesor posiada taką funkcję. Chyba wszystkie nowe procesory mają wsparcie AES-NI.
W skrócie deduplikacja zwiększa obciążenie procesora.

Drugą wadą deduplikacji jest konieczność zapisu dodatkowych metadanych. Wiąże się to z potrzebą dodatkowego miejsca oraz z obciążeniem dysków podczas zapisu, czyli spowolnieniem zapisu. Jeżeli dane są niepowtarzalne to na dysk musimy zapisać więcej danych, same dane oraz metadane. Ilość metadanych z grubsza zależy od, co oczywiste, od ilości danych, oraz, co mniej oczywiste, od wielkości bloków. Przy małych blokach powstaje relatywnie więcej metadanych. W efekcie przy unikalnych danych możemy zwiększyć zapełnienie dysku o kilkadziesiąt procent. A nie o to na tutaj chodzi 🙂
Dobrym pomysłem żeby przyspieszyć działanie jest zastosowanie dedykowanego dysku NVMe na metadane deduplikacji. Jest on szybki i operacje na niem nie konkurują z operacjami na dyskach z danymi. Pamiętajmy jednak, że dane dedupkilacji są nieodtwarzalne, jak stracimy dane deduplikacji to tracimy też same dane. Czyli vDev dla metadanych deduplikacji musi być redundantny, minimum dwa dyski.
W skrócie jeżeli mamy niepowtarzalne dane to efektem włączenia deduplikacji będzie zwiększenie zajętości dysku i wydłużenie czasu zapisu.

Dodatkową wadą deduplikacji jest również zwiększenie zapotrzebowanie na RAM przez obecność w nich metadanych. Czyli włączając deduplikację automatycznie redukujemy sobie dostępną wielkość ARC cache czyli pamięci podręcznej na dane, <TU> opisuje szczegóły tego mechanizmu.

ZFS Deduplikacja – podsumowanie

Podsumowując deduplikację, jest bardzo ciekawym rozwiązaniem ale na pewno nie powinna być włączana domyślnie na wszystkich instalacjach. Podstawą rozpatrywania deduplikacji jest odpowiedzieć sobie na pytanie: czy mam na dysku powtarzające się dane? Jeżeli mamy powtarzające się dane to zdecydowanie warto rozważyć włączenie. Jeżeli natomiast nie mamy powtarzających się danych to zwiększymy zajętość dysku, spowolnimy zapis, obciążymy procesor. Pamiętajmy, że deduplikację możemy włączyć per Dataset czyli jeżeli uznamy, że mamy powtarzające tylko w jednym Dataset to tylko w tylko w nim włączymy. Miejsca gdzie możemy się ogólnie spodziewać efektywnego działania to miejsca z powtarzającymi się plikami dla kilku użytkowników jak pliki systemowe podobnych wirtualnych systemów, pliki silnika WordPress w hostingu itp.

ZFS Kompresja

Kompresja w ZFS jest chyba zupełnie samo opisującym się terminem. Mechanizm polega na kompresowaniu w locie danych przed zapisem na dysk i dekompresji przy odczycie. Warto dodać, że funkcja kompresji w TrueNAS jest domyślnie włączona przy tworzeniu nowych vPool. Kompresja jest konfigurowalna per Detaset czyli możemy wybrać która dane mają być kompresowane a które nie. Dodatkowo możemy wybrać mechanizm kompresji takie jak ZSTD, GZIP, LZ4 ale jest ich sporo więcej. Domyślnym jest LZ4. Każdy z nich ma trochę inny zestaw parametrów takich jak:skuteczność kompresji, obciążenie procesora przy kompresji i przy dekompresji. Ogólną zasadą jest, że im lepsza kompresja tym większe obciążenie procesora ale to tylko ogólna zasada. Czasem niektóre mechanizmy są po prostu lepsze od innych. Skuteczność i porównanie kompresji poszczególnych mechanizmów to zdecydowanie materiał do osobny odcinek.

ZFS Kompresja – zalety

Zaletą kompresji, co nie jest zaskakujące, kompresja danych i zmniejszenie ilości potrzebnego miejsca. W skrajnych wypadkach nawet kilku, kilkunastokrotne. Dodatkową zaletą w TrueNAS jest to, że jest włączone w tle i po prostu działa.

ZFS Kompresja – wady

Wadą kompresji jest obciążenie procesora przy każdorazowym zapisie i odczycie z dysku. Są dane które są w praktyce nie dają się już kompresować ponieważ już są optymalnie skompresowane jak filmy i zdjęcia. W takim wypadku każdorazowa ich kompresja i dekompresja jest tylko marnowaniem czasu procesora, prądu, wydzielanego ciepła, CO2 i czego tam jeszcze.

ZFS Kompresja – podsumowanie

Podsumowując kompresję w ZFS ogólnie jest dobrym rozwiązaniem i w większości wypadków będzie dawało oszczędność miejsca na dysku. Efektywność kompresji jest znów zależna głównie od rodzaju danych i wybranego sposobu kompresji. Bardzo dobrze natomiast kompresują się wszelkie dane przechowywane w postaci tekstowej, nieźle kompresują się też dokumenty. Jeżeli chodzi o przeciwwskazania to na przykład, będziemy tworzyli Dataset do przechowywania zdjęć czy filmów to zalecam wyłączyć kompresję ponieważ te dane generalnie i tak nie dadzą się skompresować. Generalnym przeciwwskazaniem jest kompresowanie danych już kompresowanych: zdjęcia, filmy, skompresowane backupy, kompresowane obrazy maszyn wirtualnych itp.

Podsumowanie

Warto wspomnieć, że ARC cache przechowuje w RAM najczęściej używane dane. Oznacza to, że dostęp do tych danych nie jest opóźniony procesami deduplikacji i dekompresji. Dane są dostępne od razu w praktyce bez żadnych opóźnień.
Dodam też, że wszystkie wprowadzone zmiany zmiany na Dataset zaczynają działać od następnego zapisu. Czyli, jeżeli zmienimy jakieś ustawienia odnośnie kompresji czy deduplikacji każdy następny zapis będzie wykonywany zgodnie z nowymi ustawieniami. Nie odpala żaden automatyczny procesu konwersji danych w tle czy czegoś podobnego. Ze tego co wiem, choć nie mam pewności, najprostszym sposobem na deduplikację lub kompresję istniejących danych po zmianie ustawień to ponowne ich tam wgranie. Po prostu przenosimy je na inny Dataset i przenosimy z powrotem. W ten sposób dane zostaną przemielone przez mechanizmy zapisujące deduplikacji i kompresji. To samo jeżeli zaszła by potrzeba de-deduplikacji czy de-kompresji danych na dyskach. Procesy deduplikacji czy kompresji raz zapisanych danych są w prost nie odwracalne.

Na szczęście zmiany ustawień kompresji i deduplikacji są „wstecznie kompatybilne”. Chodzi o to, że możemy zmieniać ustawienia nowo zapisywanych danych a dane zapisane wcześniej w innych ustawieniach odczytywane będą bez problemu niezależnie od aktualnych ustawień zapisu.

Jeżeli chodzi o uniwersalne przewidywanie efektywności deduplikacji i kompresji .. cóż to jest po prostu nie możliwe ponieważ nie ma jednego reprezentatywnego zestawu danych, każdy ma inny zestaw danych, a skuteczność tych mechanizmów zależy głównie od przechowywanych danych.

Jeszcze jedna uwaga, to pewnie jest jasne ale dla porządku powiem, że zarówno kompresja jak i deduplikacja odbywa się na poziomie serwera oznacza to, że dane najpierw muszą tam dotrzeć zanim zostaną przeanalizowane. Jeżeli wąskim gardłem jest łącze internetowe to żaden z przedstawionych mechanizmów na serwerze nie przyspieszy nam zapisu ani odczytu anie nie zredukuje ilości przesyłanych danych.

Podsumowując deduplikacje i kompresję w ZFS znowu trzeba by powiedzieć, że to fajne rozwiązania ale jak zwykle trzeba przede wszystkim rozumieć co się robi zanim się zacznie klikać na produkcyjnej maszynce. Włączanie „na pałę” tych funkcji co prawda nie powinno nic zepsuć ale może po prostu znacznie spowolnić nam serwer.

 

ZAPRASZAM DO OGLĄDANIA

Przydanet polecenia

Symulacja korzyści z deduplikacji

zdb -U /data/zfs/zpool.cache -S [nazwa pool]

Stan deduplikacji

zpool list [nazwa pool]

VPN nie ma sensu

na ogół NIE potrzebujemy VPN – no chyba, że akurat tak 🙂 O tym dlaczego tak naprawdę w codziennym korzystaniu z Internetu VPN są nie przydatne a czasem nawet pogarszają sprawę. 0:00 - intro 0:35 - jak działa VPN 1:00 - jak ma się VPN do codziennego użytkowania...

Signal w 2022 – czy wciąż bezpieczny?

Aktualizacja informacji o Signal na 2022. Tutaj wcześniejsze pełne omówienie https://youtu.be/X9futV5VG8k biuro@eonea.pl +48 673482602 Youtube Facebook

Windows 10 – automatyczny backup

Jak automatycznie i prosto skonfigurować kopię bezpieczeństwa Twoich plików? Bez dodatkowych aplikacji i skomplikowanych konfiguracji. Wystarczy dysk sieciowy lub zewnętrzny dysk lub nawet pedrive USB 0:30 - środowisko testowe 0:40 - mapowanie dysku...

TrueNAS – dlaczego ZFS jest zajefajny – zPool/ARC/L2ARC/SLOG

TrueNAS + ZFS jest super! Ok ale w zasadzie czemu jest super? A no między innymi dlatego, że na pokładzie ma wbudowaną obsługę ZFS bo sam ZFS jako taki nie jest jakoś super user frendy. a ZFS jest super! Ok ale dlaczego ZFS jest super? A o tym właśnie dzisiaj opowiem....

piSignage – zarządzaj ekranami łatwo i efektywnie

Masz kilka lub więcej ekranów na krórych chcesz wyświetlać swoje treści? Reklamy, ogłoszenia, cennik? Wykluczasz zabawę z pentrive i prznoszeniem dysków itp? Chciał być zdalnie zarządzać wszystkimi swoimi ekranami? Jeden klik i wszytkie ekrany zmieniają treśc według...

Xen-Orchestra – zarządzaj – backup, snapshot, migracje

Rolling Snapshot, Disaster Recovery - jak, po co, dlaczego? Jakie rodzaje backup VM w wirtualizatorze XCP-NG pod kontrolą XenOrchestra? Jak skonfigurować właściwy dla siebie backup. Czym się od siebie różnią i jakie są ich wady i zalety. biuro@eonea.pl +48 67 348 26...

TrueNAS – replikacja – coś więcej niż backup

Kiedy zrozumiemy, że sam NAS też musi mieć swoją kopię a dane w jednym miejscu to nie dane. 0:40 - środowisko testowe 1:10 - dlaczego replikacja ZFS w TreuNAS jest wyjątkowa 3:50 - wstęp - ustawianie replikacji ZFS na TrueNAS 4:55 - ustawianie snapshots do replikacji...

TrueNAS + Nextcloud – własna prywatna chmura

Alternatywa dla chmur komercyjnych. Przechowuj i współdziel pliki, kalendarz czy zdjęcia. Polecenie do odczytania haseł: cat /root/PLUGIN_INFO Film o instalacji FrueNAS https://youtu.be/-wxi7mBJpWo Film o replikacji TrueNAS https://youtu.be/voOS1DIu4uw Film o snapshot...

Xen-Orchestra – automatyczne testy backapów

Xen-Orchestra – sposoby i rodzaje backup wirtualnych maszyn działających na serwerach xcp-ng ze szczególnym uwzględnieniem automatycznego testowania kopii bezpieczeństwa. Bo to, że nie przetestowana kopia bezpieczeństwa zadziała może okazać się tylko złudnym...

TrueNAS – migracja danych do nowego serwera

TrueNAS – migracja do nowego serwera. Jak skutecznie przygotować backup i odzyskać systemu nie zależnie od tego czyli planujesz przesiadkę na mocniejszą maszynkę czy właśnie pojawił się problem z dyskiem systemowy, płytą główną, zasilaczami. 00:00 intro 00:49...

Zaawansowane rozwiązania ochrony danych – kiedy zwykły backup to za mało

To, że trzeba w ogóle zadbać o regularną kopie ważnych danych to już oczywiste. W znaczącej części przypadków rozwiązanie którym w wypadku awarii sprawna naprawia czy zastąpienie uszkodzonego serwera i przywrócenie danych z kopii to wystarczające...

VPN nie ma sensu

na ogół NIE potrzebujemy VPN – no chyba, że akurat tak 🙂 O tym dlaczego tak naprawdę w codziennym korzystaniu z Internetu VPN są nie przydatne a czasem nawet pogarszają sprawę. 0:00 - intro 0:35 - jak działa VPN 1:00 - jak ma się VPN do codziennego użytkowania...

Xen-Orchestra – automatyczne testy backapów

Xen-Orchestra – sposoby i rodzaje backup wirtualnych maszyn działających na serwerach xcp-ng ze szczególnym uwzględnieniem automatycznego testowania kopii bezpieczeństwa. Bo to, że nie przetestowana kopia bezpieczeństwa zadziała może okazać się tylko złudnym...

Pegazus i inne – co powinieneś wiedzieć

Jak działa, co może o Tobie wiedzieć, co powinieneś o nim wiedzieć. No i co można z tym zrobić. linki do terminów wsparcia dla iPhone i Androind https://endoflife.date/android https://endoflife.date/iphone biuro@eonea.pl +48 673482602 Youtube...

TrueNAS – dlaczego ZFS jest zajefajny – zPool/ARC/L2ARC/SLOG

TrueNAS + ZFS jest super! Ok ale w zasadzie czemu jest super? A no między innymi dlatego, że na pokładzie ma wbudowaną obsługę ZFS bo sam ZFS jako taki nie jest jakoś super user frendy. a ZFS jest super! Ok ale dlaczego ZFS jest super? A o tym właśnie dzisiaj opowiem....

piSignage – zarządzaj ekranami łatwo i efektywnie

Masz kilka lub więcej ekranów na krórych chcesz wyświetlać swoje treści? Reklamy, ogłoszenia, cennik? Wykluczasz zabawę z pentrive i prznoszeniem dysków itp? Chciał być zdalnie zarządzać wszystkimi swoimi ekranami? Jeden klik i wszytkie ekrany zmieniają treśc według...

Duck Duck Go – Jak (NIE)wysłałem WSZYSTKIE dane o sobie do 34 firm

Duck Duck Go - pomoże Ci dbać o prywatność Jak (NIE)wysłałem WSZYSTKIE dane o sobie do 34 firm w 19 godzin Myślisz, że ty nie? O tym jak wiele informacji rozsiewamy radośnie "po internetach" Jak znacząco zmniejszyć strumień informacji o nas. 0:17 - czym...

Jak pomagamy – kompleksowa ochrona danych

Niestety żadne urządzenie nie pracuje wiecznie a awarie i podobne problemy są wyłącznie kwestią czasu. Naszym celem jest przygotowanie się do sprawnego kontynuowania działania nawet po skrajnie niekorzystnych zdarzeniach jak awaria kradzież czy pożar....

TrueNAS – TAK – ale który?

To świetny wybór ale jest ich kilka, który będzie najlepszy dla ciebie? FreeNAS, TrueNAS CORE, TrueNAS SCALE, TrueNAS ENTERPRISE Pomogę. 0:30 - koniec z FreeNAS 2:05 - co to True Command 2:45 - Core Scale Enterprise - porównanie 9:10 - Serwery od TrueNAS...

Xen-Orchestra – wszystkie opcje w bezpłatnej wersji

Co potrafi pełna wersja Xen-Orchestra i jak ją zainstalować w bezpłatnej wersji. 0:00 - intro 0:28 - dlaczego xen-orchestra ze źródeł 1:27 - wersje płatne 3:25 - funkcjonalności wersji xen-orchestra 10:08 - instalacja xen-orchestra ze źródeł   Xen-Orchestra - jak...

Copyright 2022 Eonea IT Solutions. All rights reserved. Eonea  / ul.Szybowników 4A / 64-920 Piła / NIP: 764-210-85-30