Přenos velkého množství dat po síti

Re:Přenos velkého množství dat po síti
« Odpověď #15 kdy: 24. 01. 2020, 18:34:39 »
Ondrej Nemecek

Tak jak jsem ten prikaz napsal, tak jej pouzivam. Zalohuji prez to prubezne. Pokud je v cilovem miste slozka prenesena castecne, s timto prikazem se prenese, jen to co tam jeste neni (a ve zdroji a cili se overi kontrolni soucty). Takze pri vypadku pripojeni-zdroje-cile to nejde od znova cela slozka. Ale pokud je vypadek v prubehu jednoho velkeho souboru, tak ten soubor musi jet cely znova, jen konkretni soubor ale.

Ale z mych zkusenosti, prikaz tak jak jsem napsal ja, podle kontrolnich souctu - kdyz v cili a zdroji je nejaky velky soubor, co se lisi cil a zdroj jen v nekterych blocich, ktere jsou odlisne (ani nevim, jak jsou ty bloky velke). To uz je u souboru par GB velkych znat. Ale kdyz spadne sit v prubehu prenosu velkeho souboru, musi jet ten soubor cely znova, tak jak jsem ten prikaz napsal ja.

-partial-dir=DIR resp. -partial jsem nikdy nezkousel. To pomuze i na konkretni soubor v pripade vypadku site ?

Taky nevim, jestli je bezpecne aktualizovat v souboru cilovem (velkem) jen nektere bloky. rsync pustim po dokonceni prenosu znova, s -avhc mi to spocte kontrolni soucty, ktere jsou ve zdroji a cili stejne, takze po siti jdou jen ty kontrolni souctu, je li zdoj a cil stejny a vse je OK. Jake je riziko chyby pri prenosu i s -avhc na zdroji a cili, to nevim,s jakou pravdepodobnosti muze nastat bit-flip, tusim jednou za 100-1000 TB ? Neco podobneho se tu tusim resilo pred rokem nebo tak neco. Kdyz je chyba v archivu komprimovanem, muze to odrovnat cely archiv. Takze pak moznst zdroj a cil porovnat jinym programem a kontrolnim souctem.

Žiju v přesvědčení, že se při partial naváže přenos změněných bloků tam, kde skončil. Pokud například v určitém souboru přibylo ve zdrojovém souboru na konci 1GB dat a při synchronizaci se jich přeneslo 900MB ale pak se spojení rozpadlo, tak se při volbě partial u následné synchronizace přenese již jen zbývajících 100MB a synchronizace se dokončí tj. oněch 1GB dat připojí k souboru v cíli. Přiznám se, že jsem to podrobně nestudoval, chtěl jsem spíš upozornit na tu volbu (u malých souborů je celkem zbytečná). Adreář s partial daty se dá nastavit ručně, aby nevadil v cílovém umístění, pokud se  toto umístění dále nějak zpracovává. Kdyžtak mě někdo doplňte nebo opravte...


Re:Přenos velkého množství dat po síti
« Odpověď #16 kdy: 24. 01. 2020, 20:41:27 »
Ondrej Nemecek

Prave ze jsem o teto moznosti driv nevedel, tak nevim. Nekdy mam rsync na notasu v miste s pomalym pripojenim radove Mbit/s, i jen 1 Mbit/s muze byt. Obcas spadne sit a nasve to. To se pak moznost nemuset po padu site zacinat u souboru par GB velkych od znova hodi velmi. I pri velikosti stovem MB.

Pri pripojeni serveru 100 Mbit je 1 GB soubor prenesen velmi rychle, rekneme 2 minuty. Resil bych to az u souboru o velikosti rekneme nad 30-50 GB  (prenasejicich se radove hodinu), pokud vubec. Pripojeni byva docela stabilni u serveru navic. U rychlosti 1 GBit je limitem slapsi CPU na dvojici stroju (u velkych souboru). Rychlost byva 20-50 MB/s, spojeni byva stabilni, resil bych to az u souboru velkych nad 100 GB (prenasejicich se radove hodinu), pokud vubec.

Taky k tazatelovu dotazu obecne rsync nejde prez nohup a pokud z duvodu blbe site onnekud ssh spojeni spadne, musis poustet od znova. Doporucuji rsync spoustet prez screen.

Re:Přenos velkého množství dat po síti
« Odpověď #17 kdy: 24. 01. 2020, 22:19:01 »
Již to tu bylo naznačeno: Co to provést maximálně jednoduše a šetrně k síti:

Pořídit nějakou storage, na kterou se to vejde (například HDD s několika TB a USB 3.2 stojí pár tisíc (SSD by bylo dražší, samozřejmě)). Tuto storage potom připojit ke zdrojovému serveru a lokálně nasynchronizovat data, například tímto jednoduchým programem: https://www.ostechnix.com/how-to-synchronize-files-and-directories-using-zaloha-sh/

Potom tu storage fyzicky přenést, připojit k cílovému serveru a opět lokálně nasynchronizovat.

Výhodou je, že budeš mít další kopii dat, kterou můžeš uložit na nějakou třetí lokaci. Navíc pokud tu samou storage použiješ při příštím přenosu, bude to rychlejší, protože se budou synchronizovat pouze nové/změněné soubory.

Integritu dat možno řešit ex-post. Na obou serverech pustit pomocí find-u výpočet SHA256 všech souborů a výsledek uložit do csv souboru, kde budou cesty k souborům a jejich SHA256. Tyto dva "malé soubory" potom stáhnout na jeden stroj a tam porovnat diff-em ...

Re:Přenos velkého množství dat po síti
« Odpověď #18 kdy: 30. 01. 2020, 17:54:04 »
Dotaz k rsync parametru

Kdyz pouzivam prenos dat prez rsync, ktery sice neni tak objemny, jen desiky GB, ale po pomale nestabilni siti, mam pouzivat volbu -ahv nebo -ahvc ?

-ahvc znamena ze se prepocitaji ve zdroji a cili kontrolni soucty a nejsou soubory aktualizovany v cili podle datumu modifikace, nybrz podle kontrolnich souctu. To ale pri kazdem spusteni rsync zatezuje disk ve zdroji-cili a chvilku trva, nez se soucty spocitaji (cca 20 minut pro neco prez 100 GB).

Jestli -ahvc zvysi spolehlivost prenosu samotneho (eliminace chyb pri prenosu) oproti -ahv, to si nejsem jisty a na to se ptam. Pravdepodobne volba -ahv  vs. -ahvc je pouze rozdil zpusobu rozpoznavani, u kterych souboru je potreba aktualizace. Muzu dat -ahvc jen jednou za cas, jinak -ahv a omezit zatizeni disku i potrebny cas.

Logik

  • *****
  • 1 022
    • Zobrazit profil
    • E-mail
Re:Přenos velkého množství dat po síti
« Odpověď #19 kdy: 31. 01. 2020, 17:35:00 »
omluva, patřilo to jinam...