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.

Jsou zobrazeny jen nové komentáře. Zobrazit všechny
Předmět Autor Datum
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
jen technická: FS, byť síťový, mountovaný lokálně, se považuje za lokální FS. :-)
touchwood 13.07.2019 16:57
touchwood
a co potom jsou tedy síťové filesystémy? poslední
svígr 27.08.2019 22:30
svígr
Našel jsem poměrně zajímavé řešení deduplikace na klientovi pro FreeNAS: https://www.ixsystems.com/b… nový
touchwood 22.08.2019 14:21
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...:-)

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