Shadow Redundancy ist eine weitere Möglichkeit Hochverfügbarkeit für die Exchange 2010 Hub-Transport Server zu gewährleisten. Dabei ist die Funktionsweise recht einfach. Möchte ein Benutzer eine Mail verschicken, landet die Mail in einer Queue auf einen Hub Transport Server. Der Hub Transport Server baut dann eine SMTP Verbindung mit einem Edge Transport auf und schickt die Mail an den Edge Transport Server. Wenn der Hub Transport Server die Mail abgeschickt hat, löscht er nicht die Mail aus seiner Queue sondern verschiebt die Mail in eine Shadow Queue. Der Edge Transport Server wiederrum baut eine SMTP Verbindung mit dem nächsten Mail Server auf, das könnte zum Beispiel schon der Mail Server der Empfänger Mailbox sein und markiert die Mail mit dem Status „versendet“. Der Hub Transport Server fragt nach einer gewissen Zeit den Status der Mail in der Shadow Queue beim Edge Transport Server ab. Ist der Status der Mail versendet, löscht der Hub Transport Server die Mail aus seiner Shadow Queue.
If the mail from the Edge Transport Server has not marked the mail as sent, for example because it has failed, the Hub Transport Server either resends the mail to another Edge Transport Server or sends the mail directly.
Gesteuert wird dieser komplette Prozess vom „Shadow Redundancy Manager“. Die Ermittlung der Verfügbarkeit von Transport Server wird per Heartbeat durchgeführt. Um den Status einer Mail (discardStatus) abzurufen benutzt der Transport Server das SMTP Kommando XQUERYDISCARD. Woraufhin der Remote Server den discardStatus der Mails zurückgibt.
The configuration of ShadowRedundancy can only be done via shell. To switch Shadow Redundancy on or off, enter the following command in the Exchange Management Shell:
Set-TransportConfig -ShadowRedundancyEnabled $true
resp.
Set-TransportConfig -ShadowRedundancyEnabled $false
The following parameters are available for configuring Shadow Redundancy Heartbeat:
Set-TransportConfig –
ShadowHeartbeatRetryCount 3 –ShadowHeartbeatTimeoutInterval 300 –ShadowMessageAutoDiscardInterval 02:00:00
ShadowHeartbeatCount defines how often a server waits for a time-out before sending the message from the shadow queue again via a different route. The default value is 3 attempts.
ShdadowHeartbeatTimeOutInterval specifies the intervals at which the hearbeats occur; the default value is 300 seconds.
The ShadowMessageAutoDiscardinterval parameter defines how long a server waits before the mail is deleted from the queue, even if no server has queried the status of the mail. The default here is 2 days.