rsync - image mentése

Fórumok

Hali,

Az rsync-el mentenék virtuális gépek image-ét. Az lenne a kérdésem, h az rsync az egészet áthúzza (ha van különbség), vagy csak az image azon részét, ahol módosulás történik? Magyarán az egész file-t 1x-er le-hash-eli vagy kisebb részekre bontja és azokat hasonlítja össze?

Köszi,
Sz.

Hozzászólások

Szvsz az egész imaget áthúzza, akkor is ha csak egy bit módosult benne.

ha belenézel a kódba, akkor látod, hogy az rsync két csatornát nyit egy kommunikáció alatt. Az egyiken bufferméret adatokat hasonlít össze, majd beállítástól függően vagy átmásolja a célra a másik csatornán keresztül, vagy nem ha nincs különbség (parancssori kapcsolótól függg).
Nagyon jó kis kódja van az rsync-nek. Célszerű nézegetni, ha hálózati alkalmazást akar fejleszteni az ember.

Az rsync ha nem egyezik a fájl mérete vagy módosítási dátuma (vagy nincs dátuma),
vagy -c (= --checksum) estén az egészre az MD5-ös checksum ellenőrzést végez és az nem egyezik (-c -t csak indokolt esetben használd!),

akkor meghatározott méretenként MD4-es cheksumokat csinál és ha nem stimmel, ezt a CSAK EZT A RÉSZT húzza át a hálózaton.

A helyi lemezen csinál egy tempfájlt, amibe vagy az itteni eredetiből (MD4 oké) vagy a túlsóból (MD4 nem stimmel) rántja át a meghatározott méretű szeletet.

... ez alatt látható hozzászóláshoz:

A --inplace ha jól látom, csak annyi, hogy nem csinál tempfájlt, hanem közvetlenül az eredeti backupolt fájlban végzi a módosítást (mmap vagy hasonló trükkel).

--inplace hátránya: ha megszakad, sérült backup fájlt kapsz. Míg előző esetben még megvan az előző jó verzió, a "sérült" még csak tempfile. De előnye is van: akár fele annyit dolgoztatja a helyi lemezt, továbbá nem kell mégegy fájlnyi szabad tárhely.

De az alapkérdésre vissza: az rsync alapból mindenképp szeletekre bontja a backupolandó fájlt és MD4 checksum-ok alapján dönt, hogy lesz hálózati áthozatal, vagy a helyben tárolt részletet használja fel.

--inplace kapcsolóval használd, akkor a fájloknak csak azt a részét másolja, ami módosult.

Viszont virtuális image-eknél könnyen tud nagy része módosulni a fájlnak, szóval azért annyira nem lesz hatékony mint várnád, főleg ha dinamikus is a képfájl növelése.

Amúgy kisebb részek hash-eit hasonlítja össze, pl. gzip-nél is van --rsyncable kapcsoló, az is tud "jobban" rsync-elhető archívumot gyártani.