Heinlein Mailserverkonferenz 2011 NetCologne … · nginx mit eigenem Auth-Modul Loadbalancing...

50
NetCologne Communication Center Austausch einer ISP Mail-Plattform - ohne downtime Heinlein Mailserverkonferenz 2011

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 5Heinlein Mailserverkonferenz 2011

Christian Rohmann – NetCologne GmbH

Warum?

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 12Heinlein Mailserverkonferenz 2011

Christian Rohmann – NetCologne GmbH

Was ?

26.5.2011 13Heinlein Mailserverkonferenz 2011

Christian Rohmann – NetCologne GmbH

Layers ...

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 28Heinlein Mailserverkonferenz 2011

Christian Rohmann – NetCologne GmbH

Wie?

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 46Heinlein Mailserverkonferenz 2011

Christian Rohmann – NetCologne GmbH

Was noch?

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 48Heinlein Mailserverkonferenz 2011

Christian Rohmann – NetCologne GmbH

Wieso ?

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