heartbeat-ben több resource

Fórumok

sziasztok!

a következőt szeretném heartbeat-el megvalósítani: van két sql szerver, az egyiken fut egy instance, ill a másikon is. ha az egyik kiesik, akkor
a másik átveszi a szerepét (elindítja a második instance-ot, két drbd köteten van a 2 mysql datadirje), ha visszajön a kiesett gép, akkor visszaáll. Heartbeat 1-el próbálkoztam, de nem tudtam megoldani:
sqlserver1 drbddisk Filesystem::/dev/drbd0::/mysql1::ext4 mysql1 192.168.1.253
sqlserver2 drbddisk Filesystem::/dev/drbd1::/mysql2::ext4 mysql2 192.168.1.254

erre a heartbeat log azt írja, hogy 'ERROR: Cannot locate resource script sqlserver2', tehát mintha egy resourcenak látná a 2 sort.. van valami spec elválasztó karakter, amivel meg tudom neki mondani, hogy új resource következik?
köszönöm

Hozzászólások

ez a haresources file?

Az enyémben a drbddisk után van két darab kettőspont. A fájl többi része? Vagy ez az egész? Másrészt a haresources-ban csak a lokál gép szerepel nálunk.:

openfiler1.ceg.hu MailTo::infrastructure@ceg.hu::ClusterFailover IPaddr::192.168.133.23/32 drbddisk:: Filesystem::/dev/drbd0::/shared::ext3::defaults,noatime MakeMounts

ez a haresources, igen. ennyi az egész, a fileserveren ugyanez a konfig (csak egy sorral) hibátlanul működik.
'Másrészt a haresources-ban csak a lokál gép szerepel nálunk' tehát csak az egyik node-on van a haresources-ba felvéve? tudtommal mindkettőbe fel kell, valahonnan tudnia kell node2-nek, hogy mit csináljon, ha node1 meghal, nem?

ez így eddig nekem is működik, de itt épp az lenne a cél, hogy mindkét node-on van egy-egy resource és ezt adogatnák a másiknak.
tehát mégegyszer:

sqlserver1-en fut a 'mysql1'
sqlserver2-n a 'mysql2'

nekem kettő darab bejegyzés kéne éppen ezért a haresources-ba, mivel a mysql1-nek az sqlserver1 a primary node-ja, a mysql2-nek az sqlserver2..

Ok, így már világos.

Amit találtam: az első resource-nak egyedinek kell lennie, mert ez azonosítja a resource-group-ot
(http://www.linux-ha.org/haresources) Lehet kénytelen leszel egy fake resource-ot csinálni?

Habár a drbd-ről az első sor gondoskodik, lehet elég lenne kihagyni a másodikból. ez egy primary-primary drbd? Mert akkor ez nem megoldás.

Esetleg külön drbd-k külön néven? Bár az elég nagy hekk lenne.

belenéztem a dbrddisk resource scriptbe, és úgy kéne, hogy az egyiknél dbrddisk::vol1 a másiknál dbrddisk::vol2
(ha paraméter név nélkül van a drbddisk, akkor az összes kötetet fel akarja ugyanazon a gépen húzni primary-nak, ami az esetedben kellemetlen lehet)

Így a mindig megfelelő oldalon húzná fel az adott kötetet primary-nak, és az első resource se lenne azonos.

A fake resource csak egy múló ötlet volt... Már nekem se tetszik, és nem hiszem, hogy a heartbeat ezt a szitációt ne tudná kezelni.

Azt hiszem, hogy a drbddisk::/dev/drbd0 amegfelelő szintakszis, de biztos nem vagyok benne

köszönöm a segítséget, megoldódott a dolog! átírtam erre a formátumra a haresources-t:
sqlserver1 IPaddr::192.168.1.253/32 drbddisksql1:: Filesystem::/dev/drbd0::/mysql1::ext4 mysql1
sqlserver2 IPaddr::192.168.1.254/32 drbddisksql2:: Filesystem::/dev/drbd1::/mysql2::ext4 mysql2

csináltam a drbddisk-ből diskdisksql1, ill 2-t, ezekben átírtam az 'all' resource-t 'sql1' ill 'sql2'-re, hogy node váltásnál ne dobja secondary-ra mindkét drbd device-t. így most tökéletes, még egyszer köszönöm!

nincs mit, én két hibát látok, bár lehet hogy csak az egyik az.

az ip address az a shared ip. vagy két shared ip-d van?

a drbddisk elvben lekezeli ha nem mindent akarsz pri-ba rakni, az első paraméter erre való tehát szebb lenne hagyni drbddisk nek, csak úgy berakni a haresources ba, hogy:
drbddisk::sql1
drbddisk::sql2

Lehet, hulyeseg, de ugy remlik, hogy valamelyik konfig fajlban (talan ha.cf) meg kell adni az osszes node nevet, lehet, hogy ezert nem talalja...

meg vannak adva természetesen. nekem úgy tűnik nem értelmezi, hogy hol van az első resource vége, honnan kezdődik a második.. (doksiban nem találtam erre utalást)

íme a ha.cf:
bcast bond0
debugfile /var/log/ha-debug
logfile /var/log/ha-log
ucast bond0 192.168.1.245
keepalive 2
deadtime 10
warntime 5
initdead 60
#use_logd yes
auto_failback on
node sqlserver1 sqlserver2

nem teljesen értem a fake resource-os ötleted, le tudnád írni példában?
drbd-ből két kötet van, egyiken az egyik mysql datadirje van, másikon a másik primary/secondary módban. szóval kell a 2 drbd mindenképp