jak dostat z disku konsistentni LVM snapshot

Martin Kraus lists_mk na wujiman.net
Čtvrtek Květen 24 20:31:41 CEST 2007


On Thu, May 24, 2007 at 02:10:49PM +0200, "Petr \"Qaxi\" Klíma" wrote:
> > no me jde o to delat nejak rozumne a jednoduse zalohy bezicich serveru s minimalnimi
> > vypadky. Doufal jsem, ze bych to mohl udelat pres kompletni image celeho
> > systemu pomoci napr. rsyncu. Kamkoliv se podivam na zalohovani tak nikde neni
> > nic reseno o konzistenci dat. 
> > Chapu to tak, ze kazdy zalohuje proste akorat data ze svych aplikaci a kdyz to
> > rupne, tak preinstalovava a presmahne aplikacni data zpet?
> > 
> 
> tohle nestaci ???
> 
> # /xxxx/application stop
> ### některé aplikace umí "zamrznout" FS je v konzistentním stavu
> ### (tuším Oracle je dobrý příklad), pak ji nemusíte restartovat
> # lvcreate --snapshot --name /dev/vg00/lv_opt_appX_backup_snapshot \
>      --size 2G /dev/vg00/lv_opt_appX
> # /xxxx/application start
> #
> # mount /dev/vg00/lv_opt_appX_backup_snapshot /mnt/opt_appX_backup
> 
> nu a ted zazálohujte /mnt/opt_appX_backup podle chuti
> 
> po záloze udělejte
> 
> # umount /dev/vg00/lv_opt_appX_backup_snapshot
> # lvremove /dev/vg00/lv_opt_appX_backup_snapshot

delani snapshotu neni problem. jak nejak jednotne vytvorit, aby aplikace mely
svoje data v konzistentnim stavu, to je to co potrebuju vyzjistit.
predpokladam, ze takovy problem musi resit vsichni co zalohuji, tak se snazim
okoukat jak to kdo dela. 

zatim jedine, co mne napadlo je udelat runlevel ve kterem me zbyde system s co
nejmensim poctem bezicich daemonu(tak ssh a snad nic vic), udelat snapshot a
zase vratit runlevel. ale i tak na strojich se sambou pripadne na hostingu,
kde muzou lidi sahat pres scp do svych adresaru a ja je v te chvili ustrihnu,
tak jejich data zustanou v podobe, kdy zaloha uz nebude mit valny vyznam. tam
by bylo fajn nejak donutit snapshot, aby vyckal nejakou dobu, az se uzavrou soubory
v urcitych mistech filesystemu, ktere ma nekdo otevrene pro zapis a pak teprve
udelal konzistentni snapshot. A v pripade, ze se v mezidobi nekdo pripoji a
otevre si soubor pro zapis, tak aby udelal neco jak copy-on-write a zaloha se
udelala z konzistentnich starsich souboru. 

Take jsem se kdysi tady ptal na zalohovani mysql rsyncem pres snapshot
kdyz tu databazi zastavim a dozvedel jsem se, ze i tak ta databaze nemusi byt
konzistentni. To uz ale je vec, ktera se musi resit na urovni mysql, kdyz
tam lide budou lit data zrovna v dobe, kdy budu delat snapshot. 
Bylo by fajn, aby to jelo transparentne, ale to bych chtel od mysql asi moc:)

mozna jsem lehce paranoik, ale potreboval bych zalohy, ktery maji smysl,
protoze tech stroju je nejak moc, vsechny nemam pod primou spravou, ale kdyz se
ty vyklopi, tak to budu muset resit. 

A predpokladam, ze tohle je dost obecny stav a ze ho musi spousta lidi nejak
resit. Bylo by dabelske mit filesystem, ktery by do jiste miry byl jako napr
subversion a vzdycky by se na nem nasel takovy stav, aby se dala udelat pouzitelna
zaloha. No sny jsou fajn vec.

mk



Další informace o konferenci Linux