Názory k článku
LVM: Praktické ukázky
preklep
celé vláknoDotaz
celé vláknoPokud použijeme pro každý disk samostatný VG, tak se nám nebudou data rozlézat po obou discích, ale zůstanou jen na jednom. Tím dosáhneme aspoň toho, že po vypadnutí jednoho disku nepřijdeme o data na obou.
Zatím jsem vždy viděl doporučení dát všechny disky (pokud jich není skutečně hodně a není k spec. důvod to tak nedělat) do jedné VG. V takovém případě má být možné právě zmiňované migrování LV na nový disk.
Je skutečně možné on-line migrovat LV mezi dvěma různými VG? Zdá se mi, že ne. Už proto, že když budu mít připojenou LV: /dev/nejaka_vg/nejaka_lv - tak není online změna VG prakticky možná.
V konfiguraci s jednou VG přes více disků je samozřejmě možné při vytváření Logical Volume tuto omezit jen na danou PV, takže se "nerozleze" přes více disků. V případě havárie jednoho z disků budou přístupné oddíly, které jsou celé na tomto disku (PV). Metadata jsou na obou discích, takže výpadkem jednoho nepřijdeme o celou VG!
Re: Dotaz
celé vláknoRe: Dotaz
celé vláknoRe: Dotaz
celé vláknokazdy PV ma VGID v hlavicke, cize vzdy system vie kto kam patri. LV je len logicky kontajner vytvoreny cez jeden alebo viac PV. Migracia LV medzi dvoma VG teda NIEJE mozna. Jedine co sa da spravit je kopirovanie. dd skopiruje aj prislusne identifikatory VG atd. takze vyvori len kopu problemov. Migroval som na SLES 10 system z interneho smartarray disku na SAN disk, to len bola sranda s duplicitnymi IDckami.
Co ma na linuxovom LVM vzdy zarazalo je absencia jednoducheho RAID 1. Volakedy na to sluzila pomerne krepa konfiguracia cez device mapper, v novsich verziach nemam prehlad. Je to jedina vec ktora ma odradza od linuxoveho LVM. Mam skusenosti s LVM pod HP-UX a LSM pod Tru64 a ich moznosti, jednoduchost konfiguracie a prehladnost su na linuxe stale nedosiahnutelne (a to je ich implementacia LVM desne stara oproti linuxovej).
Re: Dotaz
celé vláknoLVM2 umi mirroring (RAID1), je to velmi dulezita vlastnost, protoze LVM2 umi i cluster, zatimco SW_RAID nikoliv, takze je mozne mit 2 pole 2 servery a napr LVM2 + GFS a mit data online replikovane, oba servery musi videt obe pole a muzou do nich zapisovat najednou.
Tru64 je dost unikat, ostatne jako vse, co Digital vymyslel, takze toho skutecne umi vice, nez LVM2, ovsem mi LVM2 staci.
Re: Dotaz
celé vláknoDěkuji
celé vláknodobré
celé vláknoPS: a co takhle použít jednu particii na celý systém? :)
Problemy a vypadky
celé vláknoUz jsem opravoval ext2/3 xfs a vse mozne, dokonce i SW_RAID, ale tam to byl skutecne vypadek (vite, ze kdyz se zhrouti SW RAID5 a pak disky poskladate a date vytvorit znova uplne stejne, tak se vam tento RAID obnovi a zustanou an nem data, samozrejme o tom vi a chce to potrvrdit force a realy force, nebot pri spatnem zadani by spatne spojil bloky, ale jednou jsem tak ziskal nejcerstvejsi data, nebot zaloha byla 24hod stara a ja ziskal aktualni, ovsem bylo to po zasahu blesku, kdy to cele postupne zkolabovalo a po vypnuti a zapnuti se diky rozjely, ovsem SW_RAID se sam nespojil a XFS chtel pak taky opravu)
Ovsem s VLM2 jsem nikdy na problem nenarazil, nechci tim rict, ze by se metadata nemely zalohovat, jenom me zajimaji prakticke zkusenosti.
Re: Problemy a vypadky
celé vláknoobnova dat ?
celé vláknoRe: obnova dat ?
celé vláknoRe: obnova dat ?
celé vláknoLVM ma byt provozovano bud na jednom disku, nebo RAID (jedno ci SW nebo HW), stripping (ala RAID0) se pouziva jenom na docasne data.
Popravde, pokud vypadne jeden z disku a data jsou na obou, tak jsou data nekonzistentni.
Re: obnova dat ?
celé vláknoRe: obnova dat ?
celé vláknoDisk jsem vyndal a připojil přes USB, abych ho mohl jednoduše vypnout/zapnout, pokud přestane komunikovat. Takto jsem z něj na nový disk vykopíroval většinu zdravých dat, až na disku zbylo posledních 100 PE (po 16 MB), ve kterých byla ta chyba... Po několikerém přemlouvání se disku povedlo i tato data přečíst, takže nakonec celá havárie skončila bez ztráty dat.
Jediný problém je, že teď mám LV strašně fragmentované a defragmentace bude asi možná jenom ručně :)
zbytecne
celé vláknoRe: zbytecne
celé vláknoRe: zbytecne
celé vláknoTaktez pouzivam LVM a FC pole
Re: zbytecne
celé vláknoRe: zbytecne
celé vláknoRe: zbytecne
celé vlákno- snapshoty → zálohování, archivace předchozích verzí
- spojení více disků do jednoho logického prostoru → např. doma na filmy…
Pokud máme data rádi, tak to pod tím chce mít HW/SW RAID zrcadlení – ale to platí i bez LVM.
pvmove, RAID1, loop
celé vlákno-------------------------
Presun LV na iny PV (disk) sa da urobit aj bez zistovania konkretnych cisiel PE, na ktorych sa nachadza. Pomocou parametra -n vyberieme len tie PE z sda3, ktore patria LV movetest:
pvmove -n movetest /dev/sda3 /dev/sdb1
Pre zrozumitelnost by bolo tiez vhodnejsie dat
lvcreate -L 1G -n movetest test_lvm
pred
lvdisplay -m /dev/test_lvm/movetest
RAID 1
------
Parameter -m urcuje na kolko DALSICH PE sa ma LE mapovat. Pre RAID 1 (s 2-ma PV) je hodnota 1 (teda jeden 'original' a jedna 'kopia' dat).
Bohuzial na RAID 1 pod LVM potrebujete 3 PV ('original', 'kopia' a 'log'). Log je maly a eviduje stav zosynchronizovania. Moze byt aj v pamati (vtedy stacia 2 PV), ale potom sa LV synchronizuje po kazdom restarte.
Prikaz
lvcreate -L 1G -m 2 -n raid1 test_lvm
by teda potreboval 4 PV (mate len 2). Preto za Vam to nepodarilo.
Inac RAID 1 v LVM je podla mojich testov nepouzitelny - pri vypadku jedneho z 2 'datovych' PV prejde LV do ReadOnly rezimu a po restarte sa uz automaticky nepripoji. Ked vyzadujeme bezpecnost, je lepsi SW (md), alebo HW RAID.
---------
Pre menej skusenych odporucam testovat LVM cez /dev/loopX - mozete si narobit PV-ciek kolko chcete aj ked mate v kompe fyzicky len jeden disk. Tiez sa da jednoduchsie (a snad aj bezpecnejsie) simulovat vypadok PV a vyskusat si obnovu.
Vytvorenie 100MB 'disku':
dd if=/dev/zero of=disk1 bs=1M count=100
losetup -f disk1
pvcreate /dev/loop0
Clanok je zaujimavy a tema super.
Re: pvmove, RAID1, loop
celé vlákno0) rozšířím VG o PV na novém disku
pvcreate /dev/novydisk
vgextend MojeVG /dev/novydisk
1) konvertuju LV na mirrorovaný. TohleLV bude stále online, r/w, a vše funguje dál (může to být klidně fs běžícího systému). Parametr --corelog způsobí, že se log mirroru nechá jen v paměti, tzn. mirror nepřežije restart, kdyžtak se začne kopírovat znova.
lvconvert -m1 --corelog MojeVG/TohleLV /dev/novydisk
2) Občas se podívám, jestli je to už zkopírovaný (Copy% = 100)
lvs -a -o +devices
3) konvertuju LV zpět na normální (lineární), ale nechám si jen tu novou kopii (parametr je ten PV ktery chci odstranit)
lvconvert -m0 MojeVG/TohleLV /dev/starydisk
A je to.
P.S.: ten manuál k lvconvert v debianu neexistuje ;-)
online resizing problem
celé vláknosystem mi vypise tuto hlasku:
# resize2fs /dev/vg1/lvol0
resize2fs 1.40.8 (13-Mar-2008)
Filesystem at /dev/vg1/lvol0 is mounted on /mnt/lv1; on-line resizing required
old desc_blocks = 1, new_desc_blocks = 1
resize2fs: Kernel does not support online resizing
Asi treba do kernelu nieco pridat; :)
lvm vs raid vs ext3
celé vláknoNo kedze som sa hral aj s LVM i raid i „holym“ FS mozem povedat ze pre man bolo riesenie nasledovne:
- Na server som nasadil SW RAID 1 + denna zaloha dat cez rsync
- na desktop som dal 1 particiu s ext4, predsa len lvm je tam uplne k nicomu, za prve to je dalsia vrstva ktora logicky spomali I/O operacie a potom pri zmene disku nie je nic lahsie ako urobit particiu a MBR a potom len skopcit data cez cp alebo rsync, naco sa serinkat s LVM? Tymyo mozem tendruhy disk mat akejkolvek velkosti kam sa zmestia moje data.
Vyznam LVM vidim snad len v pripade spajania viac diskov do jednej logickej vrstvy, a mozno snapshotu na servere.

