Postfix: mail redundantie

Pagina: 1
Acties:

  • Boudewijn
  • Registratie: Februari 2004
  • Niet online

Boudewijn

omdat het kan

Topicstarter
Hoi


Sorry voor de vage titel maar ik denk dat ik het dit het makkelijskte met postfix kan doen.
Als iemand een betere titel weet, be my guest svp. (ik weet ook nog niet welke kant dit topci op gaat).

Momenteel heb ik de volgende setup:

2 Gentoo amd64 based servers achter 1 publiek IP.
Het zijn machine1 en machine2.

Machine1 is de machine die momenteel postfix (smtp) en courier-imap (imap) draait op mailgebied (er draait ook samba enzo op) en deze wordt voor serieus MKB gebruik ingezet (PDC enzo ook). Machine2 draait momenteel vooral mpd en een multimedia-share en wordt ook voor prutsprojectjes gebruikt (beetje php zooien enzo).
Machine2 is *niet* toegankelijk voor de buitenwereld.

Echter wil ik de zaak redundanter aanpakken, ondanks raid en backups.
Dit gewoon om te zorgen dat als de server ermee stopt (ja prik eraf...) de andere server de zaak overneemt.

Het zou mi. mooi zijn als ik server2 ook verantwoordelijk maar voor dat domein, en poort25 doorNAT naar server1. Server1 (postfix ...) zou mi. dan alle inkomende (vanaf extern_ip) mail door moeten sturen naar server2.

Is dit te realiseren?

Ik kan natuurlijk wel 2 mx records aanmaken, maar dan zit ik met het probleem dat de maildir's op server2 nooit up to date zijn. Dat is voor mij dus niet echt makkelijk.

Ik kan natuurlijk alles met een IMAP client (fetchmail oid) elke 10 secs binnenhalen maar dat vind ik niet echt handig... dat zou voor elke maildir dan moeten.... :X (en ook met passwords enzo niet ideaal).

Over NFS en samba heb ik ook gedacht, maar het is zo dat ik die mail ook bereikbaar wil hebben als server1 plat ligt. Samba en NFS zijn dan ook dood.

Weet iemand hoe dit netjes kan?

Zaram module kopen voor je glasvezelaansluiting?


  • moto-moi
  • Registratie: Juli 2001
  • Laatst online: 09-06-2011

moto-moi

Ja, ik haat jou ook :w

cyrus-murder al bekeken?

God, root, what is difference? | Talga Vassternich | IBM zuigt


  • Boudewijn
  • Registratie: Februari 2004
  • Niet online

Boudewijn

omdat het kan

Topicstarter
dat ziet er erg goed uit,
wel lastig te zoeken, met welke zoektermen heb je die gevonden of kende je hem al?

zijn er trouwens nog heel andere oplossingen te vinden? Ik zit dus nu richting de IMAP kant, maar zou zoiets ook met postfix te doen zijn? (just curious... als het werkt werkt het hoor).

probleem is dat ik dus courier-imap gebruik en geen trek heb om over te schakelen omdat het nu gewoon keurig werkt :)

[ Voor 16% gewijzigd door Boudewijn op 20-01-2007 23:38 ]

Zaram module kopen voor je glasvezelaansluiting?


  • _JGC_
  • Registratie: Juli 2000
  • Laatst online: 08:44
Cyrus Murder moet je dan wel de 2.3 versie van hebben, de 2.2 versie kan geen failover, alleen maar clusteren met uitbreiding van je mailstorage.

Ik heb nog niet met 2.3 gespeeld, maar met 2.2 was het iig vrij ingewikkeld om op te zetten ivm de losse frontend/backend splitsing. Bij 2.3 is dat simpeler omdat die splitsing niet meer per-se aanwezig is.

Wat betreft overschakelen van Courier naar Cyrus: Als je nu al een database backend hebt voor je account storage die met SASL kan werken, heb je nog maar 1 probleem, en dat is het converteren van maildir naar cyrus formaat: je moet de mailboxes.db importeren vanuit een tabgescheiden bestand en dan alle maildirs aanmaken op het filesystem, alle mailtjes met opeenvolgend nummer in die mapjes zetten en dan de reconstruct tool draaien om de mailbox index goed te krijgen. Het is misschien simpeler om met python of perl gewoon de Maildir uit te lezen en gewoon via het cyrus account de mailtjes via IMAP op te voeren. (of je doet het zoals die beheerder die me vorige week even heel veel gedoe bespaarde: rm -rf /home/vpopmail, ik hoefde iig niets meer te importeren en te converteren daarna :X)

Het mooie van Murder is, dat aangezien het een cluster is, het niet meer uitmaakt welke server de mail aanneemt. In de setup die ik draai met cyrus murder staat er gewoon een OpenBSD firewall voor die met een redirect rule aan het loadbalancen is over twee SMTP servers die in het cluster zijn opgenomen. Het maakt helemaal niets uit of de klant nu gehost is op de een of de andere, het komt gewoon altijd aan.

  • Boudewijn
  • Registratie: Februari 2004
  • Niet online

Boudewijn

omdat het kan

Topicstarter
dat is wel heeeeel nice.
die sysadmin is btw een lul.


nou ja ik vind maildirs fijn werken vwg het gebruik van mutt.
ga morgen eens lezen of mutt met het cyrus formaat overweg kan.

alleen het is vrij veel mail, ik zelf zit al op 15k mails.... en de rest is ook nog redelijk wat.
dat wil ik dus niet met de hand doen.

ben beetje huiverig om iets wat atm goed werkt over te zetten, maar voor nieuwe setups is het heel fancy.

Zijn er nog alternatieven voor murder?

Zaram module kopen voor je glasvezelaansluiting?


  • _JGC_
  • Registratie: Juli 2000
  • Laatst online: 08:44
Je kunt met een of andere wazige IMAP proxy werken zoals perdition, maar daar word je ook niet blij van. Als je naar opensource mailservers kijkt is Cyrus zo'n beetje de enige oplossing, of je moet courier gaan hosten op een distributed filesystem.

BTW: Mutt kan ook prima met IMAP overweg AFAIK. Verder is cyrus een zwarte doos met een raam erin, het is niet de bedoeling dat je aan de interne structuur van cyrus gaat rommelen. Cyrus is ontworpen om volledig via LMTP en IMAP te worden bediend, alhoewel POP3 ook gewoon beschikbaar is.

  • Boudewijn
  • Registratie: Februari 2004
  • Niet online

Boudewijn

omdat het kan

Topicstarter
ja okay dat is ook weer niet de bedoeling.

probleem is gewoon dat maildir vrij standaard formaat is, en cyrus wat minder.
ik ga denk ik wel even een test-setup opzetten :)

wat bedoel je hiermee:
Het is misschien simpeler om met python of perl gewoon de Maildir uit te lezen en gewoon via het cyrus account de mailtjes via IMAP op te voeren.
Gewoon de maildir lezen en alles opnieuw verzenden?

Zaram module kopen voor je glasvezelaansluiting?


  • _JGC_
  • Registratie: Juli 2000
  • Laatst online: 08:44
Je kunt via het IMAP protocol gewoon berichten opslaan. Bij cyrus IMAP heb je een admin user die mailboxes kan maken, hier zichzelf rechten op kan geven en vervolgens berichten kan opslaan in de betreffende mailbox. Er bestaan python en perl modules die het IMAP protocol ondersteunen en er bestaan iig perl modules die een maildir uit kunnen lezen. Vervolgens schrijf je een script die alle berichten uit de maildir leest en deze via IMAP opslaat in cyrus. Het is allemaal een stuk trager dan gewoon kopieren, maar je hebt geen gedoe met zelf mailbox databases schrijven en hacky recovery methodes toepassen.

Let overigens bij de folder separator wel op wat je doet: bij Cyrus kan je die instellen op . of /. Bij een punt is het niet mogelijk om punten in mailboxnamen te hebben, dus kies je logischerwijs voor een /. Bij het converteren moet je hier rekening mee houden, anders krijg je hele vreemde mapnamen als je de boel gaat overzetten.
Pagina: 1