Heinlein Mailserverkonferenz 2011 NetCologne … · nginx mit eigenem Auth-Modul Loadbalancing...
Transcript of Heinlein Mailserverkonferenz 2011 NetCologne … · nginx mit eigenem Auth-Modul Loadbalancing...
NetCologne Communication Center
Austausch einer ISP Mail-Plattform - ohne downtime
Heinlein Mailserverkonferenz 2011
26.5.2011 2Heinlein Mailserverkonferenz 2011
Christian Rohmann – NetCologne GmbH
EHLO christian.rohmann.netcologne.de
26.5.2011 3Heinlein Mailserverkonferenz 2011
Christian Rohmann – NetCologne GmbH
Network Engineering and DesignContent Delivery Platform (Internetdienste)
AufgabenE-Mail-PlattformNMS, EMSSolaris
Dipl.-Inform.(FH)
Christian Rohmann
26.5.2011 4Heinlein Mailserverkonferenz 2011
Christian Rohmann – NetCologne GmbH
Warum?
Was?
Wie?
Was?
Was?Was noch?
Wieso?
26.5.2011 6Heinlein Mailserverkonferenz 2011
Christian Rohmann – NetCologne GmbH
Ausgangsituation - Mehrere Plattformen
netcologne.de-PostfächerBeigabe zum Internetzugang
KundendomainsPaketprodukte (x Postfächer, x MB Quota)
Weitere kleine Lösungen (Firmenübernahmen)
ProblemeHoher PflegeaufwandKeine ProduktübergängeKeine gemeinsame Innovation
26.5.2011 7Heinlein Mailserverkonferenz 2011
Christian Rohmann – NetCologne GmbH
Ausgangssituation - netcologne.de
50MB PostfächerNur POP3, kein IMAPKeine SMTP-Authentisierung (+ kein SSL)Webmail Horde 3 (IMP, Ingo, Turba, Kronolith)
Kein OnlinespeicherKein Synchronisation (Adressbuch, Kalender)Keine Groupware-Funktionen
26.5.2011 8Heinlein Mailserverkonferenz 2011
Christian Rohmann – NetCologne GmbH
Ausgangssituation - Mailrouting
Keine Unterstützung für DomainsEinzige Domain = netcologne.de
Adressrewriting zum RoutingZustellung zum [email protected] ->[email protected]
Weiterleitung per virtual alias
Ältere SoftwarekomponentenPolicyd v1 für z.B. GreylistingKeine durchgehende IPv6 Unterstützung
26.5.2011 9Heinlein Mailserverkonferenz 2011
Christian Rohmann – NetCologne GmbH
Ausgangssituation – (E-Mail-)Storage
„Mailstore“: Sun Fire V240 / V440 ServerAlte Hardware + Solaris 9Festplattenausbau schwierigOracle != Sunca. 40k Postfächer/Server
Backupzeiten zu lang (RTO, RPO)
26.5.2011 10Heinlein Mailserverkonferenz 2011
Christian Rohmann – NetCologne GmbH
Ausgangssituation – IMAP/POP3
Perdition als IMAP/POP3 ProxyErmittlung des Mailstore für PostfachKein Login mittels Alias
Cyrus POP3/IMAPIndexdatenbanken'.' anstatt '/' als SeparatorNFS-Support „schwierig“
26.5.2011 11Heinlein Mailserverkonferenz 2011
Christian Rohmann – NetCologne GmbH
Ziel: Gemeinsame Plattform
Multi-Domain / Mandantenfähignetcologne.de – yet another domain
Premium-Pakete (kommerziell)Modernisierung sämtlicher SoftwareAblösung sämtlicher alter Hardware
Nicht nur Sun/Oracle-HardwareEvtl. Migration auf VMware ESXi Cluster
26.5.2011 14Heinlein Mailserverkonferenz 2011
Christian Rohmann – NetCologne GmbH
E-MAILE-Mail-Routing / - Verarbeitung / Policies / Anti-Spam / DB / ...
APPLIKATIONWebmail / PIM / Groupware / Synchronisation / ...
INFRASTUKTURHW / VMware / Storage (SAN, NAS) / Netze / LB / FW / ...
… Abstraktionsschichten
Ope
rati o
n S
uppo
rt S
y ste
m (
OS
S)
26.5.2011 15Heinlein Mailserverkonferenz 2011
Christian Rohmann – NetCologne GmbH
Infrastruktur - Storage - Optionen
Zwei AnwendungsfälleE-MailsOnlinespeicher (OX Infostore)
Viele MöglichkeitenDRBD (active/active, active/passive)Cluster-FSSANNAS (NFS)...
26.5.2011 16Heinlein Mailserverkonferenz 2011
Christian Rohmann – NetCologne GmbH
Infrastruktur - Storage - NFS
Entscheidung: NAS mittels NFSGleichzeitiger Zugriff (Skalierung, Redundanz)Erweiterung ohne downtime
NetApp Filer Redundantes PrimärsystemBackup: SnapshotsDisaster Recovery: NearLine (SnapMirror)
26.5.2011 17Heinlein Mailserverkonferenz 2011
Christian Rohmann – NetCologne GmbH
Infrastruktur - Storage - NFS-Netz
Dedizierter Backbone für NFS AnwendungenSimples Design
10 GigELayer 2RSTP (rapid spanning-tree)802.1q (VLANs), 802.1p (Prioritäten)Jumbo Frames (9k)
26.5.2011 18Heinlein Mailserverkonferenz 2011
Christian Rohmann – NetCologne GmbH
Infrastruktur - Virtualisierung
VMware ESXi 4 ClusterStandortverteiltRedundante NetzanbindungenSpeicher: NetApp Metrocluster
LastverteilungPassende Anzahl der GästeAutomatische Lastverteilung (Dynamic Resource Scheduler – DRS)
26.5.2011 19Heinlein Mailserverkonferenz 2011
Christian Rohmann – NetCologne GmbH
Infrastruktur – Netz / Load balancing
Dedizierte IP-NetzeTrennung Frontend / BackendEinfache Regeln für Firewalls
F5 BigIP load balancerNur „sichtbare“ Dienste (z.B. pop3.netcologne.de)Vorerst kein SSL offloading
STARTTLSbessere Logging-Qualität
26.5.2011 20Heinlein Mailserverkonferenz 2011
Christian Rohmann – NetCologne GmbH
E-Mail - Mailrouting
MTA bleibt PostfixKomplett neue Konfiguration (Multidomain-Datenmodell, restrictions, RBLs, ...)Kein rewriting zum RoutingWeiterleitungen als virtual alias (OX: sieve)
Dovecot statt Cyrus Dovecots Deliver als LDA→Policyd v1 Policyd v2 (Cluebringer)→
26.5.2011 21Heinlein Mailserverkonferenz 2011
Christian Rohmann – NetCologne GmbH
E-Mail – POP3/IMAP Proxies
nginx mit eigenem Auth-ModulLoadbalancing über kanonischenMailbox-Namen (Zugriff mit Alias möglich)Stickyness
Mailboxen auf NFS-Volumes (Locking, Caches)Dovecot Caches / Indexe
Ausfallerkennung für Backends
26.5.2011 22Heinlein Mailserverkonferenz 2011
Christian Rohmann – NetCologne GmbH
E-Mail – POP3/IMAP-Server
Dovecot für POP3/IMAPRobuste Datenstruktur(en)
maildir++Selbstheilende Indexe
Features, Features, FeaturesSuchfunktionen (z.B. FTS)sieve ModuleACLs
PerformanceSehr aktive Entwicklung, sauberer Code
26.5.2011 23Heinlein Mailserverkonferenz 2011
Christian Rohmann – NetCologne GmbH
E-Mail - Ablagestruktur Mailboxen
(NFS-)Volume wird bestimmt (Zufall, Füllgrad, …)Gleichmäßige Verteilung von Mailboxen über verfügbare Volumes (Speicherplatz, IOPS)Verzeichnis zweistufig gehashed, „mailbox@domain„
Bsp.:vol104/29/29d6/[email protected] Verzeichnisse pro EbeneKeine DB-Einträge für VerzeichnisGleichverteilung
26.5.2011 24Heinlein Mailserverkonferenz 2011
Christian Rohmann – NetCologne GmbH
MX
Deliver
IMAP/POP3Proxy
IMAP/POP3Store
SMTP(Versand)
E-Mail / Applikation - Servergruppen
Webserver
Spamfilter
Application-Server (OX)
Loadbalancer
26.5.2011 25Heinlein Mailserverkonferenz 2011
Christian Rohmann – NetCologne GmbH
E-Mail – Loadbalancing / HA
Jede Server-Gruppe mittels LB/HA Mechanismen gekoppeltWebserver: mod_proxy_balancerPOP3/IMAP: nginx mit eigenem Auth-ModulMailrouting: Postfix mit mehreren A-recordsSieve (nicht öffentlich): haproxyMySQL
schreibend: master-master mit virtual IPlesend: Support für mehrere DB-Server in Anwendung
26.5.2011 26Heinlein Mailserverkonferenz 2011
Christian Rohmann – NetCologne GmbH
Applikation - OpenXchange
Kein „Mailserver“Anbindung an Plattform über StandardprotokolleOpenXchange-GUI „nur“ HTML+JSApplikations-Server in Java
Features / IntegrationExchange Active Sync (EAS)MAPI (MS Exchange Server in Outlook)WebDAV (Infostore)
Open Source + agile EntwicklungRäumliche Nähe (Olpe, Nürnberg)
26.5.2011 27Heinlein Mailserverkonferenz 2011
Christian Rohmann – NetCologne GmbH
OSS – Operation Support System
Abstraktion der MailplattformProvisioning (Aufträge durch CRM)Konfiguration (E-Mail-Alias, Spamfilter, Featureset)Informationsabfrage durch 1st level support tools(z.B. Quota, E-Mail-Alias, Statistiken)
SOAP/XML
26.5.2011 29Heinlein Mailserverkonferenz 2011
Christian Rohmann – NetCologne GmbH
Migration
Abschnitt 1 - Mailsystem (Mailrouting, Mailboxen, …)Abschnitt 2 - WebMail / Groupware (Horde OX)→
AnforderungenKein DatenverlustKeine downtimeSteuerbare Migrationsgeschwindigkeit
PostfachweiseErkennung von ProblemenSupport-Anfragen
26.5.2011 30Heinlein Mailserverkonferenz 2011
Christian Rohmann – NetCologne GmbH
Migrationsphasen
Phase 0 – VorbereitungPhase 1 - Umstellung Mailrouting / MailboxzugriffPhase 2 – Abschaltung alte MX, SMTP, POP3-proxiesPhase 3 - Migration Postfächer Mailstore ComCenter→Phase 4 – Rückbau alte Mailstores
Phase 5 – Start „comcenter.netcologne.de“Phase 6 - Umzug Horde Open-Xchange→Phase 7 – Einführung SMTP-Auth (verpflichtend)
26.5.2011 31Heinlein Mailserverkonferenz 2011
Christian Rohmann – NetCologne GmbH
Phase 0 – Vorbereitung
TestsReview KonfigurationTests der gesamten FunktionalitätenTests neues Provisioning
Vorbereitungen ParallelbetriebSynchronisation neue MailDB mit BestandsdatenAb jetzt: Parallele Datenpflege alte/neue DBMigrationsstatus der Mailbox Datenbank→
Open-Xchange Installation noch WiP
26.5.2011 32Heinlein Mailserverkonferenz 2011
Christian Rohmann – NetCologne GmbH
Phase 1 – Planung Umstellung Mailrouting
26.5.2011 33Heinlein Mailserverkonferenz 2011
Christian Rohmann – NetCologne GmbH
MX
Deliver
Phase 1 – Umstellung Mailrouting
Spamfilter
Internet
MX
Mailstore
Spamfilter
NASNAS
MX recordsMX records
26.5.2011 34Heinlein Mailserverkonferenz 2011
Christian Rohmann – NetCologne GmbH
Phase 1 – Umstellung Mailrouting
rewrite + transport-maps (mysql) für (noch) nicht migrierte Accounts → BestandssystemÄnderung MX recordsKurzer Paralellbetrieb (Anti-DoS, greylisting, …)Umstellung Weiterleitungen
virtual-alias (von OX nicht unterstützt) sieve→Kleinere Anpassung im NetMail
26.5.2011 35Heinlein Mailserverkonferenz 2011
Christian Rohmann – NetCologne GmbH
pop3.netcologne.de
Phase 1 – Umstellung Mailboxzugriff
Internet
Mailstore
IMAP/POP3Proxy
IMAP/POP3Store
NASNAS
POP3-Proxy
Loadbalancer
26.5.2011 36Heinlein Mailserverkonferenz 2011
Christian Rohmann – NetCologne GmbH
Phase 1 – Umstellung Mailboxzugriff
Nginx POP3/IMAP-proxiesusername load balancing ins BackendPer Datenbank
Parallelbetrieb neue/alte POP3/IMAP-ProxiesLetzte Tests mit realen ZugriffenDeaktiverung der alten Proxies im Loadbalancer
IMAP/sieve-Zugriff für WebMail angepasstZugriff über neue IMAP-ProxiesIMAP separator
26.5.2011 37Heinlein Mailserverkonferenz 2011
Christian Rohmann – NetCologne GmbH
Phase 2- Abschaltung alte MX
Sämtlicher Traffic über neue SystemeWeichen für (noch) nicht migrierte Postfächer
Eingehend per rewrite + transportLesend per nginx-Modul (Zugriff auf mailstore-Server)
Migration von Postfächern nun möglich
26.5.2011 38Heinlein Mailserverkonferenz 2011
Christian Rohmann – NetCologne GmbH
Phase 3 - Migration Postfächer
AblaufSperren des PostfachsMigration direkt auf Dateisystem (cyrus2dovecot)Wenn „OK“ Änderung des Migrationsstatus→Freigabe des Postfachs
Beibehaltung POP3-UIDs, IMAP-Flags, ...Anpassung sieve-Skript (z.B. fileinto UTF-7 UTF-8)→Dauer: Wenige Sekunden pro Postfach (50MB Quota)
26.5.2011 39Heinlein Mailserverkonferenz 2011
Christian Rohmann – NetCologne GmbH
Phase 4 - Rückbau alte Mailstores
Sämtliche Mailboxen wurden migriertDeaktivierung der symmetrischen DatenpflegeEntfernen sämtlicher Weichen
Aktivierung IMAP (imap.netcologne.de)Erhöhung Quota 50MB 1GB→
26.5.2011 40Heinlein Mailserverkonferenz 2011
Christian Rohmann – NetCologne GmbH
Verwendung von IMAP vs. POP3
26.5.2011 41Heinlein Mailserverkonferenz 2011
Christian Rohmann – NetCologne GmbH
comcenter.netcologne.de
Phase 5 – comcenter.netcologne.de
Internet
redirect
WebMail
Webserver
Application-Server (OX)
netmail.netcologne.de
Redirect zu comcenter.netcologne.de
Loadbalancer
26.5.2011 42Heinlein Mailserverkonferenz 2011
Christian Rohmann – NetCologne GmbH
Phase 5 – comcenter.netcologne.de
Neue PortalseiteRedaktionelle Inhalte
Redirect von netmail.netcologne.deLogin-Weiche für ComCenter(OX) vs. NetMail (Horde)Zunächst 100% NetMail
User für User MigrationMitarbeiter / TesterSehr aktive UserRest
26.5.2011 43Heinlein Mailserverkonferenz 2011
Christian Rohmann – NetCologne GmbH
Phase 6- Horde Open-Xchange→
Anlegen OX UserDatenübername aus Horde
Mailbox bleibt unverändert (IMAP)Adressbücher (vCard export vCard import)→Kalender (iCal export iCal import)→Konvertierung Mailfilter (sieve)
OX reparsed sieve-Skripte / Ingo = Schatten-DBMetainfos als (sieve-)Kommentar
perl / php
Nach Abschluss Migrationsflag auf „done“→
26.5.2011 44Heinlein Mailserverkonferenz 2011
Christian Rohmann – NetCologne GmbH
Phase 7 - SMTP-Authentication
Informationskampagne zur UmstellungE-Mails, Anleitungen, 0800er Rufnummer
Automatische Hinweismail: Korrelation IP Username→Umstellung pro Einwahlsystem (BRAS, CMTS, …)
Steuerung der Support-Calls
opt. SMTP-Auth bereits vorab aktivieren
26.5.2011 45Heinlein Mailserverkonferenz 2011
Christian Rohmann – NetCologne GmbH
26.Nov30.Nov
02.Dez06.Dez
08.Dez10.Dez
13.Dez15.Dez
17.Dez20.Dez
22.Dez24.Dez
28.Dez30.Dez
01.Jan04.Jan
06.Jan08.Jan
11.Jan13.Jan
15.Jan18.Jan
20.Jan22.Jan
25.Jan27.Jan
29.Jan
SMTP-Authoptional
Aktive Usermigriert
Sämtliche 500k Usermigriert
Cal
ls /
Tag
Anrufaufkommen Callcenter
comcenter.netcologne.de&
Horde -> OX Migration
26.5.2011 47Heinlein Mailserverkonferenz 2011
Christian Rohmann – NetCologne GmbH
Weitere Pläne
Open-XchangeUpsell (Kommerzielle Produkte)Groupware
Ersatz für Exchange / Lotus Notes (OLOX2)
Synchronisation (Adressbuch, Kalender)Soziale NetzwerkeOnline-Festplatte (Infostore)
Benuzer-individueller SpamfilterAntivirus
26.5.2011 49Heinlein Mailserverkonferenz 2011
Christian Rohmann – NetCologne GmbH
Wieso ...
hat NetCologne … ?hat NetCologne nicht … ?
26.5.2011 50Heinlein Mailserverkonferenz 2011
Christian Rohmann – NetCologne GmbH
Vielen Dank
Christian RohmannContent Delivery PlatformNetwork Engineering and Design
NetCologne GmbHAm Coloneum 950829 Köln
Vortag zum Download