Exchange 2007 - Hub/Transport

Sowohl in der Exchange 4.0-5.x als auch unter Exchange 2000/2003 war es erforderlich, dass Sie als Administrator in einem größeren Verbund von Exchange Servern entsprechende Connectoren zur Verbindung von Standorten (Ex5.x) bzw. Routinggruppen (Exchange 2000/2003) einrichten mussten. Üblicherweise haben Sie die Connectoren entlang ihrer physikalischen Netzwerkverbindungen konfiguriert und die Bandbreite und Verfügbarkeit über die Kosten abgebildet.

Vielleicht haben Sie sich genau wie ich schon darüber gewundert, warum Microsoft uns diese Arbeit immer zweimal tun lässt. Denn analog zu den Einstellungen in Exchange musste auch der Administrator für das Active Directory seit Windows 2000 die verschiedenen Standorte mit Subnetzen pflegen und zwischen Standorten entsprechende Standortverbindungen konfigurieren. Faktische hat der Active Directory Administrator mit seinen Hilfsmitteln eine vergleichbare Konfiguration erstellt.

Bye Bye Routing Group Connectoren

Das ist dann doch auch bei Microsoft mal jemandem aufgefallen und das Ergebnis ist, dass mit Exchange 2007 sowohl die Routinggruppen als auch die Connectoren zur Verbindung von Routinggruppen ersatzlos entfallen. Exchange 2007 wird ganz einfach die Konfiguration aus den "Active Directory Standorten und Diensten" nutzen, um die Nachrichten zu anderen Servern in der Organisation zu übermitteln. Dies bedeutet aber auch, dass Sie nun wirklich dafür sorgen müssten, dass ihre Active Directory Konfiguration vollständig und korrekt ist, da ansonsten auch die Nachrichten zwischen den Servern eventuell über Umwege übertragen werden.

Gezielte Zustellung

Aber auch beim Routing selbst hat sich etwas geändert. Stellen Sie sich unter Exchange 2000/2003 drei Standorte vor, von denen Standort A mit Standort B und Standort B mit Standort C über Routinggruppenkonnectoren verbunden sind.

Sendet nun ein Anwender aus Standort A eine Mail an ein Postfach im Standort C, so wurde die Mails von A über B nach C übertragen. Natürlich hätte der Exchange Server in Standort A die Nachricht auch direkt zum Server in C senden können, wenn die WAN-Verbindung dies zugelassen hätte. Genau das versucht nun Exchange 2007.

Der Vorteil davon ist, dass diese Mail den Server in Standort B nicht mehr belastet und in diesem Fall trotzdem keine zusätzlichen Datenvolumen entstehen. Wenn natürlich der Anwender in A eine Mail an einen Benutzer in B und C sendet, oder die direkte Verbindung nicht möglich ist, sendet der Server in A die Mail über den Server B. In komplexeren Umgebungen versucht der absendende Exchange Server daher immer möglichst nahe an das Ziel zu kommen, was die Zustellungszeit verkürzt und Umwege und Belastungen anderer Server reduziert.

Exchange spielt Golf
Vielleicht eine kleine Eselsbrücke: Exchange versucht wie ein Golfspieler den Ball immer möglichst nahe an das Ziel zu bringen. Mit dem kleinen unterschied, dass Exchange im Idealfall immer ein "Hole in one" spielt und nur in wenigen Situationen Zwischenstationen einlegt.

Lokale Zustellung über die Bridgehead-Rolle

Das Routing geht aber noch weiter. Auch bei der Zustellung von einem Postfach zu einem anderen Postfach in der gleichen Datenbank wird immer wieder die Hub/Transport-Rolle benutzt. Das mag auf den ersten Blick nach Verschwendung aussehen, zumal auf einem Server mit Mailboxen nicht einmal die Hub/Transport-Rolle installiert sein muss. Der Hintergedanke dabei ist aber, dass eben jede Mail durch das Routing geht und an dieser Stelle dann die Richtlinien des unternehmens (Siehe Konformität) angewendet werden können.

Je nach ihrer Umgebung können Sie natürlich einfach auf dem Mailboxserver zusätzlich auch die Bridgehead-Rolle installieren, so dass eine lokale Zustellung zumindest nicht über das Netzwerk übertragen werden muss.

Durch diesen Kniff können aber verschiedene Programme, wie z.B. Archivlösungen, Virenscanner etc, jede Nachricht bei der Übertragung verarbeiten.

AntiSpam

Auch die Hub/Transport-Rolle  kann mit AntiSpam Funktionen ausgestattet werden. Dies ist z.B.: sinnvoll, wenn Sie in kleineren umgebunden keine Edge-Rolle installieren wollen.

install-antispamagents.ps1

Danach führt dieser Server ebenfalls die von IMF bekannten Filter etc. aus. Allerdings haben Sie dann nicht die Trennung von Datenverbindungen aus dem Internet von ihrem internen System.

Aber auch ohne diese Agenten hat Exchange 2007 einige Funktionen, die "manuelle Tippfehler" und einige inkompatible Mailserver aussperren könnte.

  • SMTP From
    So verlangt Exchange per Default erst einmal eine "vollständige " SMTP-Absenderadresse. Also einfache Versender mit einem "MAIL FROM: User" werden abgelehnt und müssen eine Domain mit angeben. Alternativ kann das Administrator natürlich eine "Default Domain" definieren
  • "Tippfehler"
    Gerade beim Mailversand per Telnet sind Tippfehler schnell passiert. Exchange 2007 "betraft" solches Verhalten mit einer 5 Sekunden Verzögerung und einen Abbruch der Verbindung nach zu vielen Fehleingaben.

Viele Antispam Funktionen sind aber nur auf der Edge-Rolle per Default installiert. Auf einem Hub/Transport Server kann man diese aber nachinstallieren:

Back Pressure

Eine weitere "neue" Funktion ist das Backpressing, welches der SMTP-Stack der Hub/Transport Rolle per Default implementiert hat: Wenn das System an bestimmte Grenzen stößt, dann wird der Mailverkehr gedrosselt. Damit schützt sich Exchange vor eine Überlast die das System gefährden könnte.

Niemand hat etwas davon, wenn ein Mailserver weiter Mails annimmt, wenn die Festplatte nahezu voll ist. Exchange 2007 drosselt bzw. beendet den Empfang, bis die Mangelsituation wieder entschärft ist. Dieses Verhalten erlaubt es, dass Versender z.B. auf Backup-Server ausweichen.

4 GB (aber SP1 ist es 500 MB)
Eine kritische Grenze ist z.B.: der freie Festplattenplatz. Ist dieser unter 4 GB auf dem Queue-Verzeichnis, dann drosselt Exchange 2007 schon. Das ist z.B. für Testsysteme wichtig, die in virtuellen Umgebungen laufen und oft kleine Festplatten haben.

Natürlich zeigt Exchange diese Bremse im Eventlog an. Sie sehen dort Warnungen und Fehler. Lassen Sie es aber nicht so weit kommen. Einer gute Serverüberwachung meldet schon früher, dass Ressourcen eng werden.

Sie können die Werte über Änderungen in der Datei "EdgeTransport.exe.config" entsprechend anpassen:

EdgeTransport Backpressing Einstellungen

Über den globalen Schalter "EnableResourceMonitoring" kann man die Überwachung komplett abschalten. Kontrollieren Sie einfach das Eventlog.

Event Type:     Warning
Event Source:   MSExchangeTransport
Event Category: ResourceManager 
Event ID:       15004 User:           N/A
Computer:       SRV01
Description:
Resource pressure increased from Normal to High.
 
Resource utilization of the following resources exceed the normal level:
Version buckets = 117 [High] [Normal=40 Medium=60 High=100]
 
Back pressure caused the following components to be disabled:
Inbound mail submission from Hub Transport servers
Inbound mail submission from the Internet
Mail submission from the Pickup directory
Mail submission from the Replay directory
Mail submission from Mailbox servers
Mail delivery to remote domains
 
The following resources are in the normal state:
Queue database and disk space ("C:\Program Files\Microsoft\Exchange Server\TransportRoles\data\Queue\mail.que") = 65% [Normal] [Normal=95% Medium=97% High=99%]
Queue database logging disk space ("C:\Program Files\Microsoft\Exchange Server\TransportRoles\data\Queue\") = 66% [Normal] [Normal=95% Medium=97% High=99%]
Private bytes = 5% [Normal] [Normal=71% Medium=73% High=75%]
Physical memory load = 83% [limit is 94% before message dehydration occurs.]
Event Type:     Information
Event Source:   MSExchangeTransport
Event Category: ResourceManager 
Event ID:       15005 User:           N/A
Computer:       SRV01
Description:
Resource pressure decreased from High to Normal.
 
No components were disabled because of back pressure.
The following resources are in the normal state:
Queue database and disk space ("C:\Program Files\Microsoft\Exchange Server\TransportRoles\data\Queue\mail.que") = 65% [Normal] [Normal=95% Medium=97% High=99%]
Queue database logging disk space ("C:\Program Files\Microsoft\Exchange Server\TransportRoles\data\Queue\") = 66% [Normal] [Normal=95% Medium=97% High=99%]
Version buckets = 1 [Normal] [Normal=40 Medium=60 High=100]
Private bytes = 5% [Normal] [Normal=71% Medium=73% High=75%]
Physical memory load = 83% [limit is 94% before message dehydration occurs.]

Migration

Die Änderung des Routing muss natürlich auch bei der Migration berücksichtigt werden. Bei der Installation des ersten Exchange 2007 Servers wird eine "besondere" Admingroup" und eine eigene Routinggroup erstellt, in der dann alle Exchange 2007 Server installiert werden. Das bedeutet natürlich, dass sie auch von den bisherigen Routinggruppen mindestens einen Connector einrichten müssen. Wenn Sie nun in einer etwas größeren Umgebung weitere Server auch in anderen Standorten installieren, dann sind diese aus Exchange 2000/2003-Sicht alle in der gleichen Routinggruppe. Das kann zu Problemen beim Routing führen.

Weitere Details hierzu finden Sie auf Migration 200x auf 2007

Programmieren

Mit der neuen Rolle und dem Wegfall des bisherigen SMTP-Servers ändert sich natürlich auch etwas hinsichtlich der Anpassung durch eigene Programme. So gibt es nun eine Transport-API, die ihnen einen umfangreichen Eingriff in die Übertragung von Nachrichten zulässt. Dies betrifft sogar Nachrichten einem Postfach in ein anderes Postfach in der gleichen Datenbank, da alle Nachrichten immer durch die Transport-Rolle gehen müssen: Hier ein Auszug aus der Online Hilfe

Ich hoffe in naher Zukunft hier einige Beispiele beisteuern zu können, die aktuell als SMTP-EventSink realisiert sind.

Weitere Links