Exchange 2010 Shadow Redundancy

Hallo zusammen,

Ich habe mir das Shadow Redundancy Feature von Exchange 2010 mal ein bisschen genauer angeschaut.

Shadow Redundancy ist ein SMTP Hochverfügbarkeits Feature. Ein Email wird erst aus der Shadow Queue gelöscht, wenn der nächste Server das Email versendet hat. Dabei werden die XSHADOW und XQDISCARD Befehle verwendet.

  1. Ein Email wird vom Hub an den Edge gesendet.
  2. Der Edge versendet das Email nach extern.
  3. Bei der nächsten Verbindung zwischen Hub und Edge wird der Mailversand bestätigt und die Shadow Queue auf dem Hub gelöscht.
  4. Oder der Edge gibt keine Antwort mehr somit versucht der Hub das Mail über einen anderen Edge zu versenden.

Mit dem Get-TransportConfig Cmdlet kann man prüfen ob ShadowRedundancyEnabled auf True gesetzt ist. Dies ist bei Exchange 2010 standardmässig der Fall. Leider funktioniert dies aber nur in einer reinen Exchange 2010 Umgebung. In einer mixed Umgebung ist der Wert von ShadowRedundancyEnabled zwar auf True gesetzt, jedoch wird Shadow Redundancy nicht genutzt.

Get-TransportConfig
Set-TransportConfig –ShadowRedundancyEnabled $true

Ob der SMTP Server Shadow Redundancy unterstützt kann man auch mit Telnet prüfen. Gibt der Server nach dem EHLO Kommando XSHADOW zurück.

Hier sehen wir die zusäzliche Shadow Queue im Einsatz.

Get-Queue
Get-Queue -Identity ICESRV03\Shadow\390 | Get-Message


Unterstützt der andere Mailserver XSHADOW wird beim Versand eines Mails dem Email eine XShadow ID vergeben.

Dazu habe ich das SMTP Protocol Logging mit folgendem Befehl aktiviert

Set-SendConnector -Identity {identity} -ProtocolLoggingLevel VERBOSE

Die Log sind dann in den folgenden Verzeichnissen zu finden:

%ExchangeInstallPath%\TransportRoles\Logs\ProtocolLog\SmtpReceive
%ExchangeInstallPath%\TransportRoles\Logs\ProtocolLog\SmtpSend

Bei der nächsten Verbindung meldet der Server mit dem Befehl XQDISCARD welche XSHADOW Mails, respektive deren ID's denn erfolgreich versendet worden sind.

Grüsse
Andres Bohren