Fórum Root.cz

Hlavní témata => Sítě => Téma založeno: pferd 15. 07. 2012, 17:35:35

Název: Snížení objemu dat při zálohování
Přispěvatel: pferd 15. 07. 2012, 17:35:35
Dobrej.

Musím přibližně každou hodinu zálohovat čtyři až deset adresářů, každý o velikosti 50 - 100MB na vzdálený server, na kterém běží jen FTP, a při tom přenést co nejméně dat.
Ty adresáře jsou plné dvoumegabajtových binárních souborů (není to text) (ty soubory ale nemusí mít přesně 2 MB).
Nabízí se asi nějaké řešení na způsob diffu. Poradíte mi nějaké, prosím?

http://www.root.cz/clanky/pokrocile-zalohovani-s-rsync/
Radoval jsem se, když jsem objevil tento článek, ale ten vyžaduje, aby byl na vzdáleném serveru taky rsync. Což já nemám.
Existuje řešení, že by se uložily rozdíly, které rsync najde, do lokálního adresáře, a ten se potom přenesl na vzdálený server přes FTP? Nevadí, že by potom byly pro obnovu dat potřeba dva adresáře (původní a ten se změnami).
Název: Re:Snížení objemu přenášených dat při zálohování na FTP
Přispěvatel: to_je_jedno 15. 07. 2012, 18:41:33
musis prenest(tj soucet up i down) co nejmene nebo odeslat(tj jen up)?
Název: Re:Snížení objemu přenášených dat při zálohování na FTP
Přispěvatel: pferd 15. 07. 2012, 19:05:08
Ehm... Při zálohování na externí server nemám co stahovat, ne? Budu tam data jen odesílat. A jestli je na vytvoření diffu potřeba předchozí složka zálohy ze serveru, tu si snad můžu ponechat lokálně, ne? Nemusím ji tam vždycky nahrát a u sebe smazat.
A jestli mluvíte o případné obnově dat, tak při té můžu stáhnout jakékoliv množství dat, to je výjimečná situace.

Takže odpověď na Vaši otázku je asi jen odeslat.
Název: Re:Snížení objemu přenášených dat při zálohování na FTP
Přispěvatel: andrej 15. 07. 2012, 19:16:54
skusil by som nasadit nejaky binarny diff - napriklad z http://www.daemonology.net/bsdiff/ a prenasat len ten diff subor.
plny backup by som prenasal v rozumnom casovom intervale napr. kazdych 16 backupov.
Název: Re:Snížení objemu přenášených dat při zálohování na FTP
Přispěvatel: Mirek Prýmek 15. 07. 2012, 19:51:24
O hotovém řešení nevím, ale šlo by to pořešit růčo různými způsoby, třeba:

1. klasicky dumpem http://www.linuxmanpages.com/man8/dump.8.php - nevýhoda je, že má jenom 9 úrovní inkrementálních záloh
2. git+git-ftp https://github.com/resmo/git-ftp - nevýhoda je, že neumí pořádně uložit metadata (práva souborů, rozšířené atributy), to by se muselo pořešit zvlášť něčím na způsob http://manpages.ubuntu.com/manpages/precise/man5/freebsd-mtree.5.html
3. použít jenom zmíněný mtree, jeho výstup parsovat a soubory, které se změnily, uložit na server ručně jakýmkoli způsobem

Tak jako tak ale FTP(s) není dobré řešení, protože na stroji, odkud se zálohuje, musí být uloženo heslo/klíč, takže při kompromitaci stroje dojde i ke kompromitaci záloh, což není vůbec dobrá situace.
Název: Re:Snížení objemu přenášených dat při zálohování na FTP
Přispěvatel: pferd 15. 07. 2012, 20:58:08
No, bsdiff asi nepoužiju. Vytvoření binárního diffu jednoho adresáře trvalo 85 sekund na Pentiu E6500 a výsledný adresář měl 11MB.
A takové adresáře mám každou hodinu zálohovat nejméně 4.
Název: Re:Snížení objemu dat při zálohování
Přispěvatel: Petr Krčmář 15. 07. 2012, 21:04:40
Já používám nástroj Duplicity (http://www.root.cz/clanky/sifrovane-inkrementalni-zalohy-s-duplicity/), což je asi přesně to, co potřebuješ. Vytvoří si informace o rozdílech tady a venku, informace si uloží lokálně a pak změny pošle ven. Při příštím startu se podívá jen k sobě do lokálních záznamů, co se změnilo, podle toho opět vyrobí rozdílové soubory a opět je pošle ven. Počítá právě s hloupým úložištěm, které mu neumí inteligentně odpovídat a nic počítat.
Název: Re:Snížení objemu dat při zálohování
Přispěvatel: pferd 15. 07. 2012, 23:00:21
Pane Krčmáři, děkuji. To je přesně to, co potřebuji.

Problém vyřešen.