10.12.18

Jak na zálohování důležitých dat

(Tento post není o filmu)

Dnes bych se rád rozhovořil o tom, jak jsem (snad) skoro dokonale vyřešil své problémy se zálohováním, a to konkrétně:

1) Mám ve svém PC několik set GB dat, o která nikdy, za žádných okolností nechci přijít.

2) Některá ta data se dost často mění (i každý den), ale 99 procent z nich nikoliv.

3) U některých z těch dat potřebuji mít možnost vrátit se ke starší podobě oněch dat, kterou měla například včera nebo před rokem.

4) Mám Linux, takže vyrobit si pár jednoduchých skriptů, patřičně je provázat a spouštět je přes cron je pro mě jednodušší, než hledat nějakou hezkou barevnou zálohovací aplikaci s GUI. Pravděpodobně jde analogické řešení provést ve Windows, ale neporadím vám s tím.



O konkrétní podobu těch skriptů ani tak nejde. Spíš jsem myslel, že by vás mohlo zajímat, jaký software (všechen zdarma a open source) k tomu lze úspěšně použít. Takže:


Nejdřív malá specifická odbočka: Velmi speciálním případem jsou soubory k mému rozpracovanému filmu (ano, pořád rozpracovanému). Samozřejmě zálohuji všechny datové soubory ze střihacího programu (Lightworks) i jiné samostatné multimediální soubory (CGI rendery, zvukové soubory nahrané zvlášť atd.). Potenciální problém je v tom, že videosoubory, které stříhám, musí být ve videoformátu vhodném pro stříhání, a mají dohromady okolo dvou terabajtů. Abych je nemusel zálohovat, zálohuji pouze adresář "raw_videos", kde mám všechny videosoubory zkopírované z kamer v jejich původních formátech (AVCHD a GoPro), které jsou mnohem kratší, ale nevhodné pro stříhání. Kromě toho mám připravený skript, který dokáže všechna videa z raw_videos převést do vhodných "stříhacích" formátů (pomocí ffmpeg) a ještě je smysluplně přejmenuje a roztřídí. Kdybych náhodou přišel o celý harddisk, stačí mi obnovit ze zálohy onen adresář "raw_videos" a skriptem zrekonstruuji "střihatelná" videa do přesně stejné podoby, jakou měla předtím. T.j. stříhací program může pokračovat v práci, aniž by si všiml, že pracuje s jinými dvěma terabajty videodat, než pracoval předtím. (Soubory stříhacího programu, definující samostný sestřih, jsou striktně odděleny od videosouborů a jsou zálohovány zvlášť.)
Prvním důležitým programem pro zálohování je Borg Backup. Ten umožňuje zálohovat mnoho verzí mnoha souborů, přičemž výsledné archivy mají dohromady jen o málo větší velikost, než všechna unikátní data ve všech vašich archivech. Tedy, pokud například máte adresář se 100 GB dat, každý den z nich vytvoříte jeden nový záložní archiv, a během třiceti dnů přidáte / změníte celkem 1 GB z nich, tak po 30 dnech bude mít všech 30 vašich archivů dohromady jen 101 GB (a nějaké drobné). Navíc, bez ohledu na počet a velikost původních souborů, data všech těch archivů budou pozůstávat převážně z velkých souborů (500 MB každý), z nichž valná většina se při každodenních updatech nebude měnit. Na rozdíl od podobně fungujících metod standardního diff zálohování Borg Backup umožňuje mazat libovolné starší archivy, aniž by přitom musel překompresovávat / kopírovat celý archiv. A může je mazat podle poměrně složitých parametrů, takže například můžete mít automaticky zaručeno, že máte od svého archivu jednu verzi za každý z posledních 60 dní, pak jednu verzi za každý z předchozích 52 týdnů a pak jednu verzi za každý z předchozích měsíců.

Prvním krok mého zálohovacího skriptu, který se automaticky spouští každé ráno v 5:00, spočívá tedy v tom, že z asi tuctu adresářů na mém harddisku updatuje stejný počet Borg archivů na mém zálohovacím disku. Ten je sice externí (připojený přes USB a odpojitelný), ale rychlost není problém. Většinu dní se nezmění více než gigabajt dat a aktualizace několika set GB archivů (a odstranění starých, nepotřebných) trvá většinou méně než 5 minut. Různé archivy mají různě nastavené mazání, takže například u svého filmu mám archivováno podstatně více verzí (dále do minulosti a s jemnější granulatritou), než u svého archivu VST pluginů.

Externí USB disk samozřejmě může relativně snadno umřít, takže pro jistotu používám i starší domácí NAS box s dvěma 1 TB disky v RAID 1. Na něj se každou noc kopíruje 1:1 celý obsah zálohovacího USB disku. Zápis na něj je velmi pomalý (okolo 10 MB/s), ale to je celkem jedno, neboť kopírování se provádí pomocí programu rsync, který kopíruje pouze změněné soubory. A vzhledem k tomu, že většina souborů jsou Borg archivy, je změněných většinou jen pár z nich.

Pro případ, že by došlo k něčemu katastrofálnímu, a byl například zničen celý můj se všemi úložišti, zálohuji vybrané důležité archivy (například svůj film) ještě online, a to na Backblaze B2. Backblaze vám nabízí "personal backup" pro Windows a Mac, kdy můžete za 5 dolarů měsíčně zálohovat kompletní obsah harddisku v jednom svém počítači. Pro mé potřeby je ale užitečnější jejich B2 systém, kdy platíte podle skutečně použitého místa (a jistých dalších kvót), jeden dolar (plus DPH) za 200 uložených GB, a můžete si zálohovat co chcete, jak chcete a odkud chcete (přes dobře zdokumentované API). Online zálohování provádím programem rclone, který je vpodstatě luxusnější variantou rsyncu pro cloud storage a opět uploaduje pouze změněné soubory (u každého si pamatuje checksum). Všechny archivy jsou samozřejmě enkryptovány (už v lokální záloze, dlouho před uploadováním), což Borg backup hladce umožňuje.

Výsledkem je, že všechno výše popsané každodenní zálohování (500 GB na dvě externí zařízení a 250 GB do cloudu) dohromady trvá většinou pod 10 minut.

Ilustrační foto někoho, kdo jistě umí kvalitně zálohovat
Skript, který provádí každou noc všechny výše zmíněné operace, ještě u každého archivu porovná jeho součásný obsah s obsahem z předchozího dne, a zapíše mi do log souboru, co přesně se ve kterém archivu za minulý den změnilo. Někdy to jsou hromady textu, ale občas se to hodí. Pokud skript někdy v průběhu zálohování zjistí nějakou chybu, pošle mi e-mail. Jednou za pár dní se ručně podívám, jestli log z předchozí noci vypadá OK.

Kdyby selhaly mé interní harddisky, všechny důležité soubory snadno obnovím z Borg záloh, které mám na dvou výše zmíněných externích discích. Pokud chci obnovit pouze některé specifické soubory do podoby, kterou měly před několika dny / týdny / měsíci, Borg umožňuje velmi luxusně libovolný archiv namountovat jako lokální adresář, ve kterém vidíte "otisk" všech souborů k určenému datu. Takže je například možné si na různé mounty přiřadit deset různě starých archivů o velikosti 100 GB (tedy celkem 1 TB), to vše z jednoho Borg repository o velikosti třeba jen 110 GB.

Kdyby došlo ke katastrofě a všechna lokálně zálohovaná data byla ztracena, obnovování z Backblaze B2 je trochu problematičtější, neboť download více jako 1 GB za den je z B2 je docela hustě placený (tedy, 1 dolar za 100 GB pořád není nějak extra moc, ale je to prostě mnohem víc, než platíte za uploady). Nicméně je možné pomocí rclone lokálně namountovat online úložiště B2, a toto namountované úložiště pak znovu namountovat jako lokální Borg archiv a z něj zkopírovat (tedy vlastně stáhnout) selektivně jen ta nejpotřebnější data.



Doufám, že to nebudu muset nikdy dělat.

Celkově musím říct, že mám příjemný pocit, když takový poměrně složitý a dost specifický problém mohu vyřešit zcela ke své spokojenosti a bez zbytečného utrácení. Spí se mi mnohem lépe, když vím, že je moje porno takhle dobře zálohováno. Kéž by se takto snado daly řešit i jiné problémy!

47 komentářů:

  1. FF, 50 let. Blbé navíc je, že je zde zálohováno něco tak zbytečného, jako video z toho Japonska. Všechno je už dávno jinde a silně pochybuji, že film s věčně se všemu divícím čechem může někoho, kromě plátců, zajímat... :(

    OdpovědětVymazat
    Odpovědi
    1. Pro někoho, kdo se do Japonska tak jako tak nikdy nepodívá, je z podstaty věci jedno, jestli uvidí dokument o Japonsku dnešním, nebo o Japonsku před pěti lety.

      Ostatně, jsou lidé, kteří tohle vyloženě vyhledávají. Třeba já hrozně rád čtu staré cestopisy. Zrajou jako víno. Mám tu teď rozečteno od Čumačenka "Rok bratrem Papuánců" (1940), pak se chystám na "Finský maratón" od Myslíkové (1982, to už je skoro žhavá současnost) a na příští rok si suším pár knížek o Indii, Pákistánu, Afghánistánu a Africe, převážně ze sedmdesátých let. ;)

      Vymazat
    2. on ten Frantův film vlastně vyjde jako historický dokumentární :D

      Vymazat
  2. Tolik materialu pro Frantaftokiu? Respekt. Zalohovano tedy mame. Nejakej release? Dildo, Vileme, Jarmilo? Nejdu...

    OdpovědětVymazat
    Odpovědi
    1. Dildo, Vileme, Jarmilo.
      To je dobry napad jak pojmenovavat vyvojove verze filmu,
      podobne jako je Debian Sarge/Wheezy/Sid.
      Film je zatim ve verzi Dildo.

      Vymazat
  3. Ta cloud recovery price je slabé místo na jinak dobrém nastavení. Výhledově by nemuselo být špatné dát třeba k tvé sestře domů malý NAS a zálohovat na něj, Franto. Pokud je stále v UK, měl bys to krásně geograficky odděleno a případná obnova všech dat by nestála majlant. I když teď se dívám na Pricing u BackBlaze a vidím, že stáhnutí 100 GB stojí $1, tak to by stáhnutí 250 GB stálo nekřesťanských $2.50?

    OdpovědětVymazat
    Odpovědi
    1. Jo, ta cena není nijak extra veliká, ale pořád mnohem větší než za uploady. Opravil jsem to na lepší formulaci. P.S: Moje sestra žije v Austrálii, ne v UK, a nemá tak kvalitní připojení, aby něco podobného bylo realizovatelné.

      Vymazat
    2. Ale ja videl Janu v Londyne!

      Vymazat
    3. Ja videl Janu v Londyne taky, dokonce jsem tam s ni i prohodil par slov.

      Vymazat
  4. Krásná práce. Je všem jasné, že nemá smysl se seriózně pouštět do stříhání čehokoliv bez důkladného a spolehlivého vyřešení záloh. Zvlášť ne po tom nepěkném incidentu v patnáctém roce.

    No je pravda, že problém se dá vyřešit (o 10% hůř, ale stále dostatečně) za dvacetinu doby investované do tohodle mechanického betlému, ale chápu, že i cesta je někdy cíl...

    OdpovědětVymazat
  5. Počkat, jsem jediný, komu přijde takové... speficické, že Franta v průběhu článku vícekrát popisuje zálohování svého filmu, aby pak na závěr s uspokojením prohlásil, že spí lépe, protože ví, "že je moje porno takhle dobře zálohováno"?

    Jsou jen dva scénáře: buď ten tajemný film nemá s Tokyem nic společného, nebo je na čase se zeptat, co se vlastně v tom Tokyu mělo natáčet...

    Ale s online zálohováním to není špatný nápad, mám věci zálohované na dvou oddělených HD, ale pořád ve stejném domě...

    OdpovědětVymazat
    Odpovědi
    1. Faire: Náhodné scény z porna budou podle složitého matematického vzorce zakomponovány do dokumentu. Tím Edgelord vytře zrak všem kritikům, kteří věští filmu neúspěch proto, že to bude neoriginální nuda.

      Vymazat
    2. Niesi sam ale Fuka cenzuruje prispevky, tak sa nad tym zatial verejne pozastavujes iba ty.

      Vymazat
  6. Tvůj poskytovatel Internetu tě jistě miluje. Přes domácí přípojku za cenu domácí přípojky (předpokládám) valit takové objemy. Pokud máš obvyklou cenu pro domácnosti, tak na tobě nejspíše prodělává.

    Kdo tě připojuje a za kolik, smím-li se zeptat?

    OdpovědětVymazat
    Odpovědi
    1. "Takové objemy"? Většinu dní je to pod 100 MB. Uploadují se pouze ZMĚNĚNÁ DATA. A připojení mám od CZnet.cz, 50 mb/s upload + 50 mb/s download, obojí neomezené, 250 Kč měsíčně. Doporučuji.

      Vymazat
    2. Nezda se mi ze by to byl kdovijak velky objem dat...nase domacnost prenese prumerne kazdy den cca 4,5 gb (bez porna)

      Vymazat
    3. Ano, a čtyři a půl gramu brouků není zas tak moc! I když nevím, k čemu brouci potřebují porno.

      Vymazat
  7. Není náhodou 1TB -> 1000GB? Jinak bych měl sakra přeplacený externí disk...

    OdpovědětVymazat
    Odpovědi
    1. Ano, 1 TB je buď 1000 GB, nebo 1024 GB, podle toho, jak se vyspíš. A co?

      Vymazat
    2. Moje chyba, špatně jsem si to přečetl, že je to deset adresářů po 100Gb. To je tak, když di někdo něco čte na hajzlu a chce bejt chytrej...

      Vymazat
  8. Krááásnej článek. Moc krásnej. Je to úžasný, jak Franta dokáže dělat složitě věci, který jsou jednoduchý.

    OdpovědětVymazat
  9. Odpovědi
    1. Blby je ze ten script bere source z toho linku. To zanamena ze to co tam nekdo uz napsal tak tady neprojde...

      Vymazat
  10. zdravim, zajimal by me obsah onech skriptu, mohl byste je pls ukazat? treba pres vas github...?

    OdpovědětVymazat
  11. Toz to mas Franto vychytane, jses uplnej scriptolord.

    OdpovědětVymazat
  12. Pravdepodobnost ztraty dat se umerne snizuje casu ztraveneho na tvorbe filmu.

    OdpovědětVymazat
  13. Ked to tu cita nejaka skolacka tak uz presne vie ako si zalohovat pracu do skoly.

    OdpovědětVymazat
  14. Při všech těch starostech o zálohování ničím nenahraditelného porna asi nehrozí, že by si FF sehnal Outlaw King a napsal na to pár řádek.

    OdpovědětVymazat
  15. taky jsem driv pouzival B2, nicmene nedavno jsem objevil wasabi.com ma stejnou cenu za uloziste, ale traffic ma zdarma + je plne kompatibilni s S3 API + maj vic lokaci a planujou novou v evrope (BTW: neni nic levnejsiho na hostovani a distribuci obrazku pro web, mluvim o TB dat)

    pro zalohu kritickych dat pouzivam rsync.net, konkretne v georedundantni variante se snapshotama za pouziti borgu se zakazanym prepisem a mazanim zaloh

    hesla a klice jsou zakryptovany v pass ktery je navic pri kazdy zmene pushnuty na gitlab

    3-2-1 backup strategy, pro nekoho draha komplikace, pro nekoho levne pojisteni...

    OdpovědětVymazat
    Odpovědi
    1. Na Wasabi jsem taky koukal, a nelíbily se mi (pro mé potřeby) dvě věci: 1) Musím platit vždycky minimálně za 1 TB, i když tam mám méně dat. 2) Bez ohledu na to, kdy nějaký soubor smažu, změním, počítá se vždy, jako kdybych ho u nich měl uložený aspoň 90 dní. Takže pro každodenně updatované zálohy to může vyjít na podstatně víc peněz, než by si člověk selským rozumem řekl.

      Vymazat
    2. pravdu diz, pro objemy hluboko pod 1 TB, pripadne soubory (obzvlaste velky) s zivotnosti hluboko pod 90 dni je B2 ekonomictejsi. wasabi je ekonomictejsi jen v pripade potreby castejsiho pristupu k datum. dik za insight, todle mi uplne uniklo

      Vymazat
    3. vzhledem k tomu, že Google nebo Dropbox přijdou asi pod 300 Kč měsíčně za neomezený prostor a člověk to nemusí speciálně balit a data má okamžitě k dispozici, tak mi celej ten článek přijde úplně zbytečnej = 300 Kč měsíčně je něco jako 2 normální obědy a na to snad má každý

      Vymazat
    4. Kde nabízí neomezené úložiště pro individuála pod 300 Kč měsíčně?

      Vymazat
    5. Já používám crashplan, který stojí 10 usd měsíčně, tedy míň než 300kč a je tam neomezené uložiště pro backup. Nevím jak je na tom s API, pač to neřeším.

      Vymazat
  16. vdaka za clanok. +/- toto riesim a usetrilo mi to vela hladania.

    btw: backup je fajn, ale skusal si aspon raz spravit aj restore?

    OdpovědětVymazat
  17. AVCHD ale není RAW, Františku.

    Ten střihací soft nebere AVCHD? To mi bere i obyčejnej Avidemux. Moc se nelíbí, že se to několikrát překonvertovává. První konverzi udělá hned kamera - AVCHD, pak to proženeš FFMPEGem, pak střihacím softem a nakonec to ještě překonvertuje Youtube (pokud tedy to pujde na YT).

    Ale jinak hezký článek. Děkuji za něj. Určitě si z toho vezmu inspiraci.

    OdpovědětVymazat
    Odpovědi
    1. Ne, AVCHD není RAW. Ten adresář se jmenuje "raw_videos", protože v něm jsou videosoubory bez jakýchkoliv úprav, jen zkopírované z kamer. Ty se nikdy nijak neupravují, jen se z nich skriptem generují ty "normálně střihatelné" soubory.

      Popise "několikeré konverze" není přesný. Po prohnání FFMPEGem už se nic nekonvertuje, střih spočívá v tom, že se generují metasoubory, popisující kolik políček filmu se má vzít ze kterého kusu kterého souboru. Finální render se provede až úplně nakonec, při exportu na YouTube nebo jinam, předtím není důvod. Vzhledem k tomu, že finální produkt bude "pouze" Full HD, s kvalitou není problém (vyzkoušeno).

      Vymazat
  18. Celé by to možno fungovalo a s win10 v Linux subsystéme.

    OdpovědětVymazat
    Odpovědi
    1. nevidím důvod, proč ne > sám zálohuje ve WSL a nemám problém
      oproti Frantovi to ale všechno cpu do Google Storage bez limitu dat (lze použít i Dropbox), takže nic nebalím a nedělám žádné archivy = data používám přímo z Cloudu, na to ještě Franta holt nepřišel

      Vymazat
  19. powershell + gpg + onedrive = absolutnispokojenost

    OdpovědětVymazat

Komentáře jsou moderovány kombinací umělé a lidské inteligence. Mohou být zveřejněny až po několika hodinách a ty zveřejněné mohou později zmizet. Pokud pošlete stejný (nebo podobný) komentář několikrát, výrazně se tím snižuje pravděpodobnost, že bude někdy publikován.