is samba LinuxVirtualServer-able?

Joseph Mack mack.joseph at epa.gov
Fri Oct 26 07:02:08 GMT 2001


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




More information about the samba-technical mailing list