Portál AbcLinuxu, 5. května 2025 18:50
/mnt/server
. V části tohoto připojeného prostoru je datová kopie (záloha) důležitého stromu (fotky dokumenty). Zkopírovat to samozřejmě mohu různými způsoby, od cp
přes synchronizaci adresáře v krusaderu, rsync lokálně mezi ~/data
/mnt/server/data
pak rsync --rsh="ssh -l uzivatel" . 10.0.0.1:/mnt/export1/data
. Ale obávám se, že všechno tohle přes síť fakticky přetlačí všechnno z data
a jediná možnost je na serveru mít rsyncd
a kopírovat to s ním. Dat už je celkem dost tak. Je to mu tak nebo to jde i jinak?
Řešení dotazu:
Mezi rsyncd a rsync pres SSH by neměl být rozdíl.
rsync normálně používá metadata (čas změny a velikost), aby považoval soubory za stejné a nezkoumal jejich obsah. Ve zbývajících případech samozřejmě musí přečíst obsah. Takže pokud nechceš tahat data po síti tam a zpět, tak místo kopírování na rsyncu do přípojeného NFS použij rsync proti serveru.
Na konec v upovídaném režimu klient hlásí, kolik dat přenesl po síti. Tak si můžeš změřit.
Ale obávám se, že všechno tohle přes síť fakticky přetlačí všechnno z data a jediná možnost je na serveru mít rsyncd a kopírovat to s ním.Ne, rsync přes ssh je ekvivaletní rsyncd a přenáší taky jen změny (ze zvyku teda dávám --partial). Ostatně můžeš si to zkusit… rsync lokálně bude kopírovat jen změněné soubory, ale celé, protože by stejně musel ten druhý soubor přečíst.
--no-whole-file
, což se může právě v případě NFS hodit. Je ale dost pravděpodobné, že bude účinnější použít přímo kód rsyncu pro přenos dat po síti (pomocí rsyncd nebo ssh) místo NFS. Narozdíl od NFS přístupu totiž může rsync proces na serveru číst data na serveru rychleji, než lokální proces přes NFS a čas nutný k výpočtu rozdílu se tak přibližně z poloviny přesune na server. Samozřejmě toto jsou jen teoretické úvahy, asi mohou existovat případy, kdy to bude naopak.
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.