Hello everyone! Another week, another topic!
I'm looking to provide HA solutions for an NFS server
using DRBD and for Oracle/MySQL servers utilizing a
Multi-Master replicated configuration.
Overall, from documentation I've found on
http://linux-ha.org and
http://www.slackworks.com/~dkrovich/DRBD/heartbeat.html
regarding these types of configurations seem to assume
2 things. (1) That the backup server is sitting
idle, and (2) the failure is one of a critical
system-wide magnitude. I'm looking for a different
type of solution. With Oracle, I have 9i Release 2
installed on both DB-SERVER1 and DB-SERVER2 with two
Oracle instances on each. All servers and Oracle
instances are running in MASTER/ACTIVE mode, doing
instant replication between them. In order to
efficiently utilize the resources of both servers, I'd
like to run the services as follows:
DB-SERVER1 (192.168.0.2)
----------
Oracle SID1 ... running, Active (VIP set:
192.168.0.50)
Oracle SID2 ... running, Repl. Backup
DB-SERVER2 (192.168.0.3)
----------
Oracle SID1 ... running, Repl. Backup
Oracle SID2 ... running, Active (VIP set:
192.168.0.60)
I'd like the VIP to failover to the backup server on
an instance-by-instance basis. So even if DB-SERVER1
was up and completely functional, but the Oracle SID1
instance froze, I'd like DB-SERVER2 to take over the
VIP and notify me via email that it has done so ...
independant of the VIP associated with Oracle SID2. I
hope this makes sense.
In the case of NFS, it's the same application-level
check that's needed. Because the DRBD partition will
be on it's own dedicated disk, the disk could fail and
the server would keep on running fine. So if I
couldn't write to that partition, for example, I would
want the failover process to begin and promote the
backup server to a master state.
Every example I see uses Heartbeat for DRBD or DB
check and failover, but it seems to be missing the
application-level check.
Is it possible to maybe use LVS in conjunction with
Keepalived to solve these issues? Specifying the
primary as a "real server", and the backup as the
"sorry server"? This may take care of the
application-level check, then define different
"Virtual Server Groups" to keep (in the oracle
example) Oracle-SID1 and Oracle-SID2 instance failover
isolated from each other. Can Heartbeat-based
solutions provide the same time of solution?
It's Monday so my brain isn't fully functional yet, so
I hope this makes sense.
Thank you!
-Ken
__________________________________________________
Do you Yahoo!?
Yahoo! News - Today's headlines
http://news.yahoo.com
|