can samba be used in clustering

Dwight Tovey dtovey at itd.state.id.us
Mon Jan 28 13:29:09 GMT 2002


On Mon, 2002-01-28 at 12:29, Girish R S wrote:
> Hi,
> the setup is as below-
> 2 solaris E420 and common A1000 harddisk. They r clustered so that we have
> access to the database on A1000 even when one of the server is down.
> As of now we ftp the data to the ip add(which is floating ip), so that the
> end user is not aware of which solaris is up or down.
> 
> I am a novice in samba. when i access samba i can see it as hostname in my
> windows NT. As the 2 systems have 2 hostnames, the prob is how do i now
> redirect my data to the servers if one of the server is down. At any point i
> would like to send data to one system only. There should be no mannual
> intervention.If i can access them thru their ip address then the floating ip
> will help me solve the prob. If anyone has a solution do let me know.incase
> i am not very clear please ask me and i shall try my best again.
> 

I just went through this last week, and with the help of Gerald Carter I
came up with a solution that might help you.  I am assuming that you
want to have your cluster service join an NT Domain.

Basically, you will need to have a separate smbd running for each
service name, each bound to it's own address.  In my case, I have three
physical machines clustered together with some shared disks.  Those
shared disks are divided into N groups, with each group (service) having
it's own name and IP address.  This means that each Physical Machine
(PM) will have an smbd process running to handle any shares that are on
it's local disks, as well as 0 to N smbd processes running to handle
shares that are on any of the Virtual Machines (VM) that happen to be on
that PM at the time.  Each smbd will have it's own smb.conf file and
will be started with the '-s' flag to point it to the appropriate file.

Here are the global sections of the smb.conf files that I am using:

============================8<------------------------------
Physical machine: alpha9
[global]
        workgroup = ITD
        netbios name = ALPHA9
        interfaces = 10.1.9.52/16 127.0.0.1
        bind interfaces only = Yes
        security = DOMAIN
        password server = HQISDC01
        encrypt passwords = Yes
        lock directory = /usr/local/samba/var/locks
        smb passwd file = /usr/local/samba/private/smbpasswd
        log file = /usr/local/samba/var/log.smbd
============================8<------------------------------
Virtual machine: dev_svc
[global]
        workgroup = ITD
        netbios name = dev_svc
        interfaces = 10.1.9.59/16
        bind interfaces only = Yes
        security = DOMAIN
        password server = HQISDC01
        encrypt passwords = Yes
        lock directory = /oradev/samba/var/locks
        smb passwd file = /oradev/samba/private/smbpasswd
        log file = /usr/local/samba/var/log.smbd.DEV
============================8<------------------------------

The PM smb.conf is kept in the usual place, while the VM smb.conf is
kept on it's shared disk (mounted under '/oradev').  Having the 'lock
directory' and 'smb passwd file' also on the shared disk lets me keep
the security information for that share with the VM if it is moved from
one PM to another.

After setting all of this up, I needed to join the Domain.  With the
servers down I run the regular join command:
  smbpasswd -j ITD -r hqisdc01 -U<admin ID>%<admin passwd>
Unfortunatly, it looks like the 'smbpasswd' command cannot be pointed to
a different config file, so I had to copy the individual VM smb.conf
files into the standard location before running the command to join that
VM to the Domain.

With the 'smb passwd file' option in each smb.conf file pointing to a
different location, this creates the 'MACHINE.SID' and 'secrets'tdb'
files for each VM on it's own shared disk.  This lets the VM smbd
authenticate properly to the PDC with it's own name.

When I need to move a VM from one PM to another, I first shut down the
Samba servers for that VM, move the service to the new PM, then start
the Samba servers for that VM on the new PM.  In order to facilitate
this I created symlinks on my shared disks to the real smbd & nmbd
files.  However, in order to make it easier to find the correct process,
the filenames for the symlinks are 'smbd.<service name>'.  My shutdown
script then just has to look for that 'smbd.<service name>' in the 'ps'
output and kill only those processes instead of killing all smbd/nmbd
servers.

Kind of long winded, but I wanted to make sure I covered everything.  If
anybody has any questions or sees any potential problems with my setup,
please let me know

Hope this helps.
	/dwight
-- 
Dwight N. Tovey                     Unix System Administrator /
Developer
League of American Bicyclists       Idaho Transportation Dept.
     Certified Instructor #750-K-C  3311 W. State St.
Email: dwight at dtovey.net            Boise, ID.  83702
http://www.dtovey.net/dwight        (208)334-8166 / fax: (208)334-8121
---
What I need is a list of specific unknown problems that we will
encounter.





More information about the samba mailing list