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?
- 2140 megtekintés
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?
- A hozzászóláshoz be kell jelentkezni
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.
- A hozzászóláshoz be kell jelentkezni
Illetve a VM-ek ugye nem futnak?
- A hozzászóláshoz be kell jelentkezni
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
- A hozzászóláshoz be kell jelentkezni
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.
- A hozzászóláshoz be kell jelentkezni
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.
- A hozzászóláshoz be kell jelentkezni
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.
- A hozzászóláshoz be kell jelentkezni
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 ?
- A hozzászóláshoz be kell jelentkezni
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.
- A hozzászóláshoz be kell jelentkezni
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.
- A hozzászóláshoz be kell jelentkezni
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).
- A hozzászóláshoz be kell jelentkezni
alakitsd at a felepitest valami ilyenre:
|---------------------|
| vm1 | vm2 | ... |
| (LV1) | (LV2) | |
|---------------------|
| VG |
|---------------------|
| PV |
|-------------|---------------------|
| swap | root | DRBD |
|------|------|---------------------|
| sda1 | sda2 | sda3 |
|-----------------------------------|
| disk |
|-----------------------------------|
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!
- A hozzászóláshoz be kell jelentkezni
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:
|---------------------|
| vm1 | vm2 | ... |
|---------------------|
| DRBD1 | DRBD2 | ... |
|---------------------|
| LV1 | LV2 | ... |
|---------------------|
| VG |
|---------------------|
| PV |
|---------------------|
| sda3 |
|---------------------|
| RAID6 |
|---------------------|
Most azt gondolom, hogy ez a felépítés a legrugalmasabb, viszont csúnyán bonyolult:
|---------------------|
| vm1 | vm2 | ... |
|---------------------|
| LV1 | LV1 | ... |
|---------------------|
| VG1 | VG2 | ... |
|---------------------|
| PV1 | PV1 | ... |
|---------------------|
| DRBD1 | DRBD2 | ... |
|---------------------|
| LV10 | LV20 | ... |
|---------------------|
| VG |
|---------------------|
| PV |
|---------------------|---------------|
| sda3 | M1 | M2 | ... |
|---------------------|---------------|
| RAID6 | SSD |
|---------------------|---------------|
Í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?
- A hozzászóláshoz be kell jelentkezni