You are not logged in.

#1 2006-10-08 18:05:58

RedShift
Member
From: Belgium
Registered: 2004-07-16
Posts: 230

High availability windows - samba setup

Hi all

Ok so I'm going to try an attempt at the impossible.

A customer of mine has a windows server (Win 2k3 Server), which I will call the "master" server. Now recently that server started failing and he bought a new one. Now the old one has been fixed (foobar RAID controller and foobar disks) and he wants to place these in a high availability setup. Let me draw a small schematic:

+----------------+               +--------------------+
| Computer 1     |----NETWORK----| Computer 2         |
| Windows Server |       |       | Samba/Linux server |
| MASTER         |       |       | SLAVE              |
+----------------+       |       +--------------------+
                         |
                         |
                   +------------+
                   | Clients    |
                   | WinXP Pro  |
                   |            |
                   +------------+

Now it would be much easier to have the SLAVE server equipped with Windows 2003 Server and place these in a high availability setup (yes I know, windows <-> high availability). However, the cost of a new Windows 2003 license is too big for a server that is not going to be used since it serves as a backup.

Now the issues.

The SLAVE computer needs to serve as a file mirror. Here comes the first issue, how to keep both file shares in sync with each other. Now how I would do it:

* Have some kind of alteration monitor on the mounted windows shares, when something changes on the MASTER server immediatly rsync from the MASTER to the SLAVE.

* When the MASTER server fails, start up the samba service on the SLAVE server and have all the clients redirected to the SLAVE server, maybe by means of IP takeover?

* When the MASTER server comes back up again, rsync in the reverse order. Thus rsync from the SLAVE to the MASTER. When all operations are done stop the samba service and have all clients redirected back to the MASTER server.

Now this setup has serveral problems:
* rsyncing takes time. This means when the SLAVE server is posting it's changes to the MASTER server, users can still alter files on the SLAVE server that may already have been rsynced. Thus when the MASTER server takes over, any changes will be lost. However if I close down the samba service on the SLAVE server, files will be temporarily unavailable until the rsync process has completed.

* At certain points when failover is in effect, both servers may be visible for the user. This may (most likely will) create confusion.

Ok so those are huge problems. Actually the only reason why they have a windows server is because of ms-exchange.

Now another setup I could think of, but this costs a lot of money for new hardware. This time we leave the windows server for what it is, and use all linux machines for file serving.

+----------------+               +--------------------+
| Computer 1     |----NETWORK----| Computer 2         |
| HA - NFS 1     |       |       | HA - NFS 2         |
| MASTER         |       |       | SLAVE              |
+----------------+       |       +--------------------+
                         |
                         |
                   +------------------+
                   | Frontend         |
                   | Samba            |
                   | Serving from NFS |
                   +------------------+
                         |
                         |
                       Clients

However it is possible by simple means to make NFS servers redundant. I've done it before, works flawlessly. Even if the frontend were to fail, you simple replace it with another machine and all is good again. Or even use 2 machines for frontends to make these redundant, although I'll have to look that up on how to do that. But I don't know how I'll sell that to my customer because it requires the purchase of two new machines.

So if anyone has suggestions, tips, experience, or know people who have faced similar problems, any help would be nice.

Thank you for reading,

Glenn

(PS: yes I know I am crossposting with the mailinglist, but this forum probably has alot more active users than the mailinglist)[/code]


:?

Offline

#2 2006-10-09 18:59:00

bboozzoo
Member
From: Poland
Registered: 2006-08-01
Posts: 125

Re: High availability windows - samba setup

We have something similiar but for much larger scale and solely for Unix systems. The way we have done it is to have demons at both hosts which use sort of a watchdog mechanism to monitor each other. Each demon monitors file for changes and if anything occurs it should push some sort of update notification to the other side. Of course if one looses connectivity with the other, the second host should become a master and make himself visible to the clients. Looks like a day or two work in Perl to get the thing running.

Offline

Board footer

Powered by FluxBB