LVS
lvs-users
Google
 
Web LinuxVirtualServer.org

Re: LVS & Mail server ?

To: Rob Thomas <rob@xxxxxxxxxx>
Subject: Re: LVS & Mail server ?
Cc: loc@xxxxxxxxxxxxxxxx, linux-virtualserver@xxxxxxxxxxxx
From: Tymm Twillman <tymm@xxxxxxxxxxxxxxxx>
Date: Mon, 28 Jun 1999 10:16:40 -0400 (EDT)
I'm not sure about popmail clients using it, but qmail's maildir is also 
reportedly very safe with NFS v2.  Although yeah, NFS v3 would be a 
better alternative... and there are still speed issues with NFS under 
linux (although some of the newer knfsd patches are getting pretty slick)

-Tymm

On Mon, 28 Jun 1999, Rob Thomas wrote:

> Date: Mon, 28 Jun 1999 11:49:06 +0000
> From: Rob Thomas <rob@xxxxxxxxxx>
> To: loc@xxxxxxxxxxxxxxxx
> Cc: linux-virtualserver@xxxxxxxxxxxx
> Subject: Re: LVS & Mail server ?
> 
> loc@xxxxxxxxxxxxxxxx wrote:
> 
> > I need this to convince my boss that LVS  is THE SOLUTION for very
> > Scalable and High Available Mail/POP server. I have the intent to setup
> 
> This is about the hardest clustering thing you'll ever do.  Because of
> the constant read/write access's you -will- have problems with locking,
> and file corruption.. The 'best' way to do this is (IMHO):
> 
> 1:  NetCache Filer as the NFS disk server.
> 2:  Several SMTP clients using NFS v3 to the NFS server.
> 3:  Several POP/IMAP clients using NFS v3 to the NFS server.
> 4:  At least one dedicated machine for sending mail out (smarthost)
> 5:  LinuxDirector box in front of 2 and 3 firing requests off
> 
> Now, items 1 2 -and- 3 can be replaced by Linux boxes, but, NFS v3 is
> still in Alpha on linux.  I -believe- that NetBSD (FreeBSD? One of them)
> has a fully functional NFS v3 implementation, so you can use that.
> 
> The reason why I emphasize NFSv3 is that it -finally- has 'real' locking
> support.  You -must- have atomic locks to the file server, otherwise you
> -will- get corruption. And it's not something that'll happen
> occasionally.  Picture this:
> 
>   [client]  --  [ l.d ] -- [external host]
>                    |
>      [smtp server]-+-[pop3 server]
>                    |
>                [filesrv]
> 
> 
> Whilst [client] is reading mail (via [pop3 server]), [external host]
> sends an email to his mailbox.  the pop3 client has a file handle on the
> mail spool, and suddenly data is appended to this. Now the problem is,
> the pop3 client has a copy of (what it thinks) is the mail spool in
> memory, and when the user deletes a file, the mail that's just been
> received will be deleted, because the pop3 client doesn't know about it.
> 
> This is actually rather a simplification, as just about every pop3
> client understands this, and will let go of the file handle.. But, the
> same thing will happen if a message comes in -whilst the pop3d is
> deleting mail-.
> 
>                            POP Client    SMTP Client
>   I want to lock this file <--
>   I want to lock this file               <--
>   You can lock the file    -->
>   You can lock the file                  -->
>   Consider it locked       <--
>   File is locked           -->
>   Consider it locked                     <--
>   Ooh, I can't lock it                   -->
> 
> The issue with NFS v1 and v2 is that whilst it has locking support, it's
> not atomic. NFS v3 can do this:
> 
>                            POP Client    SMTP Client
>   I want to lock this file <--
>   I want to lock this file               <--
>   File is locked           -->
>   Ooh, I can't lock it                   -->
> 
> 
> That's why you want NFSv3. Plus, it's faster, and it works over TCP,
> rather than UDP 8-)
> 
> --Rob
> 

<Prev in Thread] Current Thread [Next in Thread>