Hello everybody. This is my setup:

1) Computer (main server)
2) Computer (server)

How would I make it so that if my main server (number 1) went down for whatever reason, my other server (number 2) could kick in and continue serving, and then when my number 1 server came back, it gave control back to my number 1?

I suppose you'll probably want some techy details about my router, and the server software I'm running. Here goes:

Computer 1: Windows 2000 Advanced Server using IIS
Computer 2: OpenBSD 3.7 using Apache

And my router's a Belkin F5D7632-4 ASDL Modem with Wireless-G Router. Things I can do on it include completely turning the firewall off, and port forwarding specific ports to seperate computers, and UPNP, whatever that is.

Please help?

Hello,

You are asking quite the load there.

How are you keeping the servers in sync? You have a Windows server on one end, and a open BSD on the other. Is your windows serving .ASP or .NET? Is your BSD box serving Java? How are you keeping the data streams intact, along with permissions?

It is challenging enough to keep servers properly functioning in a cluster, and those units are working the same operating system. You are trying something far more challenging. You will need to write scripts to check the health of each box, and then write scripts to re-configure the router if a device fails. But what if both fail?

I do not think you are going to find an easy answer. I think you are better off duplicating each box, making 4 total computers, and attempting to cluster the services.

Christian

Erm, that's not quite what I'm talking about.

Computer 1 is on, serving, when suddenly it needs to do some Automatic Update rubbish (or something).

Computer 2 is on, waiting to serve (but not actually doing anything), when it realises the other computer goes down, and then it starts serving.

Then, when computer 1 comes back online, Computer 2 gracefully hands back serving to computer 1, then waits for computer 1 to go back down again, when it all loops.

I can easily make the two computers check the health of each other, that's not a problem, it's just I wouldn't know what to make the computers do if one of them found a problem at the other end.

Note: in actual fact, I think I'll change computer 2 to 2k Advanced Server as well, does this make it any easier?

That's where I'm stuck.

Bump! Anybody have any ideas?

I don't have any ideas. I think I can clarify Christian's questions though. Mirroring is not a problem. Regardless of the OS differences, we can assume that each server has an httpd server correctly set up, and that accessing port 80 on each server accesses the appropriate files. The question, then, solely lies on how to configure a router to receive an httpd request, and then try to access port 80 on server 1, and if it can't, then to try server 2.

as long as you can mirror the content, you can use a failover dns to move traffic over to the other server, I have only used commercial versions like DNSMadeEasy. Another thing you might want to look at long term is going with Clustering on 2 Windows Servers, if one goes down, the other one takes over with shared storage. Or on the Linux side we do the same thing with headbeat and using RSync.

Be a part of the DaniWeb community

We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, networking, learning, and sharing knowledge.