cluster -- Clustered Architectures for Mailing Systems and the PigeonAir Project

Carlo Contavalli

Revision History
Revision 1.0.02004/08/25
First document revision

Purpose of this document is to introduce users, developers or administrators to clustered architectures for mail servers, with particular regard to the PigeonAir and PigeonDeliver infrastructure.


Table of Contents
1. Before starting
1.1. Intended Audience
1.2. Copyright Notice
2. From Mail Servers to Mailing Systems
3. Introducing mailing technologies
4. Introducing mail clusters
4.1. Mail Cluster Delivery process
4.1.1. Avoiding Clusters by adding servers
4.1.2. Real Clusters and the delivery process
5. Architectures for Mail Clusters
5.1. About Control Data
5.2. About mail data
5.2.1. Shared Storage Clusters
5.2.2. Distributed Storage Clusters
5.2.3. Comparing the two models
6. PigeonAir Architecture
7. PigeonAir in practice
7.1. Spaghetti arithmetic for hardware requirements
7.2. Our small cluster grows...
7.3. About balancers
7.4. When a mail arrives...
7.5. When a POP3/IMAP connection arrives...

1. Before starting

This document was written as part of the documentation of the PigeonAir Project to provide help and support to users, system administrators or developers.

While every effort has been made to ensure that the information is accurate at the time of publication, this document may contain errors, omissions, incongruences or wrong technical details. No liability for damages is accepted by the Author/Authors, the publishers or any other organization or person providing the information, arising from any errors or omissions that may appear, however caused.

In case you find an error, you would like to propose better solutions than those discussed in this document or you would like to discuss an idea regarding this document or its content, we would be glad to hear from you and please feel free to contact us by writing to the <pigeon-dev at ml.pigeonair.net> mailing list or by directly contacting one of the authors.

1.1. Intended Audience

This document is meant to introduce users, administrators and developers with the problems involved with building mail clusters. It describes some clustered architectures that can be used to deploy mail clusters, how they can be employed in PigeonAir Clusters and to the terminology and main problems encountered when working on PigeonAir Cluster.

This document is meant to be an informal introduction to the PigenAir system, for those approaching its installation or infrastructure for the first time. It will not discuss technical details nor detailed studies about the described architectures and about the employed solutions. This kind of discussion is left to other documents.

1.2. Copyright Notice

This document was written by Carlo Contavalli <ccontavalli at masobit.net> and is thus Copyright (C) Carlo Contavalli 2003, 2004 and the PigeonAir Project.

Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.1 or any later version published by the Free Software Foundation; with no Invariant Sections, no Front-Cover Texts and no Back-Cover Texts.

Any example of program code available in this document should be considered protected by the terms of the GNU General Public License.

You should have received a copy of the GNU General Public License along with this document; if not, write to the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.

Trademarks are owned by their respective owners.