[LUGA] Mit freundlicher Unterstützung von:
OCG

Mail Thread Index


[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[luga] Hochverfügbarer Sendmail



Ok, ich gebe zu, das Zeug soll nicht auf Linux laufen, sondern auf
HP-UX. Aber den sendmail gibt's ja auch unter Linux, und vielleicht
kommt mal wer auf die Idee, etwas ähnliches versuchen zu wollen. 

Es gibt unter HP-UX ein Produkt namens ServiceGuard, das es erlaubt,
"Packages" zu definieren, die irgendeinen Dienst zur Verfügung stellen
und die auf irgendeinem Host in einem Cluster laufen können. Sinn des
ganzen ist, daß die Packages auf einen anderen Host verlagert werden,
wenn eine Maschine ausfällt.

So ein Package besteht üblicherweise aus einer IP-Adresse, ein oder
mehreren Filesystemen, und den Programmen, die den gewünschten Dienst
zur Verfügung stellen. Filesysteme müssen natürlich auf Platten liegen,
auf die alle Maschinen (über gemeinsamen SCSI-Bus o.ä.) zugreifen
können.

Das verwenden wir seit einiger Zeit für User-Directories (Samba) und
Oracle.

Also hamma uns gedacht, es wär doch nett, wenn ma sowas für die Mail
(POP3 u. SMTP) auch hätt. 

Der Drucks hat gemeint, das sei eine Standardanwendung, das gäbe es fix
und fertig von HP. 

Also haben wir den heutigen Nachmittag damit verbracht, die
"Standardlösung" aufzusetzen.

Das schaut jetzt so aus: 

0) Der popper ist trivial. Wird vom inetd aus gestartet und die Clients
greifen immer auf die Package-Adresse (pop.wsr.ac.at) und nie auf den
Maschinennamen zu.

1) Aus diversen Gründen muß auf den betroffenen Rechnern immer ein
sendmail laufen. 

2) Der sendmail darf Mail für User nur annehmen, wenn das Package aktiv
ist. 

4) Daher startet das Package einen zweiten Sendmail mit anderem
sendmail.cf, der auf die Package-Adresse bindet, ein eigenes mqueue hat,
etc.

5) Der /usr/bin/rmail delivered immer nach /var/mail

6) Daher wird das Package-/var/mail über das normale /var/mail
drübergemountet. (Alternative: procmail als local MDA).

7) /etc/mail/sendmail.pid ist hardcoded. 

8) Daher herummoven der pid-Files. (Alternative: zwei sendmail-Binaries
oder Option dafür einführen (Sourcen hätten wir ja). Probleme bei
Restart von sendmail.

Soweit scheint das also zu funktionieren, aber elegant ist was anderes.

Am Heimweg kam mir folgende alternative Idee:

1) Sendmail läuft immer (normales sendmail.cf, bindet auf INADDR_ANY,
sendmail.cw enthält nur den Hostnamen)

2) Bei Package-Start wird Package-/var/mail über das normale /var/mail
drübergemountet. (Alternative: procmail als local MDA).

3) Zum sendmail.cw werden die Package-Adresse und die Domainnamen
dazugefügt, der sendmail bekommt ein SIGHUP.

4) Zum Packagestop wird das sendmail.cw wieder auf den lokalen Namen
reduziert (braucht es den überhaupt, sich selbst müsste er eigentlich
kennen), und der sendmail geHUPt.

5) Das Package-/var/mail wird wieder ungemountet.

Sieht jemand der hier anwesenden Sendmail-Gurus (Hi, Günther!) ein
Problem damit oder gar eine noch einfachere Lösung?

	hp

-- 
   _  | Peter J. Holzer             | Lecture by Linus Torvalds:
|_|_) | Sysadmin WSR                |     "World Domination 101"
| |   | hjp@wsr.ac.at               | Lecture by Bill Gates:
__/   | http://wsrx.wsr.ac.at/~hjp/ |     "World Domination 404" 

Attachment: pgplw2oJXSLRl.pgp
Description: PGP signature



powered by LINUX the choice of a gnu generation
linux user group austria;
Suche
Suche
Letzte Änderung:
webmaster@luga.at
September 2010