Jak správně zálohovat data okolo 20 GiB

romanz

Re:Jak správně zálohovat data okolo 20 GiB
« Odpověď #45 kdy: 14. 10. 2017, 11:07:25 »
Já myslím, že pan kolega neměl tolik starostí o to KAM ukládat data, ale JAK, aby měl jistotu, že se nepoškodí ani bit, a že se nebude jednat o Write-Only zálohu. My odpovídáme už na něco jiného.

pan kolega psal "I jeden bajt " takze ztratu na urovni jednoto bitu zrejme neni potreba resit... :)


Re:Jak správně zálohovat data okolo 20 GiB
« Odpověď #46 kdy: 14. 10. 2017, 12:09:46 »
Kompletne zabranit poruse nejde, ale poruchu je treba nejak detekovat. Treba tim, ze soubor bude zabalen jako 7z archiv a bude pravidelne testovan.
Přestaňte trvat na tomhle nesmyslu, už vám tu psali jiní, že tohle je k ničemu a navíc zbytečně komplikované. Komprese souborů do archivu slouží ke zmenšení objemu dat, ne k zajištění neporušitelnosti. Když se ten archiv poškodí, klidně ho rozbalíte, akorát získáte jiná data. Což je přesně to, čemu chcete zabránit. Jediný případ, kdy byste poškození poznal, by byly některé typy poškození metadat.

Pro kontrolu toho, že nedošlo ke změně souboru, se používají otisky souborů, nebo-li hashe. Spočítejte si SHA-512 hash toho ukládaného souboru a hash si někam uložte. (Soubor máte na více místech, hash uložte také na více míst – ideálně ke každému uloženému souboru uložte i jeho hash. Tím máte ošetřené neúmyslné poškození souboru. Pokud se chcete bránit i před úmyslným poškozením, tj. útočník by změnil soubor a také přepočítal hash, uložte si hash ještě někde jinde, offline do trezoru, aby se k němu útočník nedostal.) Až budete chtít zkontrolovat, že se obsah souboru nezměnil, spočítáte znovu jeho hash a porovnáte s tím, co máte uložené. Pokud v tom souboru máte uložený recept na výrobu elixíru mládí, mapu Atlantidy a Peroutkův článek „Hitler je gentleman“, mlžete těch hashů spočítat i víc různými algoritmy, třeba SHA-3,  SHA-512 a třeba ještě BLAKE2.

Ale hlavně, pokud je to opravdu tak důležité, jak tvrdíte, nechte ten proces ukládání, kontroly a obnovy navrhnout někoho, kdo bezpečnosti rozumí. Ta vaše validace pomocí 7z je zásadní chyba, je tudíž dost pravděpodobné, že podobné kiksy máte i v jiných částech procesu, které jste tu nepopsal – třeba práce s tím TC archivem nebo s klíči.

Milfaus

Re:Jak správně zálohovat data okolo 20 GiB
« Odpověď #47 kdy: 14. 10. 2017, 15:24:50 »
Komprese souborů do archivu slouží ke zmenšení objemu dat, ne k zajištění neporušitelnosti.

Jirsák zase šíří FUD a bludy  ::) od toho jsem tu já!!!  ;D

Řada archivátorů (snad skoro každý) přidává do souboru kontrolní i opravné součty.
Proto Vám ZIP řekne, že je archiv porušený, protože detekoval chybu, to je sice hodně primitivní kontrola někde úrovni MD5, ale dostatečně odolná, aby se zjistilo poškození byť jen jediného bitu.

Například placená verze RARu v sobě měla i možnost přibalení kontrolních součtů pro sebeopravu.
https://leurproject.co/winrar-powerful-rar-zip-file-utility-261/

Tyto věci se schovávají pod:
  • Checksum Verification
  • Improved repair of damaged file

Změna jednoho bajtu je pravděpodobnější na úrovni RAM!
V průměru jednou za tři měsíce dojde v ram ke změně hodnoty jednoho bajtu tím, že se změní jeden bit.
Ostatně původní hodnota 0000 0000 je dost rozdílná od 1000 0000.
(Nabitá částice z vesmíru si to prcne do RAMky a tam něco provede.)
Od toho jsou ECC paměti, aby se tohle nestávalo.

Ale zpět k Archivaci, kontrolní součty dobrý archivátor ohlídá velmi dobře.
Skvělý archivátor má při kompresi možnost nastavit velikost kontrolních součtů a pak sám umí soubor opravit.

Mimo to, jak CD/DVD/BD, Pásky i HardDisky disky používají vlastní kontrolní součty!

Jde to až tak daleko, že kontrolní součty jsou nasazené dokonce i na rozhraní disku!!!
https://obrazki.elektroda.pl/9046355500_1374763623.jpg

ZFS roky používá ZFS end-to-end data integrity!!!
CD mělo CIRC: https://en.wikipedia.org/wiki/Cross-interleaved_Reed%E2%80%93Solomon_coding
Každý formát má svoje opravné mechanismy, aby se bity neztrácely!
Takže další kontrolní součty na úrovni souborového systému!!!

Tak bych poprosil Jirsáka A vypatlané debílky, aby tu neFUDovali kraviny o tom, jak je složité zachovat integritu!

Re:Jak správně zálohovat data okolo 20 GiB
« Odpověď #48 kdy: 14. 10. 2017, 16:48:47 »
Řada archivátorů (snad skoro každý) přidává do souboru kontrolní i opravné součty.
Proto Vám ZIP řekne, že je archiv porušený, protože detekoval chybu, to je sice hodně primitivní kontrola někde úrovni MD5, ale dostatečně odolná, aby se zjistilo poškození byť jen jediného bitu.
Problém je právě v tom „někde na úrovni“. Kdyby byla někde na úrovni MD5, je to fajn, protože by to změnu v jediném bitu opravdu zaznamenalo. Ale co když je ta kontrola někde na úrovni CRC32? To už by bylo velmi nedostatečné, vzhledem k tomu, o jak důležitá data má jít. Takže byste musel zjistit, jaký kontrolní součet se v kterém archivačním formátu používá (a vůbec bych se nedivil, kdyby jich pro některé formáty bylo víc a záleželo na tom, který program použijete pro kompresi). Dále byste musel zjistit, že program, který použijete na dekompresi, opravdu provádí tu validaci kontrolních součtů.

Proč to celé, proč takové komplikace, proč používat program k něčemu, na co není určen, když tu máme programy, které jsou na výpočet kontrolních součtů určené, dělají to správně a spolehlivě a jejich použití je mnohem jednodušší, než ta anabáze s kompresí?

Mimo to, jak CD/DVD/BD, Pásky i HardDisky disky používají vlastní kontrolní součty!
Každý formát má svoje opravné mechanismy, aby se bity neztrácely!
Takže další kontrolní součty na úrovni souborového systému!!!
To všichni vědí. Jenže tohle všechno je určené pro běžný provoz, ne k nějakému super jištění. Vzhledem k tomu, že tazatel chce uložit data asi na pět nebo kolik míst, určitě chce mít svou vlastní možnost ověřit si, že data v jednotlivé kopii nejsou poškozená. Ono je to jednodušší, než stahovat všech pět kopií k sobě a pak porovnávat, které z nich jsou stejné a které se liší (což by se dělalo opět přes hashe…).

Mimochodem, třeba při použití Amazon Glacier je použití hashe při uploadu povinné, protože i Amazon chce být chráněný a zkontrolovat si, že k němu po síti doputovalo skutečně to, co klient odeslal. A při downloadu vám (v závislosti na podmínkách) opět pošlou hash stahovaných dat. A to mají TCP segmenty také své kontrolní součty, a linkové protokoly obvykle také.

spacek

Re:Jak správně zálohovat data okolo 20 GiB
« Odpověď #49 kdy: 14. 10. 2017, 17:21:02 »
Jak už se tu psalo, nic dalšího než prosté šoupnutí na archivační médium bych na TC kontejner nepoužíval.
- ke každé kopii si uložit její hash, opětovným přečtením z archivního média hash ověřit
- po vytvoření "x" kopií porovnat jejich hashe navzájem (pro jistotu paranoika)
Tím mám jistotu, že mám "x" správných archivních kopií.
Pokud použiji různá média (BD, flashdisk, HDD, páska, něco z toho třeba vícekrát) a umístím je na různá místa, je bezpečnosti učiněno zadost.
A tento postup pravidelně (po změně obsahu TC kontejneru) opakovat.

Všechny další procedury jsou redundantní a zbytečné, jelikož TC kontejner je již ze svého principu dostatečně bezpečný (při správné složitosti klíče). Jen se zvětšuje riziko potencionální chyby při zpracování dalším sw.


spacek

Re:Jak správně zálohovat data okolo 20 GiB
« Odpověď #50 kdy: 14. 10. 2017, 17:24:32 »
Zapomněl jsem dodat, že bych na archivační médium spolu s kontejnerem nasypal i instalačku pro čtení toho kontejneru...

JardaP .

  • *****
  • 11 064
    • Zobrazit profil
    • E-mail
Re:Jak správně zálohovat data okolo 20 GiB
« Odpověď #51 kdy: 14. 10. 2017, 17:32:11 »
Řada archivátorů (snad skoro každý) přidává do souboru kontrolní i opravné součty.
Proto Vám ZIP řekne, že je archiv porušený, protože detekoval chybu, to je sice hodně primitivní kontrola někde úrovni MD5, ale dostatečně odolná, aby se zjistilo poškození byť jen jediného bitu.

A to se vyplati. Pouziju ZIP, ktery je primarne urceny na neco jineho, nez kontrola checksumu. A pritom ani nevim, jak moc splehlive a jakym algoritmem to kontroluje. A pritom do nej jeste budu krmit nekomprimovatelna data, takze doporucuji nastavit co nejvyssi pozadovanou kompresi, aby to trvalo co nejdele. A kdyz budu mit stesti, bude vysledny soubor aspon o kousek vetsi, nez original.

Milfaus

Re:Jak správně zálohovat data okolo 20 GiB
« Odpověď #52 kdy: 14. 10. 2017, 17:44:16 »
Z těch obyčejných RAR umí BLAKE2, stačí mu to říct parametrem.

Protože opice netuší, co to je BLAKE2: https://blake2.net/

Re:Jak správně zálohovat data okolo 20 GiB
« Odpověď #53 kdy: 14. 10. 2017, 18:10:14 »
Z těch obyčejných RAR umí BLAKE2, stačí mu to říct parametrem.
Jenže aby to k něčemu bylo, je potřeba si ověřit, že konkrétní program, který se použije pro rozbalování, ten kontrolní součet opravdu ověřuje. Zejména když použijete nějaký opensource klon, který někdo napsal hlavně pro to, aby dokázal běžné archivy vůbec rozbalit, nemáte vůbec jistotu, že nějaké ověřování kontrolních součtů bude dělat. Vždyť to pro rozbalení není potřeba, a když se ten kontrolní součet neověří, nikdo to nepozná.

Pro pomaleji chápající – použití komprimačního programu v tomto případě nepřinese vůbec žádné výhody, za to má několik nevýhod:
  • Je potřeba ověřit, že použitý kontrolní součet je dostatečně silný pro uvedenou potřebu, a je potřeba zajistit, aby se do archivu opravdu vkládal.
  • Je potřeba ověřit, že se při dekompresi kontrolní součet ověřuje, a jakým způsobem bude program signalizovat, že kontrolní součet nesedí.
  • Komprese a dekomprese je zbytečně náročná na zdroje, bude to trvat déle.
  • Výsledný komprimovaný soubor bude pravděpodobně větší, než originál, protože se komprimují takřka náhodná data.

Nemusíte stále dokazovat, že použít tímhle způsobem archiv je možné – to tu nikdo nerozporuje. Důležité je to, že to nedává žádný smysl, protože je to komplikovanější a riskantnější.

Aaa

Re:Jak správně zálohovat data okolo 20 GiB
« Odpověď #54 kdy: 14. 10. 2017, 18:32:39 »
Mimo to, jak CD/DVD/BD, Pásky i HardDisky disky používají vlastní kontrolní součty!
To nestaci. U HDD sa bezne uvadza pravdepodobnost neopravitelneho bitflipu 10^-14. To be v bitoch, takze sa da ocakavat chyba kazdych cca 12TB.

Kompresiu samotnu na zalohy nebrat: zmena jedneho bitu so sebou moze zobrat cely archiv. Oznamenie chybneho checksumu na zalohy nestaci. Treba to kombinovat so samoopravnymi kodami:
https://github.com/Backblaze/JavaReedSolomon

A len tak mimochodom, CRC lahko zachyti chyby v jednom bite, to be vidiet na prvy pohlad z navrhu (x^i nebude nikdy delitelne CRC polynomom). U inych hashov to take zrejme nie je.

JardaP .

  • *****
  • 11 064
    • Zobrazit profil
    • E-mail
Re:Jak správně zálohovat data okolo 20 GiB
« Odpověď #55 kdy: 14. 10. 2017, 20:15:39 »
Kompresiu samotnu na zalohy nebrat: zmena jedneho bitu so sebou moze zobrat cely archiv.

To je uplne jedno, kdyz rika, ze zmena jedineho bajtu znamena, ze je to cele na hovno. Takze jestli to ma poskozene a rozbalene nebo poskozene a nerozbalene, vyjde uplne na stejno.

datadoclanku

Re:Jak správně zálohovat data okolo 20 GiB
« Odpověď #56 kdy: 14. 10. 2017, 21:05:00 »
Jarda P

Taky mas pravdu, ze to jde takhle cele prepajpovat, pak se nesifrovana data na HDD nezapisuji. Ale je to uz slozitejsi prikaz a to se pak bojim nekde neudelat chybu.

Jinak jak tady bylo zmineno, "kompresi" (tady spis ekvivalent tarovani) delat pro moznost testovani kontrolnich souctu asi moc smysl nema. Je tam riziko chyby a u sifrovanych dat spis velikost mirne naroste (a komprese ultra dlouho trva). Ja teda pro tyhle ucely jsem vzdy pouzival nulovou kompresi v 7z (storage). Takze data v archivu jsou videmene stejna. Rychlost komprese je v tomto pripade limitovana diskem a u storage komprese je mensi riziko chyby nez u napr. ultra. Kompresi (storage, tedy nulovou) jsem pouzival jednak pro snadne testovani a jednak pro moznost rozdeleni archivu (napr. pro vypaleni na DVD).
Maximum dilu, na ktery archiv muzes rozdelit timto prikazem je 999.

Nulova Storage komprese s rozdelenim souboru na 4 G casti:
7z a -t7z -mx=0 -v4000m -mmt=off file.7z

Test
7z t file.7z.001 (musis zacinat prvnim, otestuje vsechny dily)

Rozbaleni
7z x 7z.001 (musis zacinat prvnim,rozbali vsechny dily)

Ale asi i by bylo lepsi miksto komrese jen udelat checksumy i s vice algoritmy.

datadoclanku

Re:Jak správně zálohovat data okolo 20 GiB
« Odpověď #57 kdy: 14. 10. 2017, 21:12:44 »
Já myslím, že pan kolega neměl tolik starostí o to KAM ukládat data, ale JAK, aby měl jistotu, že se nepoškodí ani bit, a že se nebude jednat o Write-Only zálohu. My odpovídáme už na něco jiného.

pan kolega psal "I jeden bajt " takze ztratu na urovni jednoto bitu zrejme neni potreba resit... :)

Kdyz to bude jeden bit, tak se zmeni celej bajt ne ? Nebo jak to myslis.

Ano otazka byla, jak ty data ulozit spravne, ne tolik kam. Ale kam (ktera media jsou kratko a dlouho dobe spolehliva). S BD zkusenosti nemam, DVD jak kdy. Ale spis je to udelat si DVD nebo BD zalohu jako jednu dalsi, ne jako kritickou. Na Read only media zalohovat jde, ale na kazdou zalohu nove medium treba. DVD RW co vim, tak nic moc. Pasky a HDD vypadaji dobre pro opetovne zalohovani, stejne tak flashdisky jsou dobre v pripade prubezneho prepisovani novejsi verzi.

Ale spis ta otazka byla, jak overit, zdali je zaloha spravna.

JardaP .

  • *****
  • 11 064
    • Zobrazit profil
    • E-mail
Re:Jak správně zálohovat data okolo 20 GiB
« Odpověď #58 kdy: 14. 10. 2017, 21:22:24 »
Taky mas pravdu, ze to jde takhle cele prepajpovat, pak se nesifrovana data na HDD nezapisuji. Ale je to uz slozitejsi prikaz a to se pak bojim nekde neudelat chybu.

No, to si to clovek vymysli, otestuje a narve do skriptu. Ten da na ten TC, ze ktereho to bude spoustet. A prida tam xtrlock, kdyby se priplizila KGB, zatimco jsem na hajzlu.

A protoze jsem liny, tak bych si poridil zalohovaci disky, ty olabeloval treba bflm01 az bflm99. Vecer bych jich par napichal do hubu a pustil zalohovaci skript. Ten by zjistil pripojene disky a ty, ktere maji label bflmXX by namontoval a na vsechny zaroven rval tu zalohu v ramci jednoho pruchodu taru, gpg atd. Snad by se to pres noc stihlo, USB neni moc rychle a kdyz se pasmo rozdeli na vic disku.....

Citace
Kompresi (storage, tedy nulovou) jsem pouzival jednak pro snadne testovani a jednak pro moznost rozdeleni archivu (napr. pro vypaleni na DVD).

man split.

datadoclanku

Re:Jak správně zálohovat data okolo 20 GiB
« Odpověď #59 kdy: 14. 10. 2017, 21:30:35 »
Jak už se tu psalo, nic dalšího než prosté šoupnutí na archivační médium bych na TC kontejner nepoužíval.
- ke každé kopii si uložit její hash, opětovným přečtením z archivního média hash ověřit
- po vytvoření "x" kopií porovnat jejich hashe navzájem (pro jistotu paranoika)
Tím mám jistotu, že mám "x" správných archivních kopií.
Pokud použiji různá média (BD, flashdisk, HDD, páska, něco z toho třeba vícekrát) a umístím je na různá místa, je bezpečnosti učiněno zadost.
A tento postup pravidelně (po změně obsahu TC kontejneru) opakovat.

Všechny další procedury jsou redundantní a zbytečné, jelikož TC kontejner je již ze svého principu dostatečně bezpečný (při správné složitosti klíče). Jen se zvětšuje riziko potencionální chyby při zpracování dalším sw.

Asi nejlepsi reseni. Jakakoliv manipulace (vc. storage komprese 7zip)  zvysuje riziko chyby. Muzu samozrejme soubor zalohovat soucasne zabaleny i rozbaleny. A TC soubor ma dobre heslo-klic, kradez dat nehrozi, kdyz neni kontejner otevren. Nic lepsiho asi ani neni. VeraCrypt nema zatim tradici.

Misto delani 7z archivu dam kontrolni soucty, vice funkci.

Na BD muzu zalohovat prubezne kazdou verzi (i kdyz kde stare BD pa recyklovat ?)a na flashdisky a vzdalene hdd na serverech vzdy prepisu kontejner novou verzi. A udelam kontrolni soucty. Vzdy mit min. 5-7 ruznejch verzi, na 3-4 odlisnych vzdalenych mistech, min. ve dvou zemich a zaroven mit min. 2-3 ruzne verze v case zazalohovane. A delat, porovnavat, kontrolni soucty min. 2-3 programy, funkcemi. To by melo byt naprosto spolehlive. Nejvic se bojim, aby se soubor neposkodil na vychozim miste a nsiril se postupne do vsech zaloh. Takze prubezne vypalovat na BD nebo zalohovat na pasky.

Takhle to odola pozaru, povodni, ! ramsonware !, zemetreseni, sopce, tsunami,  vloupani, sabotazi a zrade spolupracovniku, slunecni erupci a do urcite miry i padu ne prilis velkeho meteoritu.

U archivu muze chyba jednoho bitu odrovnat cely soubor (?) Veril bych tomu, hlavne u velke komprese. Jak je to s TC kontejnerem ? Muze zmena jednoho nebo par bajtu v kontejneru odrovnat cely kontejner (tj. nedostanu se dovnitr) ? Navic nektere datove soubory musi zustat rovnez zcela nepozkozene tak jako tak.