====== Documentazione Configurazione Server Mail imap26 (Ubuntu 24.04) ======
^ Data | 23 Febbraio 2026 |
^ Server | imap26.lnf.infn.it |
^ OS | Ubuntu 24.04.4 LTS (Noble Numbat) |
^ Ruolo | Nodo IMAP / Consegna LMTP (Migrazione Docker/ZFS) |
===== 1. Infrastruttura Virtuale (Proxmox PVE) =====
La VM è stata dimensionata per gestire un carico di oltre **2100 processi** simultanei e un dataset di indici da **30GB** su storage Ceph.
* **CPU**: 8 vCPU (1 Socket / 8 Cores)
* **Tipo**: ''host'' (per istruzioni AES-NI e AVX)
* **NUMA**: Abilitato (''numa=1'')
* **RAM**: 32GB (Target ARC ZFS impostato a 24GB)
* **Storage Controller**: ''VirtIO SCSI single'' con ''iothread=on''
* **Disco**: 12TB su Ceph RBD
* **Cache**: ''Default (No cache)'' per evitare double-caching tra Host e VM.
* **Discard**: Abilitato (''discard=on'') per supporto TRIM/Unmap su Ceph.
===== 2. Configurazione Storage (ZFS on Linux) =====
Creato pool ZFS denominato **''imap''** ottimizzato per carichi Maildir e micro-I/O degli indici.
==== Dataset e Gerarchia ====
^ Dataset ^ Mountpoint ^ Recordsize ^ Compressione ^ Note ^
| imap | /imap | 128K | on | Pool radice |
| imap/indexes | /imap/indexes | **8K** | **lz4** | Ottimizzato per 30GB di indici |
| imap/mail | /imap/mail | **32K** | **lz4** | Ottimizzato per Maildir |
==== Parametri di Tuning (ZFS) ====
Configurazione applicata per massimizzare la reattività su storage di rete:
# Disabilitazione atime per evitare scritture inutili in lettura
zfs set atime=off imap/mail
zfs set atime=off imap/indexes
# Ottimizzazione ARC per i 30GB di indici (Target 24GB su 32GB totali)
echo "options zfs zfs_arc_max=25769803776" > /etc/modprobe.d/zfs.conf
update-initramfs -u
===== 3. Ambiente Software =====
Installazione dei componenti core via APT:
# Strumenti ZFS
apt install zfsutils-linux
# Docker Engine e Compose Plugin
apt install docker-compose-v2 docker.io
===== 4. Strategia di Migrazione =====
* **Proprietà File**: Tutti i dati (Maildir e Indici) sono mappati su **UID 500 / GID 500**.
* **Consegna Mail**: Transizione da ''dovecot-lda'' a **LMTP via TCP (porta 24)** tra i container Postfix e Dovecot.
* **Indici**: Copiati con successo (~30GB logici, ~20GB fisici su ZFS). Rapporto di compressione attuale: **1.54x**.
==== Struttura Directory Namespace ====
I dati sono separati fisicamente per ottimizzare il backup e le performance:
* **Messaggi**: ''/imap/mail//''
* **Indici**: ''/imap/indexes//'' (privati) e ''/imap/indexes4shared//'' (condivisi).
===== 5. Note per i Sistemisti =====
Per mantenere le performance su questo cluster PVE, le VM devono seguire questi standard:
1. Usare sempre CPU tipo **''host''**.
2. Abilitare **''iothread''** sui dischi VirtIO SCSI.
3. Non superare il 75% della RAM della VM per l'ARC di ZFS per lasciare spazio ai processi Dovecot.