On 16.3.2019 23:16, Miroslav Lachman wrote:
potreboval zmenit zpusob zalohovani jednoho stroje...
Duvod: je tam asi 4TB dat v souborech o velikostech od desitek kB do jednotek MB v pomerne kosate strukture adresaru.

V soucasnosti se zalohuje rsyncem (uz asi 10 let)

Jo, rsync je celkem dobrej - zvlada ACL, rozsirene atributy, sparse soubory, hardlinky ...

problem, jak je souboru vic a vic, tak strasne dlouho trva, nez se zjisti, kde vsude se zmenily soubory, nebo nekdo nahral nejaky novy, pripadne stary soubor nekdo smazal. Predpokladam, ze rsync prave projizdi celou adresarovou strukturu a hleda zmeny mtime / ctime na zdrojove a cilove strane. Denne se takhle synchronizuje sotva 1GB dat, ale trva to asi 6-8 hodin, podle vytizeni disku... a to je ten problem, ze to ovlivnuje produkcni provoz.

Pokud to ovlivnuje produkcni provoz, tak to nejspis je diskovou aktivitou. Je mi ale trochu divne, ze to z vetsi casti nepokryji diskove cache. Mozna by stalo zato zjistit jak presne to rsync dela, a jestli to nahodou nelze nejak zefektivnit (i za cenu zvysenych naroku na pamet).

Existuje nejake reseni, ktere by dokazalo bezet na pozadi, z kernelu dostavat informaci o tom, ktere soubory se zmenily a pak je jednou za den je synchronizovat na zalohovaci stroj?

Existuje kqueue, ale pokud vim, tak kazdy monitorovany soubor (tady by asi stacil kazdy adresar) musis mit otevreny. Coz pri velkem poctu sledovanych veci muze zadat enormni pocet otevrenych deskriptoru.

Takze jak se da tohle rozumne resit?

Blbe. Dokonce i teoreticky (jako, ze nejen, ze neznam hotovy reseni, ale ani jak ho udelat).

Nebyl by problem "lacino" monitorovat zmenu kazdeho inode na fs - tohle je jednoduchy. Ale drahy je zjistit k jakym jmenum ten inode patri - kdyz chces monitorovat jen nejaky podstrom FS. V podstate bys musel exhaustivne prohledat adresare (I/O narocna operace), nebo mit tyhle data nacacheovany a monitorovat i zmeny adresaru (MEMORY narocna operace).

Dan
--
FreeBSD mailing list (users-l@freebsd.cz)
http://www.freebsd.cz/listserv/listinfo/users-l

Odpovedet emailem