jak dostat z disku konsistentni LVM snapshot

petr na album.ics.muni.cz petr na album.ics.muni.cz
Čtvrtek Květen 24 20:51:08 CEST 2007


In gmane.linux.region.czech, you wrote:
> 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. 
>
Jenze k tomu potrebuje podporu ze strany aplikace.  Od vsech aplikaci
a naraz.

LVM pouze pred snapshotem pozda VFS vrstvu, aby si sesynchnizovala
metadata (a ta to preda jednotlivym FS). VFS se zamkne pro zapis, FS
vylejou write cache, LVM vytvori snapshot a nakonec se VFS odemkne. Pak
uz muze vytvareni zalohy (tj. kopirovani snapshotu treba na pasku) bezet
asynchronne vedle aplikaci, ktere uz zapisuji do puvodniho blokoveho
zarizeni.

Cela operace zamykani a vyroby snapshotu je rychla, takze pokud se vam
podari zastavit cinost vsech aplikaci (tak aby vytvorili konzistentni
soubory), tak vypadek bude prakticky nepostrehnutelny.

Treba dabaze si zurnaluji i soubor s dabazi, takze ty lze snapshotovat
pomoci LVM bez problemu. Jine aplikace to moc neresi, tak asi bude nutne
je ukoncit a pak znovu spustit.

-- Petr





Další informace o konferenci Linux