Van két gépem, amin az opensource xen (xen.org) megy. A virtuális gépek diszkje 1-1 logical volume tetején levő DRBD volume. Tehát a DRBD alatti diszk az LV. A metadata internal.
Szeretnék rizikós konfigurációs változtatás előtt snapshotot csinálni és azt visszaállítani ha kell.
A gond az, hogyha snapshotot csinálok az LV-ről és azt a merge-el vissza akarom állítani az eredeti állapotára akkor nyöszörög, hogy használt az LV - és valóban a usage count kettő.
Ha erőszakoskodok és (lvchange -ay) aktiválom akkor elkezdi a merge műveletet (szerintem ez hiba, mert előtte is aktív volt), de megsérül minden és a VM nem is bootol.
Ha kiszedem a DRBD alól (dikless lesz a kapcsolat), hogy ne legyen használva akkor a visszaállítás után a secondary oldalról visszaszinkronizálódik minden.
Az is gáz lehet, hogy a metadataokat is megpiszkálhatja a viszaállítás és akkor a DRBD szét fog esni - eddig még nem jutottam el, de lehetséges.
Van valakinek épkézláb ötlete?
Hozzászólások
Szia!
Mi az a kritikus változtatás? XEN oldal? VM? vagy VM-en belül lvm módosítás?
Egyik nodeon legyen a drbd forceolva slave üzemmódban, és állítsd le a deamont. Csináld meg a snapshotot és a másik nodeon indítsd el a drbd-t.
A snapshot is a drbd-s lemezen van? Van elég hely?
lehet, h én értem félre, de
van 2 géped, a két gépen LV, ezen egy DRBD és ezen fut a VM.
Ha a DRBD-ről csinálsz egy snapshot-ot backup néven, akkor az megvan.
Amennyiben erről vissza akarsz állni, akkor felteszem mindent leállítasz, a DRBD-t is, és úgy futtatod a merge-t, ugye?
Ha nem így teszel, akkor joggal panaszkodik, hiszen DRBD aktívan használja a LV-t.
Illetve a VM-ek ugye nem futnak?
amennyiben a VM a DRBD köteten van (gondolom igen), és az le van állítva, akkor nem tud futni :-)
ellenkező esetben pedig jogosan borul a bili
Akkor is borult ha le volt állítva.
Valószínű azért, mert a metadata internal és a snapshot visszaállítás azt is visszaállította és így kiesett a szinkronból a két oldal metainformációja.
Ha most csinálnám a metadata nem a diszkre kerülne, hanem egy kis ssd-re, így a metainfo írása nem is lassítaná a drbd-t. Az persze kérdés, hogy az ssd hogyan mírmá a gyakorlatilag állandó írogatást.
Teljesen jól érted.
A VM le van állítva, de a DRBD process fogja az LV-t, mert szinkronizál. Az egész bulit a primary oldalon csináltam. Ha nem akarom, hogy használt legyen akkor kiveszem a DRBD alól - ekkor a usage conunter nulla lesz, de a merge után az eddigi masodlagosról visszaszinkronizálódott valami és borult a bili.
Nem ízleltem sokáig a posztod, de hirtelen az jutott eszembe, hogy az LV amit snapshot-olsz ofkoz a DRBD _fölött_ legyen. Ettől persze alatta is lehet egy, de ne azt snapshot-old.
miért?
úgyértem miért jobb az, ha a virtuális gép(ek) LVM over DRBD,mintha
virtuális gép(ek) DRBD-n ?
Mert úgy tudsz snapshot-olni, hogy a DRBD-t nem baszod szét..?
Ha a DRBD alatt snapshot-olsz, akkor minden merge előtt le kell bontani a DRBD-t és invalidálni kell a secondary teljes tartalmát.
Nekem is ez volt az ötletem. Ha van a DRBD alatt és fölött is LVM és a felsőről csinálom a snapshotot akkor a visszaállítást az alatta levő DRBD szépen szinkronizálná. Ha a mostani eszemmel csinálnám így csinálnám, de az a gép amit piszkálni kellene nem így van installálva az csak LVM tetjén DRBD és az van odaadva virtuális diszknek. Ráadásul nincs rajta fájlrendszer, hanem a nyers diszk amit a DRBD ad.
Szerintem (is) rossz az alapállás. A drbd egy spéci raid mirror: a két diszk két külön gépen van.
Na de logikailag milyen sorrendet érdemes követni? Előbb LVM, majd a logikai köte(ke)t tükrözni - vagy előbb a tükör és utána az LVM? Szerintem ez utóbbi a logikusabb - illetve az LVM-nek is van hálózati változata (tán clvm, de nem ugrik be a betűszava).
alakitsd at a felepitest valami ilyenre:
ezutan eleg csak az LV1-et snapshotolnod, konnyen vissza tudsz allni az eredeti allapotra (akar a masik gepen is, mivel a "snapshot regi allapota" is atkerul a masik gepre a drbd miatt)
--
A vegtelen ciklus is vegeter egyszer, csak kelloen eros hardver kell hozza!
Nagyjából erre gondoltam én is csak sajnos most át kell alakítani a már meglevőt.
Annyiban finomítanám a rendszert, hogy az egyes DRBD kapcsolatokat érdemesebb külön LV-re tenni, mert így egymástól függetlenül migrálhatók a vm-ek két gép között.
(Köszönöm a szuper ascii rajzot - itt a módosított)
Eddig ez volt:
Most azt gondolom, hogy ez a felépítés a legrugalmasabb, viszont csúnyán bonyolult:
Így az egyes vm-ek által kapott disk mennyiségét a LV10 és LV20 állításával lehet szabályozni a vm-ek snapshotját és visszaállítását pedig a LV1 és LV2 szintjén lehet csinálni.
Szerintem célszerű a DRBD metadadatokat externalként egy SSD-re tenni a sebesség miatt M1, M2 ...
Valakinek ötlete ennél egyszerűbb, de hasonlóan rugalmas felépítésre?