Přidat článek mezi oblíbenéZasílat nové komentáře e-mailem Lehký úvod do deduplikace dat

V návaznosti na předešlý článek bych rád věnoval několik odstavců samotné deduplikaci, která si to podle mého soudu zaslouží, včetně malého průvodce zálohovacími nástroji s deduplikací.

Malé opakování

Jak již bylo nastíněno v předešlém článku na toto téma, deduplikace je naprosto odlišný způsob zálohování dat, který má k standardnímu zálohování (s kompresí), ať už na sekvenční médium, nebo médium s náhodným přístupem, daleko asi stejně, jako koloběžka k raketě Saturn 5. Zatím co u běžných záloh je základním stavebním prvkem soubor, u deduplikace jde o chunk, tedy malou část souboru na disku. Princip samotné zálohy je pak podobný, nikoli však stejný.
U souborově orientovaných záloh soubor můžeme nebo nemusíme zálohovat, to závisí na tom, zda byl či nebyl od poslední zálohy změněn; bohužel však zálohujeme vždy celý soubor v konkrétní cestě adresářové struktury, ačkoli změna může být pouze kosmetická (i jen několik bajtů z desítek MB, nebo název souboru, či jeho umístění v adresářové struktuře).
Deduplikace přistupuje k danému problému jinak. Je zcela jedno, jak se soubor jmenuje, kde se nachází a zda v něm byly změněny jen malé části v poměru k jeho velikosti. Za to ovšem platíme nutností POČÍTAT hashe, s jejichž pomocí zálohovací program zjišťuje, zda daný chunk v záloze je, či není.

Jak to celé funguje – názorně

Ještě než začneme, deduplikaci na úrovni celých souborů probírat nebudeme – tato technika se používá běžně u aplikací typu SQL serverů nebo MS Exchange či Lotus Domino, avšak její přínos u záloh je minimální.
Z pohledu technologie se deduplikace liší podle toho, zda má chunky vždy o stejné velikosti, nebo variabilní délky. Dále pak podle toho, zda probíhá takzvaně na zdroji nebo na cíli (z pohledu zálohovací klient vs. zálohovací server). Při záloze na zdroji dochází k deduplikaci již na zálohovaném stroji, a tedy samotná data zálohy přenášená na cílové úložiště jsou malá. Opačně pak, při záloze na cíli se klient chová zcela normálně a v podstatě o deduplikaci „neví,“ posílá všechna data zálohy a deduplikuje až cílové úložiště.
Pro názornost si celý princip ukážeme na záloze souboru, který má 20MB. Při první záloze tohoto souboru dojde k následujícím akcím:
- Soubor je „rozsekán“ na chunky
- Chunkům je spočítán hash
- Hash je porovnán s lokální databází, následně s databází chunk-hash na serveru
- Pokud je hash nalezen, je chunk zahozen. Pokud nalezen není, je chunk odeslán na server do zálohy
- Sekvence hashů odpovídající chunkům ze souboru je zavedena do zálohy jako reprezentace zálohovaného souboru

[87348-dedup-png]

Obnova dat pak probíhá opačným způsobem. Záloha, alias sled hashů reprezentujících soubor(y) je postupně procházena a:
- Systém na základě sekvence hashů nalezne v databázi odpovídající chunky
- Do prázdného souboru jsou vloženy chunku v odpovídajícím pořadí

[87349-redup-png]

Jak je patrno, princip je poměrně jednoduchý, prakticky ovšem zásadní problém spočívá v optimální volbě velikosti chunku.
Podstatná je ovšem schopnost těchto systémů optimalizovat uložené chunky NAPŘÍČ všemi zálohami – ano, i z různých počítačů. Platí tedy, že pokud v pracovní skupině společně pracujete na jednom souboru a každý z uživatelů si udržuje svou pracovní kopii, i tak dosáhnete při zálohách takového souboru poměrně značné úspory dat. Obecně lze říci, že deduplikace se hodí pro nasazení na živá data, která se průběžně mění, a jejichž umístění v rámci firmy není pevně dané.

Nejznámější (zálohovací) aplikace s deduplikací

Začneme trochu zeširoka, protože nejznámější deduplikační systém asi budete znát. Nejedná se o zálohovací systém, nýbrž o implementaci do filesystému. Jde o Windows 2012 (a vyšší), který umožňuje deduplikaci povolit na svých datových úložištích. Jak na to, najdete zde:
https://blogs.technet.microsoft.com/canitpro/2013/04/29/step-by-step-enabling-data-deduplication-on-windows-server-2012-volumes/
Linux a BSD podporují souborovou deduplikaci na filesystémech ZFS, BTRFS, podobně jako u Windows serveru.
Z profesionálních systémů pro zálohování musím zmínit produkty Dell EMC (dříve pouze EMC), jmenovitě appliance Data Domain (což je příklad pro řešení deduplikace na cíli) a Avamar (deduplikace na zdroji). Data Domain funguje jako „emulátor“ úložiště pro prakticky libovolný zálohovací software, poskytuje funkce VTL, SAN nebo klasického CIFS share. Avamar je naopak klasické řešení pro zálohování systémů a počítačů. Jedná se o již letité a prověřené systémy, které sice stojí poměrně hodně peněz, ale také dokáží ušetřit značné prostředky za diskový prostor. Můžete tak vidět případy, která plně zálohuje celé své digitální portfolio několika serverů a desítek stanic na první pohled směšným úložištěm o velikosti několika málo jednotek TB. Máte-li chuť si Avamar a/nebo Data Domain vyzkoušet (obě aplikace spolu navíc umí spolupracovat), máte k dispozici datově omezené, ale jinak plně funkční DD VE:
https://www.dellemc.com/cs-cz/products-solutions/trial-software-download/data-domain-virtual-edition.htm
Pro Avamar se už budete muset zaregistrovat:
https://thevirtualboi.com/2017/10/05/emc-avamar-virtual-edition-install/
Další software, který asi znáte, je Acronis. Ten podporuje deduplikaci v rámci svých serverových/firemních edicí:
https://www.acronis.com/en-us/resource-center/resource/55/
Podobně je na tom Veeam, který nabízí deduplikaci hlavně v prostředí virtualizace:
https://www.veeam.com/cz/hyper-v-vmware-backup-deduplication-compression.html
A co tak nějaké řešení zcela zdarma? Existuje? Ano, jeho výsledky jste mohli vidět v mém předešlém článku. Jedná se o celou rodinu aplikací, určených pro Linux. Vycházejí z dnes již nevyvíjené aplikace attic, a jde o BorgBackup a Restic.
https://borgbackup.readthedocs.io/en/stable/
https://restic.net/
Jaké jsou mezi nimi rozdíly? Poměrně velké. Borg se vydal cestou lokální (nebo vzdálené, pomocí SSH) zálohy jednoho systému a čistě linuxového prostředí. Za to nabízí jednoduché zprovoznění a dobrou podporu komprese záloh (navíc k deduplikaci). Šifrování záloh je volitelné. Chcete-li zálohovat více strojů do jednoho úložiště, chcete-li zálohovat i Windows, případně máte-li zálusk na zálohy do cloudu (AWS, apod.), volte Restic. Ten povinně šifruje a má velmi dobrou podporu architektury klient-server. Oba umožňují obnovit ze zálohy jednotlivé soubory, nebo celou zálohu připojit jako uzel virtuálního souborového systému.
Pro úplnost ještě zmíním třetího do party, kterým je BURP. Z mého pohledu je deduplikace v něm doplňková a přidaná poměrně pozdě. Funkčně je pak někde na úrovni Restic. Osobně mám pak dojem poněkud mírně chaotického vývoje. Na druhou stranu, má dobrou podporu Windows.
https://burp.grke.org/index.html
Máte-li čas a chuť, vyzkoušejte si všechny varianty na vzorku svých dat a volte podle vlastní potřeby toho, co, kdy a jak chcete zálohovat a co se vám líbí.

Závěr

Deduplikace jako způsob uchování důležitých dat má svou krásu a účel. Z mých několikaletých zkušeností vyplývá, že se hodí velmi dobře tam, kde se průběžně pracuje s velkými objemy dat, případně tam, kde při práci vzniká tak trošku „bordýlek“ v datech, který se nikomu nechce moc uklízet. Zcela unikátní roli má u virtualizace. Naopak se moc nehodí na zálohování převážně audiovizuálních dat, kde ztrátová komprese má tendenci vytvářet při i malých změnách na surových datech v RAM zcela nové soubory na disku.
Často však je doslova legrační sledovat, jak se záloha velikánských svazků dat mění v prostorově doslova minimalistickou deduplikovanou zálohu.

Předmět Autor Datum
Hlásím, že jsem rozjel deduplikaci na Win 10 pomocí balíčku Microsoft-Windows-Dedup-Package z Window…
kacikac 10.07.2019 00:28
kacikac
Napiš :) Vč. linků na stažení. Funguje to i na normálních W10 (Home, Pro) nebo je potřeba serverové…
L-Core 10.07.2019 07:02
L-Core
Link máš v článku. :-)
touchwood 10.07.2019 13:14
touchwood
Funguje to na normálních W10. Už jsem udělal mininávod :-) https://krakatoa.www3.cz/deduplikace.php…
kacikac 10.07.2019 15:51
kacikac
Zajímavé, rád bych to vyzkoušel, vedle těch běžných zálohovacích metod. :i: Napadá mě, že tohle by…
L-Core 10.07.2019 07:10
L-Core
https://www.qnapclub.eu/en/qpkg/496
touchwood 10.07.2019 13:17
touchwood
Můj NAS, TS-251B není podporován, navíc příkazový řádek není (už) nic pro mě :-) Nicméně jsem objev…
L-Core 10.07.2019 15:46
L-Core
Hezké. Toho borga jsem si provoznil na RPi a budu ho pouzivat na zalohy na NAS (z RPi a pracovniho M…
MaSo 10.07.2019 17:17
MaSo
Toho borga jsem si provoznil na RPi a budu ho pouzivat na zalohy na NAS (z RPi a pracovniho MacBook…
XoXoChanel 10.07.2019 18:22
XoXoChanel
jen technická: FS, byť síťový, mountovaný lokálně, se považuje za lokální FS. :-)
touchwood 13.07.2019 16:57
touchwood
Lehký úvod do deduplikace dat Lehky ? To riklal i Chuck Norris. Uz od prvniho dilu mi to dava pocit…
XoXoChanel 10.07.2019 18:10
XoXoChanel
Na zálohy dat služeb (MSSQL, Exchange, Lotus Domino, Oracle, apod.) už potřebuješ aplikační podporu,… poslední
touchwood 13.07.2019 17:00
touchwood

Hezké. Toho borga jsem si provoznil na RPi a budu ho pouzivat na zalohy na NAS (z RPi a pracovniho MacBooku). Funguje to i na namountovany FS ze site.


Name: 2
Fingerprint: 1910696a31b90f1f59ced66946eec4117ae37f8e3b01214dc63dfdb851119111
Hostname: raspberrypi
Username: root
Time (start): Wed, 2019-07-10 15:15:54
Time (end):   Wed, 2019-07-10 15:15:54
Command line: /usr/bin/borg create /home/pi/public/backup/::2 /home/pi/openkarvina-data-services/
Number of files: 38

                       Original size      Compressed size    Deduplicated size
This archive:              117.57 MB            117.57 MB                471 B
All archives:              235.13 MB            235.14 MB            117.57 MB

                       Unique chunks         Total chunks
Chunk index:                      84                  170

Diky...:-)

Lehký úvod do deduplikace dat

Lehky ? To riklal i Chuck Norris. Uz od prvniho dilu mi to dava pocit jako bych nahlédl do "odborné knihy", bude i treti cast ?

[Otazka] : Jestli tech dilu bude vic, nemohli by jste to dat k dispozici ve formatu ".PDF" na stahnuti ?
Nekteré postupy/kroky me zaujali a v tak podaném postupu je neznam, tak bych uz od prvniho prispevku "zalohovani" + dalsi publikace rad vse ulozil do ".PDF" a jednotlive kazdou solution "krok po kroku" vyzkousel.

- Bohuzel v zamestnani az tak volnou ruku nemame a musime pouzivat nastroje které na to mame predurcené tak se clovek nic moc nicemu novému nenauci. Uz jen proto bych uvital pouzit jiné metody tak jak je delam doposud a rad je vyzkousel co to da v praxy.
* Hlavne me zajima jak zalohovani SQL, Access etc tak mozné metody zalohy a duplikace na Linux a BSD.

Na zálohy dat služeb (MSSQL, Exchange, Lotus Domino, Oracle, apod.) už potřebuješ aplikační podporu, tj. zálohovací program musí mít modul pro tuto službu. Bývá to typicky jeden z úhelných kamenů pro výběr zálohovacího SW.

ad otázka: mám to skoro celé sepsané ve Wordu, tak ti z toho to PDF vyrobím. :-)

Zpět na články Přidat komentář k článku Nahoru