Live Chat
773 598 5800
Search Results
  • Search Results

Table of Contents

3. Mail Server Architecture

3.1. Generic Server Configuration

3.1.1. Running Services

3.1.2. Other Generic Server Parameters

3.1.3. DNR Settings

3.2. Services and Modules

3.2.1. SMTP Receiving

3.2.2. Processing

3.2.3. SMTP Sending

3.2.4. POP3

3.2.5. IMAP

3.2.6. Logging

3.2.7. Reporting

3.2.7.1. Reporting Parameters

3.2.8. WebMail

3.2.9. Storage

3.2.10. FTP Backup Service

3.2.11. RPOP Service

3.3. Connectivity and Threading

3.3.1. Listeners

3.3.2. Rules

3.3.3. Threads

3.4. Clustering Support

3.4.1. Cluster Overview

3.4.1.1. LDAP Introduction

3.4.1.1.1. Basic Directory Setup

3.4.1.1.2. LDAP Entry Structure

3.4.1.1.3. LDAP Authentication

3.4.1.2. AXIGEN Mapping System

3.4.1.3. AXIGEN Authentication System

3.4.1.4. AXIGEN Front-End Services Setup

3.4.1.4.1. The SMTP Proxy

3.4.1.4.2. The IMAP and POP3 Proxies

3.4.1.4.3. The WebMail Proxy

3.4.1.4.4. Mapping Setup

3.4.1.5. AXIGEN Back-End Services Setup

3.4.2. LDAP Routing

3.4.2.1. Configuring Mapping Parameters

3.4.2.2. POP3 Proxy Service

3.4.2.3. IMAP Proxy Service

3.4.2.4. Webmail Proxy Service

3.4.3. AXIGEN LDAP Authentication

3.4.4. Integrating Active Directory into a cluster environment

3.4.5. Exotic Cluster Setups

3.5. Groupware and collaboration

3.5.1. Personal Organizer & AXIGEN Outlook Connector

3.5.2. Folders and permissions

3.2.9. Storage

AXIGEN Storage is a specific file structure with index based access allowing fast mail delivery, retrieve and query.

AXIGEN Mail Storage checks the consistency of the messages placed in the storage and empties the queue only if the mail message is correctly stored.

All domain and user configuration along with user messages are stored in AXIGEN specific storage.

Each AXIGEN storage is defined by three elements:
  • Storage directory: the directory where all storage file will be created
  • Max. file size: maximum size of a data file (Storage Container). The default value is 256 MB.
  • Max. files: maximum number of files. The default value is 128 files.
Therefore the maximum capacity of each storage is Max. file size * Max. files and the default capacity is 32 GB.

Inside storage directory, a list of files, named with 2 hexa digits followed by the .hsf extension -- e.g. 2A.hsf -- are created. There is also a file named hsf.dat which contains an unique id of the storage and the relation with other storages of the same domain. This information is usefull in case some of the storage directories are moved to other locations.

Another feature of AXIGEN storage is that it supports transactions, so that some critical operations of domain configuration changes are made safely.

Filling the Containers

When a Storage Container approaches its maximum size, (defined by the Max. file size parameter), another Storage Container will be created and the new messages will be stored herein. If the number of Storage Containers reaches the maximum value (defined by the Max. files parameter) and all of them have reached the maximum size, the storage is considered full and no more messages will be inserted.

The data in the Storage Containers is written in blocks of 4KB, therefore usually the files size is a multiple of 4KB. These memory blocks are called nodes. Smaller blocks of memory are also available, for message parts smaller than 4KB. These smaller blocks are called formatted nodes.

Each storage file can contain a maximum of 16 millions messages, and the maximum theoretical file size is 64GB (some limitations might apply, depending on your system configuration; currently AXIGEN limits this maximum size to 2GB). There can be maximum 128 files in one storage, and one domain can have over 4 billion message storages defined.

The actual maximum capacity in terms of total message count and size depends on the specific messages in the storage. For more details, see Domains section.

For each domain, at least three storages are used:
  • one storage for domain configuration, where all domain specific configuration, the public folder and the list of domain objects (users, maillist, forwarders, etc) are stored;
  • one storage for domain objects configuration, where all domain objects configurations and folders are stored;
  • one or more storages for messages, where all mails and other data associated with mails are stored; it is recommended to define each message storage on a different physical disk, since AXIGEN will use these storages in parallel.

Space saving filling procedure

The storage files with more free space have a priority when it comes to selecting the files in which a new message is added. The usage of the free space is also enhanced by message deletion.

Each message in a storage file is identified by a pointerID (type UINT). The information related to these pointers-to-messages is stored in the same storage file.