drbd vs. clvm vs. akármi más

Fórumok

Sziasztok,

Egy olyan feladatot kellene megvalósítanom, amiben 2 storage között kellene tükrözni az adatokat.
Ami szóba jött részemről megoldásképpen, az DRBD és a CLVM. Eddig sok helyen használtam már a drbd-t sikerrel, de kíváncsi vagyok, hogy kinek milyen tapasztalata van esetleg a CLVM-mel, vagy más ilyen megoldással.
A megoldandó probléma röviden:
Van egy iSCSI storage, amit egy Linuxos ISCSI enterprise targetre kellene tükröznöm a biztonság érdekében. Jelenleg a dolog kettes lába még nem áll készen, viszont az egyest meg kellene csináljam. Drbd-vel ez nem gond, megcsinálom most, primary-re állítom, majd később hozzácsatlakozok a sencondary-val és leszinkronizál. Ez így jó megoldásnak tűnik.
A kérdés tehát az lenne, hogy esetleg valami más alternatíva létezik-e erre a problémára, vagy ne is nagyon keresgéljek, mert a drbd mondjuk lvm felett tökéletes erre?

Köszi,
Zoli

Hozzászólások

Hirtelen nem latom at mit akarsz CLVM-mel, mar ha CLVM alatt a clustered LVM-et erted. Persze ez konnyen lehet az en hibam.

DRBD elvben jo lehet erre, de en elgondolkodnek, hogy valoban kell-e real time mentes.

Ha az iSCSI eleg jo (redundans controller, raid, stb) akkor nem biztos, hogy erdemes megbonyolitani az eletet egy DRBD-vel. Nem tudom persze konkretan milyen adatokrol van szo, erdemes lehet egy esetleg mas megoldast is atgondolni.

Kérdezem, mert nem tudom: miért jobb a drbd mint egy md-raid1 (egy lokális és egy távoli block device fölött)?

Tényleg nem találom leírva sehol azt, hogy a gyakorlatban miért járok jobban a drbd-vel mint az md-vel.
Pontosabban egy előnyt látok, de ha jól értem akkor a kérdés írójának ez nem igénye: ha meghal a master, akkor a slave tudja folytatni a kiszolgálást. Bár itt elő is jön az egyik nagy kérdés: amire szintén nem találtam válaszokat: a data divergence ellen mit tesz a rendszer? Ja, egyébként md-vel is meg lehet oldani hogy a slave átvegye a master szerepét, bár ehhez kódolni kell kicsit az tény.

Továbbra sem kötözködni akarok, csak tényleg nem értem, és érteni szeretném (konkrét link is segíthet). Nálunk egyébként aoe+md+lvm van, és ezen tapasztalat alapján írom hogy nem látom benne a többletet.

CLVM legnagyobb hatranya, hogy nem tud snapshot-ot csinalni. Szerintem DRBD, es az folott LVM jobb valasztas. Persze ezt neked kell eldonteni, hogy az aktualis feladatra melyik lenne jo, hiszen itt foleg a reszletek donthetnek.

Köszi, ezt nem is tudtam. Egyébként eldöntöttem a dolgot, aztán majd az idő eldönti h. jól-e :)
LVM fölötti DRBD lett belőle.
Így is lehet snapshotot csinálni róla, a drbd meta meg nem zavarja az fst, akár drbd nélkül is lehet majd mountolni a snapshotot adott esetben.
Ettől függetlenül a téma maradhatna életben, mert kíváncsi vagyok h. ki mit alkalmaz ilyesmire.

Nyugtass meg, hogy a DRBDn kívül csinálsz backupot is.

Arról kellene megnyugtatnom, hogy a drbd != backup ?
Ezt én is tudom, csinálom már pár éve :) Azért köszi, mert sokak számára konstruktív lehet a dolog, mert valóban nem backup célra való a cucc, hanem a rendelkezésre állás növelésére.

"nem backup célra való a cucc, hanem a rendelkezésre állás növelésére."

Ezzel igy ebben a formaban nem ertek egyet. Peldaul nagy, tobb teras filerendszereket sok apro file-al eleg nehezkes menteni. drbd-vel viszont szep es gyors. A drbd primary kiszolgal, a secondary a backup szerveren van, ahol mar lehet rola periodikusan lvm snapshot-ot csinalni, meg egyeb dolgokat, lenyeg hogy az mar nem fogja meg a kiszolgalast.

Nem nyitok külön témát, mert ide bepasszol.

A kérdés: DRBD az LVM alatt vagy felett? Azaz md->drbd->pv->vg->lv, vagy md->pv->vg->lv->drbd ?

A VG és az LV-k különleges használata miatt (Citrix XenServer LocalStorage) én az első megoldás felé hajlok, de érdekelne, hogy van-e valami kimondott ellenjavaslat. Illetve érdemese-e ezesetben több kisebb drbd volume-ot csinálni, amiket utána összefűzök 1 VG-ba?
A cél egy 2 gépes cluster lenne a local storage-ok aktív-aktív szinkronizálásával (a közös VG-on 1-1 LV-ot elvileg egyszerre csak egy gép használ)

Nézegettem én is a CLVM-et, de jól látom, hogy az egy központi storage-on tárolt VG-ot használ több node-on, miközben nem csak a storage fele, de a node-ok között is szinkronizál? (szóval nem egészen tükrözésről szól)

"DRBD az LVM alatt vagy felett?"

Ahogy neked megfelel. Gondold vegig mindketto elonyeit es hatranyait, es donts az szerint neked milyen kornyezetbe kell.

Altalaban a masodik modszert szoktak hasznalni (md->pv->vg->lv->drbd).

Az elso modszernel (md->drbd->pv->vg->lv) arra kell vigyaznod, hogy nem clvm eseten egyszerre csak az egyik gep "lassa" az LVM volume-okat. Ha mindket geprol szeretned latni es hasznalni az lv-ket, akkor clvm-re van szukseged ezzel a modszerrel.

A clvm arra jo, ha egy storage-en akarod hasznalni tobb geprol az lv-ket. Tehat ha az egyik gepen letrehozol egy lv-t, akkor az rogton latszani is fog a masik gepen.