union fs snapshoty

Divacky Roman xdivac02 at stud.fit.vutbr.cz
Fri Mar 26 21:37:23 CET 2004


On Fri, Mar 26, 2004 at 07:53:27AM +0100, Radim Kolar wrote:
> Precetl jsem si neologismuv clanek http://www.blackhole.sk/readme.php?id=210
> 
> vubec mi neni jasna sekce tykajici se union fs
> 
> Např. "zálohovaní" s tím, že každý den union mountnete na /home obsah nějakého
> (prázdneho) souboru (vinum based), těchto souborů máte třeba 7 (s tím, že
> nejspodnější vždycky syncete s původním /home). To vám dává snapshoty (které
> jsou ale v FreeBSD implementovány jinak) z každého dne týdne.
> 
> muze mi tohle nekdo blize vysvetlit?
 
tim jsem myslel to, ze je mozne mit napr. 7 vrstev union mountu s tim ze
v kazde vrstve je jakoby "snapshot" z daneho dne tydne

ie. mate takovyhle stack:

/dev/neco -> home	(pred tydnem)
	    1.union	(pred 6ti dny)
	    2.union	(pred 5ti dny)
	    ...
	    7.union	(aktualni)

a kdyz chcete napr. data v podobe v jake byly pred 3dny tak si to odtam
proste prectete
 
byl to priklad toho co se da delat, ne co se dela - pac na tohle jsou
fakt lepsi "realne" snapshoty (ktere jsou ale az v 5.x)
 
> Ja bych potreboval docilit tohoto stavu:
> 
> 1)
> udelam si ffs snapshot live pgsql databaze. Pokud chci spustit databazi z
> tohoto snapshotu, databaze zacne delat rollforward recovery a to se ji nepovede
> protoze fs je read-only. Potreboval bych nejak docilit toho, aby se tech par
> zmen zapsalo alespon nekam do cache a tam pak zustalo po celou dobu kdy mam db
> spustenou nad snapshotem. Tech zmen neni mnoho, jsou ale ve velkych souborech,
> takze je neni zrovna zadouci cele kopirovat jinam. Neni ale mozne tyto zmeny
> behem behu db zapomenout. Tedy stacilo by neco jako cache co se ale nikdy nezapise na disk - v podstate tedy to, jak jsou udelany snapshoty fs v os linux.

pokud to dobre chapu pak toho docilite tim ze vytvorite mfs disk
(pametovy) ktery union mountnete pres ten snapshot
tim se stane rw

> 2) 
> 
> Vzhledem k tomu ze pgsql je non-overwriting database, tak by tohle slo vyresit
> i tim ze bych si napsal script, ktery by problehl transakcni xlogs logy
> postgresu a nalezene transakce by oznacil v clogs jako aborted. Stacilo by tedy
> vymenit jeden soubor ve snapshotu coz je s pomoci union fs mozne. Dale bych ale
> potreboval virtualne smazat stavajici xlogs ze snapshotu a to je problem
> protoze to union fs neumi. Vlastne by stacilo zapsat do tech xlogs prazdne
> stranky, pgsql to pri jejich dalsim cteni zabrzdi. Takze metoda 2 by sla tak za
> pulhodinku nakodovat. Radsi bych ale pouzil metodu c.1 abych si nemusel psat
> ten script. 

nestacilo by ten xlogs prepsat tim souborem ze snapshotu?



More information about the Users-l mailing list