is samba LinuxVirtualServer-able?

Christopher R. Hertel crh at nts.umn.edu
Fri Oct 26 09:59:02 GMT 2001


Well...

You run into a variety of problems.

The first problem is on the front end.  At present, the mechanism used to
announce, locate, and connect with services does not 'distribute' itself
very well. 

Pre-Windows2000, Microsoft SMB filesharing uses a naming system based on
an outdated network API called NetBIOS.  To access a service, you need to 
translate the NetBIOS name into an IP address.  Only *one* node may claim 
name at a time, thus causing a few problems if all of the servers are 
offering the same service.

There are a lot of work-arounds for this, but you need to understand the 
mechanisms before I can really explain the work-arounds.

On the back end there are two approaches.  One is to somehow distribute
the same filesystem to all of the servers.  There are some companies that
sell servers which do this and it works nicely *if* you have the software
support to maintain it (which these companies have). 

The other way is to break the filesystem into pieces and give each piece
to a separate server.  You would then use DFS (SMB Distributed File
System) to distribute access to the various parts of the filesystem.  This
is probably the best option for you but, once again, you need to
understand how it works.  On the plus side, it avoids the naming problem I
described above and the issue of distributing the underlying filesystem
across multiple servers.  On the minus side, only newer MS clients
actually support it (I don't know about W/95--but if W/95 supports it then
you're probably okay). 

Chris -)-----

> I'm new to this list. I've screened the samba-technical.mbox
> file as best I could, but didn't really know enough to know what to look for.
> 
> I'm the maintainer of the HOWTO for the Linux Virtual Server
> (LVS) project
> 
> http://www.linuxvirtualserver.org/
> 
> and would like to know if samba can be used on an LVS.
> 
> unlike the samba virtual server, which is one server
> pretending to be many, LVS is many machines pretending
> to be one big fast highly available server. The critical
> piece of the LVS is a specialised router, called the director, 
> that sits infront of a bank of largely unmodified servers 
> which are presenting identical content. The function of LVS is to 
> increase throughput, linearly with the number of servers 
> and to allow failout of the servers (for upgrade, service) 
> without interruption of service to clients.
> 
> In an LVS, the client connects to the LVS director and 
> is assigned a connection to any one of the servers. 
> When the connection drops and the client reconnects later,
> it could be to any of the other servers. The major
> requirement then is that the client must be able to
> connect sequentially to any of a pool of machines without affecting
> the service seen by the client. This is simple
> for an LVS which is serving httpd, as the servers will
> all be displaying the same read-only webpages. If the servers are
> a client writeable database (eg an e-commerce site), 
> then some mechanism is needed to propagate the written
> data to the other servers (eg database replication)
> before the next connection occurs. Another solution
> to the database problem is for the servers to be
> webpages which run database clients which write
> to a single backend database.
> 
> I would like to run samba on a bank of such servers
> to serve as domain controllers and file servers to about
> 300 windows clients.
> 
> The requirements for LVS to work in such a setup are
> that 
> 
> o when the client disconnects (normally or abnormally) 
> and later reconnects to another server that the new
> server has any new state information written during the last connect.
> If a crash has occured it would be sufficient if the server
> had the last valid state information (or something sensible
> that the client could connect to).
> 
> o if a server crashes/hangs that the client will be able to 
> disconnect and reconnect to a new server with any state
> information available on the new server.
> 
> This last requirement is not satisfied for NFS for instance
> as the file handle comes from disk geometry and will not
> neccessarily be the same for the same file on different servers.
> (for more info see
> 
> http://www.linuxvirtualserver.org/Joseph.Mack/HOWTO/LVS-HOWTO-11.html#ss11.27
> )
> 
> For NFS then the client would get a stale filehandle if a 
> server was failed out from under it. A solution to the
> NFS problem is to have the NFS servers mount their files
> from a single multiported scsi file system.
> 
> o the servers are only servers. ie there are no callbacks
> from the servers connecting to a port listening on the
> client machine. In LVS this problem comes up
> when the service is running inside tcpwrappers or with
> sendmail using identd. We solve this by removing any
> dependency of the service on identd.
> 
> Does anyone know if these are true for samba? If they
> aren't, what functionality is lost/ can we still use?
> 
> Thank you
> Joe
> 
> -- 
> Joseph Mack PhD, Senior Systems Engineer, Lockheed Martin
> contractor to the National Environmental Supercomputer Center, 
> mailto:mack.joseph at epa.gov ph# 919-541-0007, RTP, NC, USA
> 


-- 
Christopher R. Hertel -)-----                   University of Minnesota
crh at nts.umn.edu              Networking and Telecommunications Services

    Ideals are like stars; you will not succeed in touching them
    with your hands...you choose them as your guides, and following
    them you will reach your destiny.  --Carl Schultz




More information about the samba-technical mailing list