Portál AbcLinuxu, 19. dubna 2024 21:14


Dotaz: Nekonzistentní LVM snapshoty

14.4.2013 16:15 libokajn
Nekonzistentní LVM snapshoty
Přečteno: 825×
Odpovědět | Admin
Ahoj. Mám jednoduchý zálohovací skript, který jednou za čas na KVM hostu (Centos 6) vytvoří snapshoty běžících guestů a přesype je na zálohovací server. Naštěstí v tom skriptu počítám md5 hashe a všiml jsem si, že stále u jednoho lvm volumu má snapshot nekonzistentní data (udělám snapshot, udělám obraz a pak md5 snapshotu a obrazu). Zkoušel jsem ten jeden volume zálohovat ručně na lokální úložiště a problém je stejný. V dmesg žádné chybové hlášky nejsou, jakoby se zdá, že to funguje, ale nefunguje. Můžete mi s tím někdo poradit? Problémový je ten windows_server LVM volume.
[root@kvm ~]# lvs
  LV                      VG   Attr      LSize   Pool Origin         Data%  Move Log Cpy%Sync Convert
  TESTOVACI               data -wi-ao--- 160.00g                                                     
  a1                      data -wi-ao---  40.00g                                                     
  a2                      data -wi-ao---  10.00g                                                     
  swap                    data -wi-ao---   4.88g                                                     
  system                  data -wi-ao---  19.53g                                                     
  windows_server          data owi-aos-- 120.00g                                                     
  windows_server_snapshot data swi-a-s--  25.00g      windows_server   1.40
Nástroje: Začni sledovat (2) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

14.4.2013 18:47 wtfonym
Rozbalit Rozbalit vše Re: Nekonzistentní LVM snapshoty
Odpovědět | | Sbalit | Link | Blokovat | Admin
Můžeš doplnit sekvenci příkazů, která demonstruje problém? Objasnilo by to způsob vytváření obrazu (brr), a co konkrétně s čím se porovnává. Ty md5sumy se při následujících pokusech měnily nebo zůstávají stejné?
14.4.2013 19:49 libokajn
Rozbalit Rozbalit vše Re: Nekonzistentní LVM snapshoty
# vytvořím snapshot
> lvcreate -s -L 25G -n windows_server_snapshot /dev/data/windows_server

# vytvořím image stejným způsobem, jakým zálohuji na server se souborovým systémem ZFS, tj. přenesu jen rozdíly mezi soubory (nebo celý pokud neexistuje cílový)
> rsync -L --inplace --no-whole-file --block-size=32768 --copy-devices /dev/data/windows_server_snapshot /testovaci/windows_server.img

# md5 lvm snapshotu
> md5sum /dev/data/windows_server_snapshot | awk '{print $1}' > /testovaci/lvm.md5

# md5 lvm image
> md5sum /testovaci/windows_server.img | awk '{print $1}' > /testovaci/file.md5

> cat /testovaci/lvm.md5 /testovaci/file.md5
65428116d1797a70949530221850cc5e
7a17be5c0e71b193b8178343d06f2208
Na ostatní LVM volumy to funguje, jen s tímto je problém.
14.4.2013 21:14 wtfonym
Rozbalit Rozbalit vše Re: Nekonzistentní LVM snapshoty
md5sum /testovaci/windows_server.img <- predpokladam, ze tenhle volume furt zije a nejaky system do nej prubezne vesele zapisuje. Ocekavane chovani. Nemelo to byt md5sum /dev/data/windows_server_snapshot ?
14.4.2013 21:18 wtfonym
Rozbalit Rozbalit vše Re: Nekonzistentní LVM snapshoty
Moment, co to blabolim, pardon, nemumim cist. Ignorujte prosim predchozi prispevek.

Pak jedine co mne napada, je ze by cat /dev/data/windows_server_snapshot > soubor vytvorilo soubor, jehoz velikost neni nasobkem 32 kilo a tim padem md5sum srovnava nesrovnatelne.
14.4.2013 22:40 libokajn
Rozbalit Rozbalit vše Re: Nekonzistentní LVM snapshoty
Uff, vypadá to na problém v samotném LVM. Pokud 2x zavolám "md5sum /dev/data/windows_server_snapshot", nevrátí to stejný součet.
14.4.2013 23:23 Jooky (inactive) | skóre: 39 | blog: Jooky | Bratislava
Rozbalit Rozbalit vše Re: Nekonzistentní LVM snapshoty
hmm, zaujimave. Neni ten snapshot automaticky namontovany nejakym daemonom ? (hal, dbus, automounter, etc.) Je nieco zaujimave v syslogu, alebo v kernel logu ? ... bug v lvm by som bral ako poslednu moznost, aj ked stale je to moznost.

btw. rsync. Prenasat len rozdiely sa moc neoplati ak zdroj aj ciel je na jednej masine. Rsync si vycita cast z oboch suborov, spravi checksum a podla toho sa rozhodne ci je potrebne prepisat ciel, alebo nie. Ak bezi rsync po pomalej linke a zmien nie je vela, tak to dost urychli synchronizovanie, no vramci jedneho stroja to ma vacsinou opacny ucinok.
15.4.2013 00:13 libokajn
Rozbalit Rozbalit vše Re: Nekonzistentní LVM snapshoty
V syslogu je jen hláška po vytvoření snapshotu: "Monitoring snapshot data-windows_server". V jadernym logu nic.
btw. rsync. Prenasat len rozdiely sa moc neoplati ak zdroj aj ciel je na jednej masine. Rsync si vycita cast z oboch suborov, spravi checksum a podla toho sa rozhodne ci je potrebne prepisat ciel, alebo nie. Ak bezi rsync po pomalej linke a zmien nie je vela, tak to dost urychli synchronizovanie, no vramci jedneho stroja to ma vacsinou opacny ucinok.
Ten rsync mi normálně běží na vzdálený stroj, tady jsem to jen testoval.
Jendа avatar 15.4.2013 02:06 Jendа | skóre: 78 | blog: Jenda | JO70FB
Rozbalit Rozbalit vše Re: Nekonzistentní LVM snapshoty
Dokážeš nějak lokalizovat místa změn? (binární diff, md5 jen na určité úseky zařízení (dd skip count | md5sum))
15.4.2013 14:16 libokajn
Rozbalit Rozbalit vše Re: Nekonzistentní LVM snapshoty
Jo, zjistil jsem přímo adresy se špatnými daty na tom logickém volume. Ty LVMka jsou nad raidem 1. Teď zkouším badblockem s non destructive rw módem otestovat disk, který jsem odstranil z raidu a pak zkusím ten druhý. Protože pokud není problém v softwaru, pak asi tiše selhává jeden z disků.
16.4.2013 21:05 libokajn
Rozbalit Rozbalit vše Re: Nekonzistentní LVM snapshoty
Teď když to běží z jednoho disku, tak to funguje dobře. Nicméně ten odpojený disk se zdá být v pořádku. Je možné, že by to bylo způsobené linuxovým raidem? Jak vlastně funguje současný linux raid 1? Koukal jsem, že se "nedávno" přidávalo do kernelu read balancing a zároveň jsem se jinde dočetl, že čas od času je raid nekonzistentní a že je to normální, protože se to opravuje při automatických pravidelných testech. Jenže jak to pozná, na kterém disku jsou správná data při opravě a jak to pozná při normálním čtení korektní data?
17.4.2013 01:32 anonym
Rozbalit Rozbalit vše Re: Nekonzistentní LVM snapshoty
zároveň jsem se jinde dočetl, že čas od času je raid nekonzistentní a že je to normální, protože se to opravuje při automatických pravidelných testech. Jenže jak to pozná, na kterém disku jsou správná data při opravě a jak to pozná při normálním čtení korektní data?
normalni to urcite neni, ale bohuzel se to stava (taky to je duvod proc sem z mdraid presel na ZFS, nikdy zpet) pri "oprave" se (mozna to zmenily, ale pochybuju) predpoklada ze korektni jsou data, spatne je parita (i kdyz jsou v RAID6 spatne data - pri obnove z jedny parity by ta druha sedela). co tohle znamena pro mirror si nejsem jistej, pravdepodobne ze prvni disk je "master" a predpoklada se ze ten je korektni
18.4.2013 23:11 libokajn
Rozbalit Rozbalit vše Re: Nekonzistentní LVM snapshoty
Tak na degradovaném raidu to funguje bezchybně, ale na sestaveném raidu je ten problém pořád. Nevíte co s tím? Přijde mi to jako docela závažný problém mít na raidu stále nekonzistentní data.
19.4.2013 08:54 Šangala | skóre: 56 | blog: Dutá Vrba - Wally
Rozbalit Rozbalit vše Re: Nekonzistentní LVM snapshoty
No to opravdu vypadá na nekonzistentní RAID1, data se totiž čtou z obou disků a nelze říct co kdy, tzn. dvě čtení na nekonzistentním RAID1 mohou dát jiné výsledky.
Kdy tam proběhl resync naposledy?
něco jako:
echo 'check'  > /sys/block/mdXX/md/sync_action
a pak
cat /sys/block/mdXX/md/mismatch_count
nebo i s opravou pole (asi první disk je master):
echo 'repair' > /sys/block/mdXX/md/sync_action
sledovat lze třeba pomocí:
cat /proc/mdstat
Pokud to chcete uspíšit a nebudete pole používat (ale můžete jej používat, ale možná pak bych dal první hodnotu jen 50000 či méně):
echo 200000 /sys/block/mdXX/md/sync_speed_min
echo 500000 /sys/block/mdXX/md/sync_speed_max
mdXX - dosaďte vlastní
To, že trpíš stihomamem, ještě neznamená, že po tobě nejdou. ⰞⰏⰉⰓⰀⰜⰉ ⰗⰞⰅⰜⰘ ⰈⰅⰏⰉ ⰒⰑⰎⰉⰁⰕⰅ ⰏⰉ ⰒⰓⰄⰅⰎ ·:⁖⁘⁙†
19.4.2013 21:53 libokajn
Rozbalit Rozbalit vše Re: Nekonzistentní LVM snapshoty
Když jsem to zkoušel, tak jsem odpojil jeden disk z raidu a pak ho zase připojil, takže resync proběhl při tom. Nicméně těsně po tom to stejně není konzistentní. Pomocí echo 'check' > /sys/block/md1/md/sync_action jsem si ověřil, že se tam nachází něco přes tisíc nekonzistencí.
20.4.2013 23:51 Šangala | skóre: 56 | blog: Dutá Vrba - Wally
Rozbalit Rozbalit vše Re: Nekonzistentní LVM snapshoty
Jak dlouho probíhal resync, není problém s bitmap-ou, že byla vytvořena „nějak blbě v blbý čas nebo co“…, zkusil bych ji dát pryč mdadm --grow --bitmap=none /dev/md0 a zkusil znovu. Jinak to bude asi spíš už chyba disku…
To, že trpíš stihomamem, ještě neznamená, že po tobě nejdou. ⰞⰏⰉⰓⰀⰜⰉ ⰗⰞⰅⰜⰘ ⰈⰅⰏⰉ ⰒⰑⰎⰉⰁⰕⰅ ⰏⰉ ⰒⰓⰄⰅⰎ ·:⁖⁘⁙†
29.4.2013 15:27 libokajn
Rozbalit Rozbalit vše Re: Nekonzistentní LVM snapshoty
Pod odstranění bitmapy jsem resyncnul disky a bitmapu znovu vytvořil a pak znovu resyncnul (pro jistotu). Poté se pár hodin zdálo, že je to dobré, ale pak se to zase rozes.alo... Viz.
194cf9a726f086aa55b0260bf96c5e46  /dev/data/windows_server_snapshot
eb6ca7d5400489cabab0b4203a1be4c4  /dev/data/windows_server_snapshot
7f2a9ef2cab1bb30091683675c279c63  /dev/data/windows_server_snapshot
eb6ca7d5400489cabab0b4203a1be4c4  /dev/data/windows_server_snapshot
194cf9a726f086aa55b0260bf96c5e46  /dev/data/windows_server_snapshot
Je vidět, že tolik nesynchronizovaných bloků dat tam zase nebude, protože se to občas při čtení trefí do toho samého. Nemůže to být ten samý problém (s windows paging file), který se objevuje s linux swapem na raidu 1, tj. http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=405919 (i když tady moc nerozumím o co konkrétně se jedná)?
4.5.2013 14:23 libokajn
Rozbalit Rozbalit vše Re: Nekonzistentní LVM snapshoty
Tak je to skutečně v tom místě, kde je windows stránkovací soubor.
mount -t ntfs-3g /dev/mapper/data-windows_server2 /W
while : ; do md5sum /W/pagefile.sys; done
6b87c2367d9936168ba79d16ccc297f7  /W/pagefile.sys
ba12e00950a0459389b1e97a44602047  /W/pagefile.sys
6b87c2367d9936168ba79d16ccc297f7  /W/pagefile.sys
ba12e00950a0459389b1e97a44602047  /W/pagefile.sys
6b87c2367d9936168ba79d16ccc297f7  /W/pagefile.sys
6b87c2367d9936168ba79d16ccc297f7  /W/pagefile.sys
Teď je otázka - vadí to něčemu? Pokud je toto ten samý či podobný problém jako s linux swapem na raid 1, pak tento problém nemám jen já, ale všichni, kteří provozují takovou konfiguraci (raid 1, lvm, virtualizace s kvm) - mohl by mi to prosím někdo potvrdit?
4.5.2013 14:27 libokajn
Rozbalit Rozbalit vše Re: Nekonzistentní LVM snapshoty
Mimochodem při hledání jsem narazil na toto: http://www-947.ibm.com/support/entry/portal/docdisplay?lndocid=MIGR-5092480 Takže to asi není jen problém s linux raidem.

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.