Portál AbcLinuxu, 26. dubna 2024 19:17


Dotaz: LVM Snapshot - pro mě neznámá

4.2.2010 21:27 David Pokorný
LVM Snapshot - pro mě neznámá
Přečteno: 3072×
Odpovědět | Admin
Dobrý den, jsem Linuxový začátečník a vzal jsem si možná trošku větší sousto do začátku. Nainstaloval jsem si menší server běžící na Debianu, na kterém budu používat zatím jen Sambu. Při instalaci jsem zvolil LVM a jelikož mám dva identické disky, vytvořil jsem i RAID1. Instalace byla velice intuitivní, ale přesto jsem musel nastudovat, co vůbec LVM je. Nyní jsem se dostal do stádia, že bych si vytvořil LVM snapshot, jelikož se o něm zde diskutovalo. Pokud jsem to pochopil, jedná se o určitou zálohu. Já ale stále nemohu najít/pochopit, jak to přesně funguje. Pro zálohu musím mít další disk? Jak je záloha veliká? Tak jako zálohovaná data, nebo je to nějaká komprese? Zálohuje je celý disk, oddíl, VG nebo jen LV? Prosím zkušenější ať mě trošku zasvětí do problematiky LVM snapshotů. Mockráte děkuji, David Pokorný.
Nástroje: Začni sledovat (1) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

4.2.2010 22:42 David Pokorný
Rozbalit Rozbalit vše Re: LVM Snapshot - pro mě neznámá
Odpovědět | | Sbalit | Link | Blokovat | Admin
Stále LVM studuji a napadají mě další otázky.

1. Pokud chci vytvořit snapshot, musím mít pro něho ve VG vytvořenu prázdnou LV?
2. Pokud ano, musí být stejně velká jako zálohovaná LV nebo pouze taková, kolik obsahuje zdrojová LV dat?
3. Abych mohl zálohu uložit např. na externí médium, musím LV se snapshotem namountovat napr. do LVM a pak ji vykopírovat?
4. Co vubec ta zaloha obsahuje? To je nějaký "nečitelný soubor nebo přímo ta má data?
5. Mohu vytvořit snapshot celého disku? Respektive alespoň celé VG, tzn. oddílu s LVM?

To je mých "pár" otázek, než přijdu zase na něco jiného.
Za každou radu a pomoc mi tuto problematiku osvětlit, předem velice děkuji
5.2.2010 09:09 David Pokorný
Rozbalit Rozbalit vše Re: LVM Snapshot - pro mě neznámá
Odpovědět | | Sbalit | Link | Blokovat | Admin
Nyní jsem se pokusil zmenšit jednu LV, abych mohl vytvořit prázdnou pro snapshot. Nevím, zda je mé počínání ale správné viz. otázky výše.

Měl jsem LV o velikosti 24GB, abych uvolnil 4GB provedl jsem příkaz:

lvreduce -L 20G /dev/mapper/vg-home

Odpověď zněla, že jse vše v pořádku. Vypsal jsem si lvscan a opravdu, LV home je 20GB.
Po zkušebním restartu už ale server nenaběhl a stěžuje si na tuto LV home: either the 

The filesystem size is 6313984 blocks
The physical size of the device is 5242880 blocks
superblock of the partition table is likely to be corrupt!

Mám tedy server odstavený.
Děkuji za rady.
michich avatar 5.2.2010 09:35 michich | skóre: 51 | blog: ohrivane_parky
Rozbalit Rozbalit vše Re: LVM Snapshot - pro mě neznámá
Zmenšením LV jsi filesystému odříznul bloky, které mu patřily. Před zmenšováním LV je nutné nejdříve zmenšit filesystém (resize2fs).
5.2.2010 09:48 David Pokorný
Rozbalit Rozbalit vše Re: LVM Snapshot - pro mě neznámá
Aha, já si myslel, že LVM je právě od toho, abych nemusel hýbat s filesystémem jako takovým "natvrdo". Takže teď musím měnit filesystem a ještě LVM? No dejme tomu, ale co mám tedy teď udělat, jak nastavit tu správnou velikost pomocí resize2fs? Děkuji.
5.2.2010 10:32 Šangala | skóre: 56 | blog: Dutá Vrba - Wally
Rozbalit Rozbalit vše Re: LVM Snapshot - pro mě neznámá
Pokud je to ext3 , tak jestli se nepletu za chodu (za používání) lze jen zvětšovat, takže ke zmenšení je třeba mít „volume“ odpojený.
Nabootovat z nějaké Live distribuce a zmenšit pomocí resize2fs např: resize2fs /dev/cosi/kdesi 35G
no a pak zmenšit LVM „volume“ na stejnou velikost (nebo maličko větší :)).
To, že trpíš stihomamem, ještě neznamená, že po tobě nejdou. ⰞⰏⰉⰓⰀⰜⰉ ⰗⰞⰅⰜⰘ ⰈⰅⰏⰉ ⰒⰑⰎⰉⰁⰕⰅ ⰏⰉ ⰒⰓⰄⰅⰎ ·:⁖⁘⁙†
5.2.2010 11:33 David Pokorný
Rozbalit Rozbalit vše Re: LVM Snapshot - pro mě neznámá
Mockrat Vam dekuji za radu, pri odpojeni je to tedy bezpecnejsi, nez kdybych nemel LVM vubec? Mam ted prave pocit, ze porad hybu s diskovymi oddily, ale zmena oddilu je neco jineho, nez zmena fs (v mem pripade ext3), ze?

No tak jsem zmensil fs a nasledne LV, vypada to, ze uz je to v poradku, ale ted nevim, jak si volne misto ve VG prohlendu.
5.2.2010 11:35 David Pokorný
Rozbalit Rozbalit vše Re: LVM Snapshot - pro mě neznámá
pouzil jsem vgdisplay a volne misto se mi zobrazuje jako "Free PE / Size", takze toto je zrejme vyreseno.
5.2.2010 11:43 Šangala | skóre: 56 | blog: Dutá Vrba - Wally
Rozbalit Rozbalit vše Re: LVM Snapshot - pro mě neznámá
Oddíl a filesystém na něm jsou sice související věci ale ne totéž :)
Pokud zvětšujete, tak to není problém (a má to logiku), zvětšíte prostor (pře lvm) a zvětšíte to co ho obsazuje (filesystem).
A toto na ext3 lze provést za chodu (připojené) a neviděl bych tam bezpečnostní rozdíl jestli je to za chodu či není.
No a co se týká zmenšení, tak jestli se nepletu, ext3 neumožňuje zmenšení za chodu, proto je třeba to odpojit.
Jsou i jiné filesystémy, které to vyžadují za chodu (na odpojeném to nelze)
To, že trpíš stihomamem, ještě neznamená, že po tobě nejdou. ⰞⰏⰉⰓⰀⰜⰉ ⰗⰞⰅⰜⰘ ⰈⰅⰏⰉ ⰒⰑⰎⰉⰁⰕⰅ ⰏⰉ ⰒⰓⰄⰅⰎ ·:⁖⁘⁙†
5.2.2010 17:16 David Pokorný
Rozbalit Rozbalit vše Re: LVM Snapshot - pro mě neznámá
Dekuji. VG je dejme tomu velka 300G a LV1 30G a LV2 170G. Provedl jsem resize2fs /dev/moje_vg/moje_lv2 150G - tim jsem na (zatim stale stejne velke) LV2 zmensil fs(filesystem) ext3 na 150G. A konecne jsem zmensil LV2 na 151G (radsi o trosku vice nez fs, jak mi bylo zde poradeno) pomoci lvreduce -L 151G. Tim jsem dostal ve VG volne misto zhruba 19G pro dalsi LV urcenou napr. pro snapshoty. Pokud je toto spravne, da se zmena fs i LV zahrnout do jednoho prikazu? Koukal jsem na lvreduce --help a je tam parametr -r, ten toto nejak resi?
5.2.2010 18:01 David Pokorný
Rozbalit Rozbalit vše Re: LVM Snapshot - pro mě neznámá
oprava: "VG je dejme tomu velka 200G"
5.2.2010 18:48 Šangala | skóre: 56 | blog: Dutá Vrba - Wally
Rozbalit Rozbalit vše Re: LVM Snapshot - pro mě neznámá
Vídím to tam i když v man-u to nevidím, píšou tam co říkáte, nikdy jsem to nepoužil, neporadím :(.
K „radsi o trosku vice nez fs“ jde jen o zaokrouhlování a o to aby fs byl opravdu stejný nebo menší než volume.
Je možné to udělat takto: zmenšit fs (na o trošku menší), zmenšit volume,zvětšit fs na full (zadáno bez paramteru), pak je to bezpečné a plně využité :)
To, že trpíš stihomamem, ještě neznamená, že po tobě nejdou. ⰞⰏⰉⰓⰀⰜⰉ ⰗⰞⰅⰜⰘ ⰈⰅⰏⰉ ⰒⰑⰎⰉⰁⰕⰅ ⰏⰉ ⰒⰓⰄⰅⰎ ·:⁖⁘⁙†
5.2.2010 19:21 David Pokorný
Rozbalit Rozbalit vše Re: LVM Snapshot - pro mě neznámá
to znamena takto: resize2fs /dev/moje_vg/moje_lv2 a tim se fs "roztahne" az do konce dane lv? To je vyborne, dekuji.
5.2.2010 21:59 Emil
Rozbalit Rozbalit vše Re: LVM Snapshot - pro mě neznámá
ano
5.2.2010 10:34 Šangala | skóre: 56 | blog: Dutá Vrba - Wally
Rozbalit Rozbalit vše Re: LVM Snapshot - pro mě neznámá
Pro začátek bych to zvětšil pomocí Live distribuce zpátky na původní velikost. :)
To, že trpíš stihomamem, ještě neznamená, že po tobě nejdou. ⰞⰏⰉⰓⰀⰜⰉ ⰗⰞⰅⰜⰘ ⰈⰅⰏⰉ ⰒⰑⰎⰉⰁⰕⰅ ⰏⰉ ⰒⰓⰄⰅⰎ ·:⁖⁘⁙†
5.2.2010 11:03 Filip Jirsák | skóre: 68 | blog: Fa & Bi
Rozbalit Rozbalit vše Re: LVM Snapshot - pro mě neznámá
Odpovědět | | Sbalit | Link | Blokovat | Admin
Snapshot není v pravém slova smyslu záloha. Funguje přibližně takhle: normálně máte disk rozdělený na nějaké bloky, ve kterých jsou uložena data a informace o souborovém systému. LVM snapshot udělá to, že všechny aktuálně používané bloky jakoby uzamkne pro zápis, a pokud chcete do nějakého bloku zapsat, udělá jeho kopii a data zapíše tam – a snapshotu zůstane k dispozici onen původní nezměněný blok. Takže dokud nedojde ke změně v bloku, jsou data pořád na tom samém místě disku (a pokud disk odejde, přijdete tedy jak o aktuální data tak o snapshot, protože obojí bylo ve skutečnosti jedno a to samé). Je to tedy „záloha“ nikoli ve smyslu pojištění proti chybě hardwaru, ale záloha ve smyslu uchování starší podoby dat. Pokud tedy např. smažete omylem nějaké soubory, které jste měl uložené v nějakém snapshotu, můžete je obnovit. Velikost zálohy pak závisí na množství měněných dat – pokud se data nemění vůbec, nezabírá nic, pokud v každém bloku změníte po vytvoření snaphsotu jeden bit, bude mít záloha + aktuální stav dohromady dvojnásobek původní velikosti. A zabraná velikost narůstá postupně s měněním aktuálních dat, nezabere se tedy vše najednou hned při vytvoření snapshotu.

Můj popis berte s rezervou jako popis základního principu, nevím jaké algoritmy LVM přesně používá, zda třeba nepoužívá proměnlivou velikost bloku, ukládání pouze změněných částí apod.
5.2.2010 16:12 David Pokorný
Rozbalit Rozbalit vše Re: LVM Snapshot - pro mě neznámá
Dekuji za priblizeni, uz tomu asi zacinam trosku rozumet. Mylim se, kdyz rikam, ze snapshot lze udelat pouze na kazdou LV zvlast, nikoli na cely disk, nebo VG?
5.2.2010 16:40 Filip Jirsák | skóre: 68 | blog: Fa & Bi
Rozbalit Rozbalit vše Re: LVM Snapshot - pro mě neznámá
Na disk určitě ne, to není entita, kterou by se LVM zabýval (na disku můžete mít několik oddílů, a pouze některé z nich mohou patřit pod LVM, zároveň jedna VG i LV může být přes více disků). Na LV určitě snapshot udělat lze, na VG nevím, ale stejně by to byla jenom zkratka pro „udělej snapshot pro všechny LV, které jsou teď zrovna ve VG“.
5.2.2010 17:02 David Pokorný
Rozbalit Rozbalit vše Re: LVM Snapshot - pro mě neznámá
Dobre, shrnu sve puvodni otazky a priradim k nim ziskane znalosti, pokud bude neco nepresne, pozadam vas o pripadnou korekci.
1. Pokud chci vytvořit snapshot, musím mít pro něho ve VG vytvořenu prázdnou LV?

ANO

2. Pokud ano, musí být stejně velká jako zálohovaná LV nebo pouze taková, kolik obsahuje 
zdrojová LV dat?

NE, musi byt tak velka, kolik predpokladam, ze ubyde dat z puvodni LV, ze ktere jsem provedl snapshot

3. Abych mohl zálohu uložit např. na externí médium, musím LV se snapshotem namountovat napr. do LVM a pak ji vykopírovat?

Mohu namountovat kamkoliv, v tom pripade bude jiz zaloha po zkopirovani odpovidat opravdove velikosti "snapshotovanych" dat

4. Co vubec ta zaloha obsahuje? To je nějaký "nečitelný soubor nebo přímo ta má data?

Pri namountovani "se tvari" jako zalohovana data .. tj. vidim soubory i adresare

5. Mohu vytvořit snapshot celého disku? Respektive alespoň celé VG, tzn. oddílu s LVM?

NE, odpoved je vyse od pana Filipa Jiraska
Mockrat dekuji za dosavadni pomoc..

PS: Prosim, do jakych tagu mam zde ukladat bezny text, aby byl formatovany?
5.2.2010 17:11 Filip Jirsák | skóre: 68 | blog: Fa & Bi
Rozbalit Rozbalit vše Re: LVM Snapshot - pro mě neznámá
PS: Prosim, do jakych tagu mam zde ukladat bezny text, aby byl formatovany?
Odstavce (začátek a konec) se označují tagem <p>, pokud máte text (třeba zdrojový kód), kde chcete zachovat konce řádků, použijte <pre>. Pokud HTML neznáte, je asi nejjednodušší použít WYSIWYG editor, myslel jsem, že pro nepřihlášené uživatele je standardně zapnutý…
5.2.2010 21:49 Emil
Rozbalit Rozbalit vše Re: LVM Snapshot - pro mě neznámá
Odpovědět | | Sbalit | Link | Blokovat | Admin
DD, abych to dobre pochopil i ja:-) Pan Pokorny tady zminil, ze fyzicky pribudou (vlastne nezmizi, jsou jen presunuty na LV snapshotu) jen data, ktere na zive LV odstrani, pokud je vytvoreny snapshot.. tzn. data, ktery zmizi, musi fyzicky zustat - takze misto na disku zabiraj nove vytvorena data misto jen jednou, stejne jako ty odstranena.. zejo?? :-)
5.2.2010 22:10 Filip Jirsák | skóre: 68 | blog: Fa & Bi
Rozbalit Rozbalit vše Re: LVM Snapshot - pro mě neznámá
Dokud se nějaká data (resp. blok) nezmění, zůstávají společná pro „živou“ verzi i pro snapshot. Pokud se něco změní (je jedno, zda je to změna v souboru, smazání nebo přidání, nebo jen změna v atributech – LVM to vše vidí jenom jako hromadu bitů), musí se udělat kopie – jedna (s nezměněnými daty) se použije pro snapshot, druhá pro živý systém. Samozřejmě se to zdvojení děje jen v případě, pokud předtím snapshot i živý systém používaly společnou kopii dat.
5.2.2010 22:16 Emil
Rozbalit Rozbalit vše Re: LVM Snapshot - pro mě neznámá
no me jde o to, co mi bude zabirat fyzicky prostor na te lv se snapshotem. Pokud na zive lv neco vytvorim, na snapshotu nic fyzicky nepribude. Nejvic mi na lv snapshotu zabere fyzicky napr. kdyz smazu/zmenim tar soubor o velikosti 5GB.. pribude na lv snapshotu 5GB ?
5.2.2010 22:19 Emil
Rozbalit Rozbalit vše Re: LVM Snapshot - pro mě neznámá
a kdyz uz jsme u toho, jak zjistim, jaky misto je na lv se snapshotem fyzicky pouzito?
5.2.2010 22:31 Filip Jirsák | skóre: 68 | blog: Fa & Bi
Rozbalit Rozbalit vše Re: LVM Snapshot - pro mě neznámá
LVM neví nic o souborech a jejich změnách či mazání. Prostě když se souborový systém, který je nad LVM, rozhodne, že uloží na zařízení, které je pod ním (tedy LVM) nějaké změněné bity, a tyto bity byly dosud společné pro živý systém a pro snapshot, musí LVM udělat jejich kopii. Takže pokud vytvoříte nějaký soubor na živé LV, změní se určitě nějaké metainformace, takže pokud nebyla vytvořena kopie předtím, musí ji LV vytvořit nyní. A pak záleží an tom, kde souborový systém soubor vytvoří – pokud v dosud nevyužité části LV, na snapshotu se nic nemění. Pokud se ale rozhodne data souboru uložit na místo, kde je nějaký smazaný soubor (z pohledu LVM tam tedy jsou nějaká data), musí LV udělat kopii i tohoto místa (LVM neví nic o tom, že ta předchozí data jsou „zbytečná“, protože je to smazaný soubor – jak už jsem psal, LVM neví nic o souborech, operuje na úrovni diskových oddílů).

Když ten pětigigový soubor smažete, změní se „na disku“ nejspíš jen pár bajtů v metainformacích – a to také přibude v snapshotu (pokud byl předtím živý systém shodný se snapshotem), resp. ne jen těch pár bajtů, ale celý blok okolo. Když však později systém do místa po tomto souboru začne zapisovat nový soubor, postupně se budou bloky přidávat i do snapshotu. U změny souboru opět záleží na tom, jak se to promítne do změny bajtů na zařízení, kde je souborový systém uložen. Pokud se opravdu změní jenom pár bajtů, spotřebuje se opět jenom místo pro onen blok. Pokud by ale třeba souborový systém udělal to, že soubor smaže a vytvoří znova, a jednotlivé jeho bloky uloží v jiném pořadí, zaplní se snapshot celým souborem.
6.2.2010 10:22 Emil
Rozbalit Rozbalit vše Re: LVM Snapshot - pro mě neznámá
No super, jsem tam, kde predtim :-) ale samozrejme diky za vysvetleni. Takze mam snapshot lv 300GB, kde je zabrano zhruba 120GB, je tam posta, fotky z dovolene a cestovni profily 2 uzivatelu s winxp. Je to domaci server pro 5 uzivatelu, ktery useri nejvic pouzivaji na internet, fotky pribyvaji pomalu atd.. Kolik teda mam udelat (orientacne) ten snapshot velkej?
6.2.2010 10:58 Filip Jirsák | skóre: 68 | blog: Fa & Bi
Rozbalit Rozbalit vše Re: LVM Snapshot - pro mě neznámá
To se podle mne nedá zjistit jinak, než že jej uděláte nějak velký a budete sledovat, jak se postupně plní. Závisí to na použitém souborovém systému, na způsobu práce se soubory… Já to vůbec nedokážu odhadnout, nikdy jsem to takhle nezkoušel.

Taky je důležité si uvědomit, co snapshot vlastně je – je to jakoby zmrazený stav souborového systému v určitém čase. Takže to není ochrana proti selhání hardwaru, ale proti chybám uživatelů (případně některým chybám software). Z toho důvodu podle mne nemá smysl držet jeden snapshot starý několik měsíců, ale je spíš lepší snapshoty dělat průběžně (denně, týdně) a staré průběžně mazat. Protože když si uživatel vzpomene, že si omylem smazal nějaký soubor, vzpomene si druhý den nebo za pár dní, ne za několik měsíců. A když budete pracovat se snapshoty tímhle způsobem (průběžné vytváření a mazání), nepotřebujete vědět dopředu tak přesně předpokládanou velikost snapshotu – můžete prostě sledovat, jak se snapshoty plní, a podle toho přizpůsobovat velikost těch dalších (třeba zjistíte, že průměrně vaši uživatelé vytvoří 5 GB snapshot za týden, tak budete dělat týdenní 10GB snapshoty, aby tam byla rezerva). Zároveň pak nemusíte plánovat nijak moc dopředu – nepotřebujete naplánovat velikost snapshotu, který vám vydrží rok, ale který vydrží jeden týden.
6.2.2010 11:25 Emil
Rozbalit Rozbalit vše Re: LVM Snapshot - pro mě neznámá
smysl snapshotu uz chapu, ale... dejme tomu, ze budu delat kazdy den v tydnu jeden snapshot, tak aby byly vzdy k dispozici az tyden stara data pro uzivetale, kteri si je omylem smazou atd.. ale tak mi vlastne budou narustat vsechny snapshoty a data se v nich budou jakoby duplikovat, ne?
6.2.2010 11:44 Filip Jirsák | skóre: 68 | blog: Fa & Bi
Rozbalit Rozbalit vše Re: LVM Snapshot - pro mě neznámá
Asi máte pravdu. Našel jsem k tomu jen nějaký odkaz do e-mailové konference, kde se toto řešilo někdy v roce 2006. A pak nějaké odpovědi z roku 2009, kde se pořád psalo o tom, že při více snapshotech se originální blok při změně musí rozkopírovat pro každý snapshot zvlášť, takže počet snapshotů má dopad na výkon. Nenašel jsem nic o tom, že by LVM uměl i tu kopii originálních dat mezi snapshoty sdílet.
6.2.2010 12:31 Zdeněk Burda | skóre: 61 | blog: Zdendův blog | Praha
Rozbalit Rozbalit vše Re: LVM Snapshot - pro mě neznámá
Problém LVM snapshotů v linuxu je v tom, že zmiňovaný dopad na výkon je drastický i v případě jednoho jediného snapshotu. Snapshot v některých případech dokáže zabít io takovým stylem, že to stroj nemusí rozdejchat :-( (vlastní zkušenost). Zatím jsem to nesepisoval do článku, ale na netu se dá najít pár odkazů, jeden z nich: http://www.nikhef.nl/~dennisvd/lvmcrap.html

LVM snapshoty v Linuxu jsem si zařadil do kategorie "marketing" a "k ničemu" :-(
-- Nezdar není hanbou, hanbou je strach z pokusu.
6.2.2010 12:51 Filip Jirsák | skóre: 68 | blog: Fa & Bi
Rozbalit Rozbalit vše Re: LVM Snapshot - pro mě neznámá
I podle webu LVM je doporučené použití snapshotů takové, že si vytvoříte snapshot, uděláte z něj zálohu a snapshot zrušíte – snapshot tedy existuje jen relativně krátkou dobu. A jeho využití má jenom ten účel, aby se zálohovala data v konzistentním stavu (což je zase otázka, zda souborový systém nad LVM pracuje takovým způsobem, že data v LVM jsou v každém okamžiku, kdy je možné udělat snapshot, v konzistentním stavu).
6.2.2010 13:13 Zdeněk Burda | skóre: 61 | blog: Zdendův blog | Praha
Rozbalit Rozbalit vše Re: LVM Snapshot - pro mě neznámá
LVM snapshot je k ničemu, když mi zabrzdí provoz a umřou kvůli tomu aplikace případně celý stroj (watchdog ho otočí nebo ho killne druhý uzel clusteru kvůli nečinnosti).

Klasické zálohování s využitím LVM snapshotů by se mělo dělat asi nějak takto:
  • stopnu aplikace případně je zmrazím a podobně, prostě abych měl data v konzistentním stavu po čas vytváření snapshotu
  • zmrazím souborový systém
  • udělám lvm snapshot
  • rozmrazím souborový systém
  • spustím aplikace - rozmrazím, odemknu, prostě cokoliv co je zas uvede do provozu :-)
  • zazálohuji data (buď nějaký fsdump nebo připojím FS ze snapshotu jen pro čtení a pustím třeba rdiff-backup, baculu, cokoliv co mám rád)
  • zruším lvm snapshot
Minimálně u XFS není nutné provádět zmražení a rozmražení FS ručně, to si zvládne LVM samo při výrobě snapshotu.

Takovéto zálohování mi zajistí minimální výpadek aplikace (případně žádný), ale zároveň mi umožní zazálohovat data v konzistentním stavu.

Problém je, když to udělám na zatíženém systému. Pak se mi zabrzdí provoz například na 10% původních hodnot a to může být pro spoustu systému likvidační. Kdyby běžela záloha například 10 minut, tak se to dá v některých případech přežít. Ale když záloha trvá v řádu hodin, tak to je takovéto zabrždění neakceptovatelné.
-- Nezdar není hanbou, hanbou je strach z pokusu.
7.2.2010 19:53 Emil
Rozbalit Rozbalit vše Re: LVM Snapshot - pro mě neznámá
Jak zmrazím souborový systém?
7.2.2010 20:33 Filip Jirsák | skóre: 68 | blog: Fa & Bi
Rozbalit Rozbalit vše Re: LVM Snapshot - pro mě neznámá
XFS můžete zmrazit voláním xfs_freeze, obecně by mělo fungovat znovu připojit souborový systém v režimu jen pro čtení: mount -o remount,ro /mount/point
7.2.2010 22:34 Emil
Rozbalit Rozbalit vše Re: LVM Snapshot - pro mě neznámá
aha, neumim si predstavit, ze zastavuju vsechny sluzby a to jeste takovy, abych vubec pak mohl neco udelat :-) Jinak "premountovanim" nemuzu narusit nejaky data bezicich sluzeb .. MySQL atd?
8.2.2010 08:11 Filip Jirsák | skóre: 68 | blog: Fa & Bi
Rozbalit Rozbalit vše Re: LVM Snapshot - pro mě neznámá
Pokud se ta aplikace smíří s tím, že najednou nemůže nikam zapisovat, tak to přežije :-) Důvod zastavení služeb je jednoduchý – potřebujete mít data na disku z pohledu aplikace konzistentní. To nezaručí nikdo jiný, než ta aplikace sama – a konzistentní data budou určitě v okamžiku, kdy se ta aplikace vypne. Mohla by aplikace také implementovat třeba reakci na nějaký signál, který by znamenal „teď vše ulož na disk a dál na něj nesahej“, ale to by byla záležitost závislé na konkrétní aplikaci. Bez toho a bez vypnutí aplikace se snadno dostanete do stavu, že aplikace potřebuje něco uložit na disk, a rozdělí to do dvou zápisů – a vy na záloze budete mít prví zápis a druhý už ne.

Snapshoty se používají právě proto, aby doba té odstávky byla co nejkratší. Zastavíte služby, sesynchronizujete stav souborového systému a zmrazíte jej, vytvoříte snapshot, a pak vše vrátíte do původního stavu. Takže služby vám zase běží, a teprve v tom okamžiku začnete zálohovat (ze snapshotu), takže záloha klidně může trvat několik hodin. Bez snapshotu byste ty služby musel zastavovat také, ale musely by zůstat zastavené po celou dobu zálohy.

Samozřejmě se tady bavíme o záloze na úrovni souborů – pokud zálohu uděláte dumpem z databáze, který můžete udělat normálně za běhu, je to něco jiného (tam se o konzistenci postará transakční mechanizmus databáze). Ale to je jiný typ zálohy.
8.2.2010 08:32 Emil
Rozbalit Rozbalit vše Re: LVM Snapshot - pro mě neznámá
Chapu duvod snapshotu v tomhle pripade i konzistenci dat, jen mi nebylo jasny, jak mam ukoncit co nejrychleji vsechny sluzby.. podle me je asi nejnachylnejsi databaze (mam MySQL), takze asi tu jedinou bych radne ukoncil a po snapshotu zase spustil.. jinak si to nedovedu predstavit..
8.2.2010 09:21 Filip Jirsák | skóre: 68 | blog: Fa & Bi
Rozbalit Rozbalit vše Re: LVM Snapshot - pro mě neznámá
Jde hlavně o služby, které zapisují. Pokud web server nikam nic nezapisuje, nemusíte jej ukončovat – ovšem možná zase bude aplikaci na něm vadit, že je nedostupná databáze… Jinak ukončit co nejrychleji služby by neměl být problém, prostě si napíšete skript, který je všechny ukončí…
8.2.2010 11:01 Zdeněk Burda | skóre: 61 | blog: Zdendův blog | Praha
Rozbalit Rozbalit vše Re: LVM Snapshot - pro mě neznámá
Jinak ukončit co nejrychleji služby by neměl být problém, prostě si napíšete skript, který je všechny ukončí…

To "ukončit co nejrychleji" by mohl někdo vysvětlit databázím, které se běžně 5 minut a déle :-)

Konkrétně pro databáze existují nástroje, které umožňují provádět zálohu "živých" dat (zjednoduešeně: zamknou si pro zápis co potřebují, provedou dump a zase odemknou).

Řešili jsme jak efektivně zálohovat data a nemůžeme si dovolit pustit mysqldump na produkčním stroji (příliš dlouhá doba, dlouhotrvající zámky a aplikace to neudejchají), takže jsme nakonec klesli k tomu, že máme repliku, kterou prostě před zálohováním odstavíme, provedeme zálohu a pak jí zase necháme dosynchronizovat.
-- Nezdar není hanbou, hanbou je strach z pokusu.
8.2.2010 10:54 Zdeněk Burda | skóre: 61 | blog: Zdendův blog | Praha
Rozbalit Rozbalit vše Re: LVM Snapshot - pro mě neznámá
Při vytváření LVM snapshotu (předpokládám nějaké skoroaktuální jaádro a nové LVM) není nutné spouštět xfs_freeze, to si vyřeší jádro samo.

Výhodou použití xfs_freeze je, že aplikace když zkusí zapsat tak prostě zamrzne a čeká a čeká a čeká... Přepojení FS do režimu pouze pro čtení je imho něco jiného a aplikace to nerozdejchají.
-- Nezdar není hanbou, hanbou je strach z pokusu.
6.2.2010 10:55 lvm
Rozbalit Rozbalit vše Re: LVM Snapshot - pro mě neznámá
Odpovědět | | Sbalit | Link | Blokovat | Admin
Teraz moja otazka :)

Mozem pouzivat snapshoty ako backupy? Co ak sa mi strati povodna LV? Ako potom obnovim data zo snapshotu?

Dakujem.
6.2.2010 11:03 Filip Jirsák | skóre: 68 | blog: Fa & Bi
Rozbalit Rozbalit vše Re: LVM Snapshot - pro mě neznámá
Lepší by bylo otázku zadat jako novou otázku v poradně.

Jako tenhle typ zálohy snapshoty použít nelze, když ztratíte původní LV, data ze snapshotu obnovit nepůjdou (protože snapshot je sdílí s živým systémem). Už jsem to tady někde vysvětloval, jak to funguje. Snapshot udělá jakoby to, že vám na normálním živém oddíle dokáže zachovat stav v určitém čase. Ale pořád to závisí na tom živém oddíle, takže když o něj přijdete nebo přijdete o disk, kde byl, o data přijdete. Snapshot je užitečný pro „zálohy“, které umožňují obnovu po chybě uživatele (omylem si smaže nebo přepíše soubor, omylem promaže databázi apod.). Ta data ale nejsou fyzicky uložená dvakrát, ale jen jednou, takže když dojde k chybě hardwaru, přijdete o ně.

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.