erlug
[Top] [All Lists]

Re: [Erlug] Mail server distribuiti

To: "ERlug - Lista Pubblica" <erlug@xxxxxxxxxxxxxx>
Subject: Re: [Erlug] Mail server distribuiti
From: Davide Bolcioni <db_erlug@xxxxxxxx>
Date: Mon, 12 Oct 2009 23:33:36 +0200
On Monday 12 October 2009 17:39:43 Fabio Muzzi wrote:

> Vuoi usare IMAP sui backend ?

Lo Zen suggerisce di usarlo sui front-end, ma qui c'è una cosa che non
sappiamo: quanto avere dei front-end sia inteso a gestire l'antispam, che
carica non poco CPU anche "importanti" in certi scenari, e quanto invece
sia inteso a gestire la numerosità degli utenti.
 
> A questo punto ognuno dei backend contiene un disco che e` parte del
> RAID1 del DRBD, e lo monta anche. 
  ...
> Tutto questo se:
> 
> 1- DRBD funziona bene
> 2- il link a 50 megabit regge il carico
> 3- il file system che puoi montare da tutte e due le parti (GFS?) funziona
> 4- riesci a inventare un sistema decente per gestire i casi di split-brain

Per quanto ho visto io, DRBD funziona bene. Per gestire le situazioni di split
brain io suggerisco heartbeat, limitandosi alla versione 1 a meno che un 
attento studio della versione 2 porti a concludere che le caratteristiche
addizionali che essa introduce valgono la pena.

Nota che è in corso di realizzazione una variante di heartbeat, pacemaker, per
i dettagli rimando al sito linux-ha.org.

Con GFS ho fatto solo delle prove,ma il problema è antipatico: che io sappia è
l'unico filesystem clustered per Linux che sia di uso abbastanza diffuso, è 
usare un filesystem clustered nello scenario sopra descritto è obbligatorio.

Non mi è chiaro se il failover deve avvenire tra un backend e un altro, che
con un link a 50 Mb/s mi sembra azzardato, oppure se ciascun backend dovrebbe
essere un cluster attivo-attivo. 

Un'alternativa del tutto avventurosa potrebbe essere questa

  <http://freshmeat.net/projects/dbmail>

che affronta il problema a livello applicativo mettendo la posta in
un database Postgres o MySql. Mai provato.

Davide Bolcioni
-- 
There is no place like /home.

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