Re: Mailservercluster

From: Oliver Brandmueller <ob(at)e-Gitt.NET>
Date: Wed, 14 Mar 2001 10:25:56 +0100

Hallo.

On Wed, Mar 14, 2001 at 09:32:45AM +0100, Bernd Walter wrote:
> > Sprich: Der MX Eintrag einer Domain vom DNS muss entsprechend mehrere
> > Mailserver
> > liefern und alle Mailserver (SMTP und POP3) muessen alle Daten der User
> > kennen. (Mailboxdateien und die Usernamen und Passwoerter)
> >
> > Das ganze soll unter BSD laufen. :-)))
>
> Das einzige wirkliche Problem sind die Mailboxdaten.
> Entweder benutzt du einen externen Fileserver (FreeBSD, NetApp) oder
> du benoetigst eine Software die die Daten replizieren kann.
> Soweit ich weiss kann die kommerzielle Version vom Cyrus das.

Punkt 1: Die Speicherung der Maildaten sollte nicht in UNIX-style
Mailboxfiels passieren. Sowas ist bei mehreren Mails und POP3 oder IMAP
Zugriff einfach tödlich: Es behindert die Performance und belastet den
Server übermäßig. Der Cyrus zum Beispiel hält seine Daten in Maildirs und
legt Indexes, in der neuen Version IMHO sogar als Berkeley-DB oder so an.
Der kann auch via MySQL oder LDAP authentifizieren, Du willst sicher keine
Userdaten per NIS verteilen ;-)

Punkt 2: IMAP und POP sind I/O-Bound. Das heißt, einen Fileserver
hinstellen und von dort die Daten beziehen setzt einen viel schneller eine
Grenze, als wenn man eine entsprechend kräftige Maschine hinstellt.

Kannst Du sagen, wieviele User insgesamt und wieviele User in Peak-Zeiten
konkurrierend zu erwarten sind?

Es gibt kommerzielle Lösungen, die mit Master- und Slave-Servern arbeiten,
die untereinander eine Replikation anbieten und die vor allem die
Möglichkeit haben, auf einem (oder mehreren) Frontserver(n) die Last auf
diverse Backendserver zu verteilen. Solch Lösungen sind nicht mehr gerade
billig (wir reden jetzt von ca. 6-stelligen Beträgen), aber ich denke, wer
eine solche Userbase bedienen will, der wird wissen, daß er solche Summen
investieren muß.

Die "billige" Möglichkeit: Teile die Userdaten nach statistischen
Gesichtspunkten (Verteilung der Anfangsbuchstaben im Alphabet oder so) auf
verschiedene Backendserver auf. Baue eine Software, die eine erste
Authentifizierung vornimmt (vielleicht nur den Nutzernamen) und dann die
Verbindung einfach weitervermittelt auf den korrekten Server. Du kannst
dann mit Hilfe eines Round-Robin-DNS nach belieben Frontendserver dazu
stellen. Die Anzahl der Backendserver kannst Du auch problemlos erhöhen.
Und dann mußt Du Deinen MX-Servern noch eine sendmail-Regel beibringen,
die intern je nach Username (Anfangsbuchstaben, s.o.) die Mail an jeweils
den richtigen Rechner delivered.

Ich hatte schonmal drüber nachgedacht, sowaqs zu schreiben, aber ich
fürchte, der fragliche Kunde mag das nicht zahlen - und privat isses mir
was oversized - auch wenn ich gerne mal mit rumtesten würde.

Bis zu einigen tausend konkurrierenden Zugriffen kannst Du das ganz
Problem allerdings einfach durch eine entsprechend dicke Maschine mit
einem guten Raid erschlagen. Ist der zu präferierende Ansatz, wenn
möglich.

Gruß, Oliver

-- 
| Oliver Brandmueller | Offenbacher Str. 1  | Germany       D-14197 Berlin |
| Fon +49-172-3130856 | Fax +49-172-3145027 | http://www.obh.snafu.de/~ob/ |
|               Ich bin das Internet. Sowahr ich Gott helfe.               |
| Eine gewerbliche Nutzung aller enthaltenen Adressen ist nicht gestattet! |
To Unsubscribe: send mail to majordomo(at)de.FreeBSD.org
with "unsubscribe de-bsd-questions" in the body of the message
Received on Wed 14 Mar 2001 - 10:26:11 CET

search this site