[comp.mail.sendmail] NFS mail

rob@genrad.com (Robert S. Wood) (03/03/89)

I have over 100 systems to manage.  The number is growing daily.  I now
run news by nfs mounting /usr/spool/news and /usr/lib/news.  Thus everyone
can read news anywhere and I do not have to transport it around.

Can I do this with mail?  Can I mount /usr/spool/mail everywhere and
not transport it around?  Can I trick mail to thinking it is coming from
the 'main' machine irregardless of where it is coming from?  Would I
still use sendmail, or should /bin/mail be all I need with a special
sendmail.cf on the 'main' machine?

Has anyone done this?  Am I off-track?

		rob@genrad.com

karl@triceratops.cis.ohio-state.edu (Karl Kleinpaste) (03/04/89)

rob@genrad.com (Robert S. Wood) writes:
   Can I do this with mail?  Can I mount /usr/spool/mail everywhere and
   not transport it around?  Can I trick mail to thinking it is coming from
   the 'main' machine irregardless of where it is coming from?  Would I
   still use sendmail, or should /bin/mail be all I need with a special
   sendmail.cf on the 'main' machine?
   Has anyone done this?  Am I off-track?

We've been doing it for over 18 months.  Works fine.  I recommend,
however, that you install a modified /bin/mail which [a] doesn't give
up on open(2) failures, in case the mail-housing host goes down (we
soft-mount) and [b] uses the old-style /usr/spool/mail/username.lock
style of locking, since flock(2) doesn't work across NFS.

I put together our /bin/mail from the Pyramid OSx and SunOS 4.0
versions.  As for fooling the system into thinking that all mail comes
from one host, the sendmail.cf I use believes that everyone is
username@cis.ohio-state.edu - we hide hostnames entirely.  You can't
tell where it was written without peeking at the Received: headers.

--Karl

steve@polyslo.CalPoly.EDU (Steve DeJarnett) (03/04/89)

In article <17946@genrad.UUCP> rob@genrad.com (Robert S. Wood) writes:
>Can I mount /usr/spool/mail everywhere and
>not transport it around?  Can I trick mail to thinking it is coming from
>the 'main' machine irregardless of where it is coming from?  Would I
>still use sendmail, or should /bin/mail be all I need with a special
>sendmail.cf on the 'main' machine?

	You can't just mount /usr/spool/mail everywhere (well, you could, but 
it'd be dangerous).  The reason is as follows.  If machine A receives mail for
user X at the same time that machine B receives mail for user X, and both grab
/usr/spool/mail/X and try to write to it, you get the classic multiple-access
problem (i.e. only one of the messages makes it in -- the last one to write).
I think Sun sells an RPC product that allows you to do file locking across 
multiple machines, but I don't know if mail will respect this or not.

	The way I'd do it is have all clients forward mail to the server, and
let the server write the mail out.  Thus, tweak your sendmail.cf somewhat (I
think).  These are just suggestions, your mileage may vary.  Consult your 
local sendmail hacker for better info....

-------------------------------------------------------------------------------
| Steve DeJarnett            | Smart Mailers -> steve@polyslo.CalPoly.EDU     |
| Computer Systems Lab       | Dumb Mailers  -> ..!ucbvax!voder!polyslo!steve |
| Cal Poly State Univ.       |------------------------------------------------|
| San Luis Obispo, CA  93407 | BITNET = Because Idiots Type NETwork           |
-------------------------------------------------------------------------------

paul@mrfloods.cc.umich.edu ('da Kingfish) (03/04/89)

We do this on a large apollo ring (not with NFS).  I wrote versions of
open and flock that use Apollo's ios_$ calls and take care of locking
and concurrency control correctly in the Apollo environment.  There,
all the machines just call themselves the same thing
(caen.engin.umich.edu) and we depend on looking at received-by lines to
see when and where the message was generated (we use Apollo uids for
message ids).

For NFS setups we have all the drone machines forward all mail to the
master.  The master has the /usr/spool/mail directory, the drones have
mqueues.  Then the normal sendmail queueing will take care of retries,
etc.  It also makes things easier relative to locking and root access
over NFS, etc.

--paul

barnett@vdsvax.steinmetz.ge.com (Bruce Barnett) (03/04/89)

In article <17946@genrad.UUCP>, rob@genrad (Robert S. Wood) writes:
>Can I do this with mail?  Can I mount /usr/spool/mail everywhere and
>not transport it around?

In SunOs 4.0, there is an option R that supports this:
-------------------------------------------------------------------
# Remote mode - send through server if mailbox directory is mounted
OR
-------------------------------------------------------------------

--
	Bruce G. Barnett 	barnett@ge-crd.ARPA, barnett@steinmetz.ge.com
				uunet!steinmetz!barnett

newsuser@LTH.Se (LTH network news server) (03/07/89)

In article <8853@polyslo.CalPoly.EDU> steve@polyslo.CalPoly.EDU (Steve DeJarnett) writes:
>	The way I'd do it is have all clients forward mail to the server, and
>let the server write the mail out.  Thus, tweak your sendmail.cf somewhat (I
>think).  These are just suggestions, your mileage may vary.  Consult your 
>local sendmail hacker for better info....
This is how I do it too. It works fine. I use sendmail 5.61+IDA2.8
with some modifications in Sendmail.mc This runs on about 50 hosts
with one mailserver. I've never seen any problems with it, and it gives you
simpler administration, because you do all the rewriting on one host.
-- 
==============================================================================
Joergen Haegg				jh@efd.lth.se
System manager @ efd			046-107598
Lund Institute of Technology		Sweden
==============================================================================