Exchange Server 2007 üzerinde bulunan Transport Dumpster özelliğinin geliştirilmiş versiyonu diyebiliriz. Malum cluster çalışan bir exchange server node larından biri kapansa bile pasif olan node hemen ayağa kalkıyor ve çalışmaya devam ediyordu. Burada eğer SCC kullanıyorsanız zaten mailbox lar SAN üzerinde durduğu için bir kayıp söz konusu olmuyordu. Ancak HUB lardan mailbox server lara iletilen maillerin ise kaybı söz konusu olmaktaydı . Yani örneğin bir hub veya birden çok HUB mailbox server olan ortamda bir HUB server aktif node ile konuşurken birden aktif node down olursa bu durumda kuyruktaki mailleri kaybetmiş oluyorduk . Exchange server 2007 de CCR yapısında buna çözüm olarak Hub sunucusu mailleri cluster mailbox database’ lerine iletirken belirli periyod değerlerine göre transport dumpster havuzunda tutuyordu. Bu sayede olası bir fail over da ayağa kalkan pasif olan node hemen buradan mailleri tekrar çekiyor . Tabiki bu işi kontrollü yaptığı için çift mail kayıtlarına rastlamıyoruz. Ancak dediğim gibi bu özellik exchange serve 2007 yapısında sadece CCR yapısında çalışmaktadır.
Exchange Server 2010 da ise bu yapı geliştirildi ve ismi shadow redundancy oldu .
Bu yapı aşağıdaki şekilde çalışır
Bir mapi client veya mobil client bir mesaj gönderir ve bu mesaj mailbox server üzerinde saklanır. Burada exchange server 2007 ile beraber gelen role mimarisi gereği mailin geldiğini mailbox server hub transport a bildirir ( submission servisi ) ve hub transport ta bunu kullanıcının giden kutusundan alarak ilgili hedefe iletir. ( yani mailbox server bu işi yapmaz exchange 2003 teki gibi )
Eğer alıcı aynı site içerisinde ise alıcı bu maili alır.
Eğer farklı site içerisinde ise , o site içerisindeki bir hub transport role e bu mail iletilir ve mailbox üzerinde store edilmesi sağlanır. Veya şekilde olduğu gibi mail dış bir domain e atılmış ise edge üzerinden dışarıya çıkar.
İşte bu özellik hub ve edge serverlar üzerinde çalışmaktadır. Bu sayede bir hub diğer bir hub veya edge role bir mail gönderirse bu mail in diğer bir hop yani diğer bir hub veya uzak bir mail server a iletildi bilgisi gelene kadar bu mail i silmez bu sayede bakım için veya beklenmeyen bir durumda dolayı kapanan hublarınızda mail kaybı yaşanmaz çünkü bir önceki hop olan bir önceki hub üzerinde bu mailler beklemede olacaktır.
sistem ise aşağıdaki adımlara göre çalışır
Hub server dan Edge e doğru bir smtp session oluştururlur.
Edge Shadow Redundancy desteklediği için bu bilgiyi Hub a iletir.
Hub Xshadow komutu ile cevap verir.
Ardından Hub mesajı Edge e gönderir ve Edge de bu mesajın Hub tarafından store edildiği yani shadow landığını bilir.
Hub ta aynı şekilde gönderdiği mail için bir cevap bekliyordur. Beklediği mesaj “discard status” mesajıdır ki bunu alana kadar shadow ladığı maili silmez.
Edge ise aldığı bu maili iletirken uzak sunucunun shadow redundancy destekleyip desteklemediği önemli değildir. Önemli olan Hub tan gelen mail Edge ‘ e iletilir ve Edge’ de bunu bir sonraki Hop a iletirse bu bilgiyi Hub a verir ve Hub da beklettiği daha doğrusu databse den silmediği maili siler.
Eğer Hub diğer bir Hub a iletiyor olsaydı ve bu ikinci Hub bir Edge e mail gönderiyor olsaydı bu durumda ikinci Hub ile Edge arasında da benzer bir trafik olacaktır.
Bu özelliği kullanmak için aşağıdaki komutu kullanabiliriz
Set-TransportConfig -ShadowRedundancyEnabled $true
Bu komut ile shadow özelliği açılır. Bu özellik açıldıktan sonra artık mailler varsayılan olarak 2 gün saklanacaktır. İsterseniz aşağıdaki komut ile bunu değiştirebilirsiniz
Set-TransportConfig -ShadowMessageAutoDiscardInterval 00:10:00