Exchange Server Migration Senaryoları
Exchange Server 2010 Kurulumu.. 4
Exchange Server Migration Senaryoları 10
Exchange Server 2007’ den Exchange Server 2010’ a Geçiş.. 10
Exchange Server 2010 to Exchange Server 2010 Sp3 (2 Node Dag ) 32
Exchange Server 2010 Sp3 to Exchange Server 2010 Sp3 3 Node Dag & Cas Array 64
Exchange Server 2010 Sp3 Cross Forest MIgratIon.. 95
Exchange Server 2010 SP3 to Exchange Server 2013.. 126
2. www.hasandimdik.com
2
Hasan Dimdik
İÇİNDEKİLER
HAKKIMDA ................................................................................................................................................. 3
EXCHANGE SERVER 2010 KURULUMU .......................................................................................... 4
EXCHANGE SERVER MİGRATİON SENARYOLARI .............................................................................................. 10
EXCHANGE SERVER 2007’ DEN EXCHANGE SERVER 2010’ A GEÇİŞ ........................... 10
EXCHANGE SERVER 2010 TO EXCHANGE SERVER 2010 SP3 (2 NODE DAG ) .................................................... 32
EXCHANGE SERVER 2010 SP3 TO EXCHANGE SERVER 2010 SP3 3 NODE DAG & CAS ARRAY .............................................................................................................................................. 64
EXCHANGE SERVER 2010 SP3 CROSS FOREST MIGRATION ............................................ 95
EXCHANGE SERVER 2010 SP3 TO EXCHANGE SERVER 2013 ........................................ 126
3. www.hasandimdik.com
3
Hasan Dimdik
HAKKIMDA
3 yıldır Bilişim sektörünün içerisindeyim. Kendimi Active Directory ve Exchange Server üzerinde geliştirmeye çalışıyorum. Lefke Avrupa Üniversitesi Bilgisayar Programcılığı bölümü ve Eskişehir Anadolu Üniversitesi Açık Öğretim İşletme Fakültesi Mezunuyum BilgeAdam İzmir Şubesinde Sistem Yönetimleri üzerine eğitim aldım ve 2 yıldır Özel bir şirkette Microsoft Platformlarında Sistem Admini olarak görev yapıyorum. Aynı zamanda Windows Server 2012 Mcp, Mcsa, Ms ve TQM (Total Quality Management) Sertifikalarına sahibim. Turkish Avengers Team - Turkish Community Council üyesiyim ve aynı zamanda bilgi ve becerilerimi elimden geldiğince mshowto ailesi içerisinde paylaşıyorum. Hakkımda daha detaylı bilgi için www.hasandimdik.com sitesini inceleyebilirsiniz.
4. www.hasandimdik.com
4
Hasan Dimdik
EXCHANGE SERVER 2010 KURULUMU
Not: Konumuz Exchange Kurulumu olmadığı için kurulum aşamasının her bölümlerini almadım sadece önemli kısımlar yer almaktadır.
Eğer Exchange Server Rollerini Farklı sunucular üzerinde Kuracaksanız 1. Client Access Server rolü 2. Hub Transport Server rolü 3. Unified Messaging Server rolü (opsiyonel) 4. Mailbox Server rolü 5. Edge Server rolü (opsiyonel) sıralaması şeklinde kurmalısınız.
Client Access Server için dış domain ayarlarını yapılandırıyoruz.
5. www.hasandimdik.com
5
Hasan Dimdik
Evet diğer adıma geldiğimizde küçük bir problem ile karşılaşıyoruz, zaten ön gereksinimi okuduğunuzda sebebini anlıyorsunuz. Bize NET.Tcp Port Sharing Servisinin otomatik olarak başlatılması gerektiğini söylüyor.
7. www.hasandimdik.com
7
Hasan Dimdik
Daha sonra kahvemizi alıyoruz ve kurulumun tamamlanmasını bekliyoruz. Görüldüğü gibi HUB ve CAS kurulunu tamamladık. Şimdi sıra geldi Mailbox rolüne sahip sunucumuzu kuruluma hazır hale getirmeye.
Bunun için olarak Mailbox rolünü kuracağımız sunucuya Exchange 2010 medyamızı takıyoruz ve cmd komut satırında Scripts geliyoruz. Sadece Mailbox Rolünü kuracağımız için;
Servermanagercmd –ip Exchange-MBX.xml komutunu çalıştırıyoruz ve gerekli özelliklerin kurulmasını sağlıyoruz. (Daha sonra sunucumuzu restart ediyoruz)
8. www.hasandimdik.com
8
Hasan Dimdik
Sunucumuzu restart ettikten sonra sadece Mailbox rolünü kuracağımız için ilgili kutucuğu işaretleyip devam ediyoruz.
Ön gereksinimde gördüğünüz üzere warning aldık bu durumu düzeltmek için;
http://www.microsoft.com/en-us/download/details.aspx?id=17062 linkinden Filter Pack kurulumunu yapıyoruz.
10. www.hasandimdik.com
10
Hasan Dimdik
EXCHANGE SERVER MİGRATİON SENARYOLARI
İlk senaryomuzda yapımızın kaynak sıkıntısından dolayı Domain Controller ve Exchange Server 2007 Sunucusunun aynı sunucuda olduğu varsayılmıştır ve yönetimimizin aldığı karar doğrultusunda yapımızın Exchange Server 2010 ‘a geçilmesi istenmiştir. Bu şekilde hiç önerilmeyen DC-Exchange sunucu bir arada olması riskini de ortadan kaldırmış olacağız. İlk senaryomuz aşağıdaki diagramda gözükmektedir.
EXCHANGE SERVER 2007’ DEN EXCHANGE SERVER 2010’ A GEÇİŞ
Exchange Server 2007’ den Exchange Server 2010’ a Migration Ön Gereksinimler
Exchange Server 2007 SP2 Versiyonu Olmalıdır.
Exchange Server 2010 Tarafında ise;
11. www.hasandimdik.com
11
Hasan Dimdik
Windows Server 2008 Sp2, Windows Server 2008 R2 veya Windows Server 2012 İşletim Sistemleri
X64 Versiyonu
Dag Yapısı Kullanılacak ise Windows Server 2008 Enterprise veya Windows Server 2008 R2 Enterprise olmalıdır
Minimum 4Gb Ram olmalıdır
Yapınızdaki Bütün Domain Controller Minimum Windows Server 2003 Sp2 Olmalıdır.
Forest ve Domain Seviyeleri Windows Server 2003 olmalıdır.
Ayrıca;
Exchange 2010 SP1 kurmak için Windows Server 2008 SP2’ye gereken güncellemeler
KB977624 - http://support.microsoft.com/?kbid=977624
KB979744 - http://support.microsoft.com/?kbid=979744
KB979917 - http://support.microsoft.com/?kbid=979917
KB973136 - http://support.microsoft.com/?kbid=973136
KB977592 - http://support.microsoft.com/?kbid=977592
Filter Pack Kurulumu için;
http://www.microsoft.com/en-us/download/details.aspx?id=17062
Son olarak ise Geçiş işlemine başlamadan önce incelemenizde faydası olacağını düşündüğüm linki sizlerle de paylaştıktan sonra adımlarımıza başlayabiliriz.
http://technet.microsoft.com/en-us/library/dd638158(v=exchg.141).aspx
Exchange 2010 Medyamızı, Exchange Server 2007 Sp2 olan sunucumuza takıyoruz ve Active Directory ortamımızı hazır hale getiriyoruz. Bunun için şu komutları çalıştırmalıyız;
Setup / preparelegacyexchangepermissions :Yapımızda Exchange 2007 olduğu için (bir önceki versiyon ) bu komutu çalıştırıyoruz.
12. www.hasandimdik.com
12
Hasan Dimdik
Setup /prepareschema : Schema mızı Exchange Server 2010 için hazırlamak için bu komutu kullanıyoruz.
Setup /preparead: Bu komut ile Active Directory içerisinde Exchange Universal Security grupları oluşturulur, Global Exchange nesneleri hazırlanmış olur.
13. www.hasandimdik.com
13
Hasan Dimdik
Setup /preparedomain : Exchange Sunucularımız için Global Grup oluşturulur.
Bu adımları uyguladıktan sonra Exchange Server 2010 kuracağımız sunucuda çalıştırmamız gereken ve hali hazırda Exchange Server medyası ile gelen bir script çalıştırıyoruz. Medyamız içerisinde bulununan script klasörü içerisindeyken;
Servermanagercmd –ip Exchange –ALL.xml yapınıza ( Cas-Hub-Mbx-UM) kuracaksanız komutu kullanmanız yeterlidir.
Servermanagercmd –ip Exchange –Typical.xml yapınıza ( Cas-Hub-Mbx) kuracaksanız komutu kullanmanız yeterlidir.
Servermanagercmd –ip Exchange –Hub.xml yapınıza ( Hub) kuracaksanız komutu kullanmanız yeterlidir.
14. www.hasandimdik.com
14
Hasan Dimdik
Servermanagercmd –ip Exchange –MBX.xml yapınıza ( Mbx) kuracaksanız komutu kullanmanız yeterlidir.
Servermanagercmd –ip Exchange –CAS.xml yapınıza ( Cas) kuracaksanız komutu kullanmanız yeterlidir.
Kurulumdan sonra sunucumuzu yeniden başlatıyoruz.
Exchange Server Kurulumunu birinci bölümde anlattığım için bu adımları geçiyorum ve migration aşamasına başlıyoruz.
1) Migration aşamasından önce Backup Aldınız mı?
2) Test amaçlı organizasyon içerisine ve dışarısına mail atıp aldınız mı?
15. www.hasandimdik.com
15
Hasan Dimdik
3) Logları kontrol ettiniz mi?
4) Yeni kullanıcı açıp sildiniz mi?
5) Güvenlik Duvarında herhangi bir engelleme var mı?
6) Yukarıdaki adımları kesinlikle zaman kayıbı olarak düşünmeyiniz, bazen 2 saatlik zaman kaybı aslında tüm günü kurtarabiliyor.
7) Unutmayınız yaptığım uygulama tamamen lab ortamı. Gerçek ortamda en basit olarak gördüğünüz adım kâbusunuz olabilir.
Artık başlayabiliriz. Sırası ile;
1. Mailbox
2. Public Folder
3. Offline Address Book taşıyoruz.
4. Son olarak da Hub Transport’ u yeni sunucumuza yönlendireceğiz.
User1 isimli kullanıcım ile test amaçlı mailimi atıyorum ve sorunsuz olarak ulaştığını görüyorum ve yukarıdaki adımları yaptığınızı varsayıyorum.
16. www.hasandimdik.com
16
Hasan Dimdik
Bu adımda Browse ile hangi sunucu üzerine taşıyacağımı belirtiyorum.(Diğer bölümlerde buraya nereden geldiğimizi göreceksiniz )
Bu adımda karşımıza iki seçenek çıkıyor benim yapımda mailboxlarda sorun olmadığı için Skip the mailbox seçiyorum, yani taşıma esnasında herhangi bir problem olursa bunu atla demiş oluyorum fakat gerçek yapılarda bu adım önem kazanıyor. Eğer hatalı mailbox olduğunu düşünüyorsanız ona göre aksiyon almanız gerekebilir.
18. www.hasandimdik.com
18
Hasan Dimdik
Mailboxların taşınıp taşınmadığını kontrol etmek için Exchange Powershell ile Get-Move Request komutunu çalıştırarak görebiliriz.
Taşıma işlemini gerçekleştirdikten sonra yapınızda Public Folder var ise bunların taşınmasını gerçekleştiriyoruz. Bunun için ilk olarak yeni kurmuş olduğumuz Exchange Server 2010 sunucumuz üzerinde Public Folder oluşturuyoruz.
19. www.hasandimdik.com
19
Hasan Dimdik
Sonraki adımda ise Exchange Server 2007 kurulu olan sunucuma gitmek. Toolbox > Public Folder Management Console açıyoruz
Bu adımda Exchange Server 2007 sunucumuz üzerinde oluşturduğumuz Public Folder görebiliyirouz. Yeni sunucuya taşıma işlemini gerçekleştirmek için BilgiIslem > Properties açıyoruz Replication içerisinde Replicate content to these public stores > Add diyoruz ve Exchange Server 2010 tarafında oluşturduğumuz public2010 buraya ekliyoruz.
20. www.hasandimdik.com
20
Hasan Dimdik
Daha sonra ise Use public folder database replication schedule : Always Run olarak ayarlıyoruz.
21. www.hasandimdik.com
21
Hasan Dimdik
Exchange Server 2010 sunucumuz üzerinde Toolbox > Public Folder Management Console açıyoruz. Default Public Folders altına BilgiIslem geldiğini görüyoruz..
Bu adımda Exchange Server 2010 Powershell açıyoruz ve C:Program FilesMicrosoftExchange ServerV14Scripts dizinine geliyoruz.
.AddReplicationToPFRecursive.ps1 –TopPublicFolder “” –ServerToAdd “exc2010.hasan.local” ( Public Folder ı Replika olarak eklemek için kullanıyoruz )
22. www.hasandimdik.com
22
Hasan Dimdik
Update-PublicFolderHierarchy –Server “exc2010.hasan.local” ( bu komut ile exchange server 2010 içerisinde yer alan public folderları güncellemiş oluruz )
.MoveAllReplicas.ps1 –Server “exc2007.hasan.local” –NewServer “exchasan.local” ( Bu komut ile replikasyonu yaptığımız sunucular içerisindeki tüm verileri yeni sunucuya taşımamıza yardımcı olur)
Bu adımlardan sonra Exchange 2007 sunucumuz üzerinden replikasyonu kaldırıyoruz.
Daha sonra ise test amaçlı Exchange Server 2007 üzerinde yer alan Public Folder disable konuma getirip kontrol ediyoruz. Gördüğünüz gibi sağlıklı bir şekilde taşıma işlemini
23. www.hasandimdik.com
23
Hasan Dimdik
gerçekleştirdik. Public Folder taşımada en önemli nokta Replikasyonun tamamlanması için 1 veya 2 gün beklenilmesidir. Bu yapının büyüklüğüne göre değişkenlik gösterecektir. Ayrıca taşıma işlemi sırasında Logları izleyerek taşıma işlemini takip edebilirsiniz.
Bir sonraki adımda ise Offline Addres Book taşıma işlemini gerçekleştireceğiz. Exchange Server 2010 üzerinde Mailbox > Offline Address Book geliyoruz. Offline Addres Book üzerinde sağ tıklayıp Move ile taşıma işlemini gerçekleştiriyoruz.
24. www.hasandimdik.com
24
Hasan Dimdik
Taşıyacağımız sunucuyu seçiyoruz.
Evet kontrolümüzü yapıyoruz ve başarılı şekilde taşıma işlemi tamamlandı. Offline Address Book taşıma işlemininde sağlıklı bir şekilde tamamlanması için taşıma işleminden sonra yaklaşık 1 veya 2 gün beklemeniz gerekmektedir.
25. www.hasandimdik.com
25
Hasan Dimdik
Diğer adımımız ise yeni sunucumuz üzerinde send connector oluşturmak. Aşağıda gördüğünüz üzere internet isimli Exchange 2007 sunucuma ait olan send connector mevcut, Exchange Server 2010 üzerinde internetexc2010 isimli yeni send connector oluşturdum.
Server Configuration > Client Access geliyoruz ve owa üzerindeki External URL yeni yapımıza göre düzenliyoruz.
Server Configuration > Hub Transport Receive Connectorler üzerinde dışarıdan mail alabilmek için gerekli olan ayarları düzenliyoruz.
26. www.hasandimdik.com
26
Hasan Dimdik
İşlemlerimi yaptıktan sonra son olarak ise DNS üzerinde MX kaydımı yeni sunucumu gösterecek şekilde düzenliyorum. Daha sonra ise Exchange 2007 ortamdan kaldırıyoruz. Ama Gördüğünüz gibi bazı hatalar alıyorum.
28. www.hasandimdik.com
28
Hasan Dimdik
Hemen eski sunucuma ait olan Send connector ümü siliyorum bu şekilde Hub Transport üzerinde almış olduğum hata giderilmiş olacak.
29. www.hasandimdik.com
29
Hasan Dimdik
Public folder kaldırmak istediğimde izin vermiyor.
Public Folder Kaldırmak İçin;
Get-PublicFolder –Recurse –ResultSize:Unlimited |Remove-PublicFolder – Recurse -ErrorAction:SilentlyContinue komutunu yazdıktan sonra A ile onaylıyoruz
30. www.hasandimdik.com
30
Hasan Dimdik
Get-PublicFolder Non_Ipm_Subtree –Recurse –Resultsize:Unlimited |Remove-PublicFolder –Recurse –ErrorAction:SilentlyContinue A ile onaylıyoruz .
Daha sonra silmeyi tekrar deniyoruz. Sanırım bu sefer başarabildik.
32. www.hasandimdik.com
32
Hasan Dimdik
EXCHANGE SERVER 2010 TO EXCHANGE SERVER 2010 SP3 (2 NODE DAG )
Bu bölümümüzde aşağıdaki şekilde görebileceğiniz gibi sol taraftaki yapımız hali hazırda sistemimizin çalışmış olduğu yapı; amacımız ise Exchange Server 2010 2 Node Dag olan yapımızı Exchange Server 2010 Sp3 olan 2 Node Dag mevcut olan yapıya geçirmek. Gördüğünüz gibi Domain Controller ile Hub-Cas sunucumuz aynı fiziksel sunucuda, tavsiye edilmeyen bir yapı. Migration işlemimizden sonra daha sağlıklı bir yapıya da geçmiş olacağız.
Aşağıda mailbox database leri görebiliyorsunuz. Pcdestek, rektörlük, ifkpcdestek, sekreterlik DAG ortamında olduğunu görebiliyorsunuz.
33. www.hasandimdik.com
33
Hasan Dimdik
Ayrıca mail alışverişini sağlıklı çalışıyor mu diye gerekli testleri yapıyoruz. Logları da incelemenizde fayda var. Sıkıntı olmadığını gördükten sonra işlemlerimize başlayabiliriz.
34. www.hasandimdik.com
34
Hasan Dimdik
İlk olarak yapımıza yeni Exchange rollerini yüklemek olacak ve Cas-Hub Rolünü üstlenecek sunucumda gerekli ön gereksinimleri yüklemek için bir komut çalıştırıyorum;
Servermanagercmd –ip Exchange-typical.xml ( Medyamız sunucumuza takılı olmalı ve scripts klasörü içerisinde komutu çalıştırıyoruz ) daha sonra sunucumuzu restart ediyoruz.
Sunucumuzu restart ettikten sonra kurmak isteğim Rolleri burada seçiyorum.
35. www.hasandimdik.com
35
Hasan Dimdik
Client Access Server için dış domain ayarlarını yapılandırıyoruz.(İleride bunu değiştireceğiz)
36. www.hasandimdik.com
36
Hasan Dimdik
Kurulum başarılı bir şekilde tamamlandı. ( Bütün adımlardan bahsetmedim zaten E-book içerisinde önceki bölümde bu konuya yer vermiştim. )
37. www.hasandimdik.com
37
Hasan Dimdik
Bir sonraki adımımız ise Mailbox Rolünü kurmak olacak. Bunun için de ilk olarak mailbox sunucusunun ön gereksinimlerini yerine getiriyoruz. Yukarıdaki adımda zaten bahsetmiştik. Kurulum aşamasında sadece Mailbox Role seçiyoruz (Diğer sunucumuz içinde aynı işlemi yapıyoruz) .
38. www.hasandimdik.com
38
Hasan Dimdik
Kurulum tamamlandıktan sonraki hali aşağıda görülmektedir.
Dag yapımızı oluşturacağımız için witness klasörümüzü oluşturdum, Ben uygulamamda File Share Witness için witnessdag ismini verdim.
39. www.hasandimdik.com
39
Hasan Dimdik
Yukarıda bahsetmedim şimdi yeri gelmişken bahsedelim. Dag memberlar için ikinci Ethernet ekledim ve aşağıdaki iki adımı, her iki mailbox rolüne sahip sunucuda yaptım.
İlk olarak Register this connection’s address in DNS aktif olmayacak.
Aynı zamanda WINS sekmesi altındaki Enable LMHOSTS lookup kutucuğu işaretlisi ise işareti kaldırıyoruz. NETBIOS settings altında yer alan Disable NetBIOS over TCP/IP seçiyoruz.
40. www.hasandimdik.com
40
Hasan Dimdik
BuiltinLocal Administrators grubuna Exchange Trusted Subsystem ekliyoruz (witness server olacak sunucu üzerinde)
Daha sonraki aşamada ise DAG oluşturuyoruz bunun için;
New-DatabaseAvailabilityGroup –name newdag –WitnessServer exc2010yeni – WitnessDirectory c:witnessdag –DatabaseAvailabilityGroupAddresses 192.168.1.50
Burada dikkat etmemiz gereken nokta ise -DatabaseAvailabilityGroupAddresses internal ağımızdan verilmesi gerekmektedir ve tahmin ettiğiniz üzere ileride ağda başka cihaz tarafından kullanılmaması gerekmektedir.
41. www.hasandimdik.com
41
Hasan Dimdik
Aşağıda gördüğünüz gibi newdag ismi ile başarılı bir şekilde oluştu. Daghd01 ise eski sunucumda yer alan dag ismim.
Bu adımda Dag için node ları Add ile ekliyoruz.
44. www.hasandimdik.com
44
Hasan Dimdik
Bir sonraki aşamada ise Database kopyalarımızı oluşturuyoruz.
Bunun için ilgili database ler üzerinde tek tek Add Mailbox Database Copy ile database lerimizi kopyalama işlemimizi yapıyoruz.
46. www.hasandimdik.com
46
Hasan Dimdik
Son durum aşağıda görülmektedir. Bu bölüme kadar sunucumuzu kurduk Dag yapımızı oluşturduk. Artık Migration işlemine başlayabiliriz.
İlk olarak mailboxları taşıyoruz. Recipient Configuration altında yer alan Mailbox seçiyoruz. Daha sonra taşımak istediğimiz mailboxları seçip New Local Move Request ile taşıyoruz.
Taşımak istediğiniz yeni database seçiyoruz.
47. www.hasandimdik.com
47
Hasan Dimdik
Daha sonra ise taşıma işlemini izlemek için Exchange 2010 Powershell komut satırında Get-moveRequest ile taşıma işleminin durumunu gözetliyoruz.
Daha sonraki aşamada Offline address book taşıyoruz. OAB taşınma işlemini Exchange 2007 migration aşamasında detaylı şekilde incelemiştik. Tekrar hatırlatma amaçlı söyleyelim. Taşıma işleminden sonra yaklaşık olarak 1 gün beklenmesi gerekmektedir. Taşıma işlemi için Organization Configuration > Mailbox ve Offline Address Book açıyoruz. İlgili klasör üstünde Move ile taşıma işlemini başlatıyoruz.
48. www.hasandimdik.com
48
Hasan Dimdik
Offline Address Book Generation Server > Browse seçeneği ile yeni sunucumu gösteriyorum.
Bir sonraki aşamada ise dış dünyaya mail atabilmek için send connector oluşturmam gerekiyor. Organization Configuration > Hub Transport sekmesinde send connector oluşturuyorum.
51. www.hasandimdik.com
51
Hasan Dimdik
Son olarak ise kontrol amaçlı maillerime bakıyorum ve sorunsuz bir şekilde taşıma işleminin gerçekleştirildiğini görüyorum. Ben farkı görmemiz açısından ayarlarımı yapılandırırken mail2.hasan.local olarak yapılandırmıştım. Şimdi ise kullanıcılarımızın kafası karışmaması için eski haline döndürelim yani hizmete mail.hasan.local üzerinden devam edelim.
52. www.hasandimdik.com
52
Hasan Dimdik
İlk olarak eski sertifikanız var ise export ve import işlemi ile yeni sunucumuza alıyoruz ve assign işlemini yapıyoruz. Daha sonra ise Server Configuration > Client Access içerisinde Outlook Web App içerisindeki owa >Properties açıyoruz.
53. www.hasandimdik.com
53
Hasan Dimdik
External URL kısmında gördüğünüz gibi https://mail2.hasan.local yazıyor. Bunu https://mail.hasan.local olarak değiştiriyoruz.
Aynı yerde bulunan Ecp panelini açıyoruz ve aynı işlemi burada da yapıyoruz.
54. www.hasandimdik.com
54
Hasan Dimdik
Şimdi ise DNS üzerinde yeni sunucumuzu gösteriyoruz. Aşağıda gördüğünüz gibi yeni sunucumu gösteriyorum.
55. www.hasandimdik.com
55
Hasan Dimdik
Tekrar kontrollerimiz yapıyoruz ve https://mail.hasan.local üzerinden sertifika hatası almadan bağlanabiliyoruz.
56. www.hasandimdik.com
56
Hasan Dimdik
İşlemlerimiz bittikten sonra artık eski sunucularımı yapımızdan kaldırıyoruz. İlk olarak kaldırma işlemimi yapabilmem için arbitration mailbox ve dag yapımızı kaldırmamız gerekiyor. Aşağıda silmeye çalıştığımızda hata alıyoruz. Bu hataları gidermek için; dag yapısını kaldırmalıyız, eğer arbitration ve archive mailboxlar varsa migrate etmeliyiz veya disable etmeliyiz.
Hemen bir bakalım. Exchange Server 2010 Powershell açıyoruz ve Get-Mailbox – Arbitration komutunu giriyoruz. Kontrolümüzü yaptıktan sonra taşıma işlemine geçiyoruz.
Get-Mailbox –database “Mailbox Database 2048944261” –Arbitration | New- MoveRequest –TargetDatabase “Mailbox Database 0243509240” İşlem bittikten sonra tekrar kontrolümüzü yapalım.
57. www.hasandimdik.com
57
Hasan Dimdik
Aşağıda gördüğünüz gibi taşıma işlemini başarılı bir şekilde yapmış oldum.
Hala hata alıyorum, bu hatayı da giderelim.
58. www.hasandimdik.com
58
Hasan Dimdik
Arşiv mailboxlarımızı taşıyalım. Bunun için
Get-Mailbox –Archive | New-MoveRequest –ArchiveTargetDatabase “Mailbox Database 0398144478” –Archiveonly. Daha sonra varsayılan database silebiliyoruz.
59. www.hasandimdik.com
59
Hasan Dimdik
İlk yapmamız gereken ise Dag içerisinde yer alan mailbox database kopyalarını silmek.(Her biri için tek tek yapıyoruz)
Remove-DatabaseAvailabilityGroupServer –identity daghd01 –MailboxServer dag2 komutu ile dag2 sunucumuzu Dag üzerinden siliyoruz. Aynı işlemi dag1 içinde yapıyoruz.
Remove-DatabaseAvailabilityGroup –Identity dagh01 –Confirm:$false ile Dag objemizi kaldırıyoruz.
60. www.hasandimdik.com
60
Hasan Dimdik
Daha sonra tekrar denediğimizde başarılı bir şekilde kaldırma işlemini gerçekleştiriyoruz.
Aynı şekilde Mailbox rolüne sahip Exchange Server 2010 sunucularımızı da kaldırıyoruz.
61. www.hasandimdik.com
61
Hasan Dimdik
Yeni sunucumuzu kontrol ettiğimizde artık yeni yapımızdan devam ettiğimizi görüyoruz.
62. www.hasandimdik.com
62
Hasan Dimdik
Test amaçlı mailimizi de atalım.
Başarılı şekilde taşıma işlemini gerçekleştirmiş olduk. Yapımızın son durumu aşağıdaki diagramda gösterilmiştir.
64. www.hasandimdik.com
64
Hasan Dimdik
EXCHANGE SERVER 2010 SP3 TO EXCHANGE SERVER 2010 SP3 3 NODE DAG & CAS ARRAY
Bu bölümümüzde farklı bir senaryoyu yapmaya çalışacağız. Kısaca yapımızı açıklamamız gerekirse Domain Controller üzerine kurulmuş olan Exchange Server 2010 Sp3 kurulu sunucumuz mevcut. Taşıyacağımız yapıda ise 2 adet Hub/Cas ve 3 adet mailbox rolü kurulu sunucumuz olacak. Hub/Cas sunucularımız Casarray yapısı altında olacak ve aynı zamanda 3 node dag yapılandıracağız, daha sonra varolan yapımızı taşıyacağız.
Aşağıda mailbox database yapımı görüyorsunuz. Bir tanesi eski sunucuda olmak ile beraber yeni yapım için de 3 farklı sunucu üzerinde mailbox rolü kurdum.
65. www.hasandimdik.com
65
Hasan Dimdik
Aşağıdaki resimde ise eski yapım üzerinde hub/cas/mbx kurulu olduğunu görüyorsunuz ve aynı zamanda yeni yapım için 2 farklı sunucu üzerinde Hub/Cas Kurulu olduğunu görmektesiniz. Genel olarak yapımız bu şekilde.
Not: Bu bölüm kurulum adımlarını içermemektedir.
Adımlarımıza başlamadan önce neden bu kadar sunucu neden böyle bir yapıyı yapalım sorusu aklınıza gelebilir. Diğer yapılara göre biraz daha maliyet yükü getirmektedir. Fakat biz Bilgi İşlem çalışanları olarak en önemli görevimiz sistem down time olarak ve veri kaybı olarak minimum seviyeye çekmektir Bu sebep ile böyle yapılara ihtiyaç duyuyoruz. Cas Array dan kısaca bahsetmeden de işlemlere başlamak istemiyorum. Client Access Server rolü bildiğiniz üzere Public Folder Hariç mesajlaşma yapımıza gelen tüm istekleri(çağrıları) karşılamaktadır. Cas Array neden ihtiyaç duyarız aslında burada cevabını buluyor kısaca değinmek gerekirse, yapınızdaki Cas Server başına bir şey geldiğinde ikincisi üzerinden mesajlaşmanın devam ettirilebilmesidir ve aynı zamanda yük dengelemesi yapılmak istenmesinden dolayıdır.
67. www.hasandimdik.com
67
Hasan Dimdik
Soru : İlk dag mı yapılandırmalıyım veya Cas Array yapısını mı oluşturmalıyım?
Cevap : Cas Array yapısını ilk oluşturmalıyız.
İlk olarak DNS kayıtlarına array için ip atamalıyız.(iç networkden) Benim yapımda array.hasan.local ve 192.168.1.100 ip si boş olduğu için kullandım.
68. www.hasandimdik.com
68
Hasan Dimdik
Daha sonra ise Cas/Hub sunucularımız üzerinde Network Load Balancing özelliğini kuruyoruz. (Server manager – Features )Kurulum bittikten sonra New Cluster ile Cas sunucularımız için cluster yapısı oluşturuyoruz.
69. www.hasandimdik.com
69
Hasan Dimdik
Host bölümüne Network Load Balancing özelliğini kurduğumuz Cas sunucumuzu gösteriyoruz.
70. www.hasandimdik.com
70
Hasan Dimdik
Bu adımda herhangi değişiklik yapmamıza gerek yok. İsterseniz Edit ile daha detaylı ayarları yapılandırabilirsiniz.
71. www.hasandimdik.com
71
Hasan Dimdik
Burada Cluster Ip sini belirtiyoruz. İlk adımlarımıza bakarsanız array için 192.168.1.100 vermiştik. (Dns üzerinde array.hasan.local için verdiğimiz ip)
Vermiş olduğumuz ip adresini bu adımda görüyoruz Full Internet Name kısmına ise mail.hasan.local yazıyorum (Dış dünyaya bakan ismimiz) Cluster Operation Mode ise tek ethernetim olduğu için Multicast seçiyorum.
73. www.hasandimdik.com
73
Hasan Dimdik
Add Host to Cluster ile diğer hostu da dahil ediyoruz.(İlk adımlarla aynı olduğu için tekrar göstermiyorum)
Son durum aşağıdaki şekilde görüldüğü gibidir.
74. www.hasandimdik.com
74
Hasan Dimdik
Sıra geldi Client Access Array oluşturmaya. Bunun için;
New-ClientAccessArray –Fqdn “array.hasan.local” –site “Default-First-Site- Name” komutunu çalıştırıyoruz. Daha sonra ise Get-ClientAccessArray komutu ile oluşan Array yapımızı görüyoruz.
Not: Site bilginizi Active Directory Site and Service’ den öğrenebilirsiniz.
RpcClientAccessServer tanımlamasını yapıyoruz. Bunun için;
Set-MailboxDatabase –RpcClientAccessServer “array.hasan.local” komutunu giriyoruz . Bu komut ile mailbox Database için RpcClientAccessServer tanımlaması
75. www.hasandimdik.com
75
Hasan Dimdik
yapmış oluyoruz.(Bütün mailboxlar için uyguluyoruz) ve bu adımla birlikte casarray yapısını tamamlanmış oluyoruz. Sıra geldi Dag yapımızı oluşturmaya.
Her database içerisinde RpcClientAccessServer değeri bulunur bu değer ne işe yarar? O database ‘ i kullanan kullanıcıların hangi adres üzerinden bağlanacağını gösterir. Aşağıdaki komut yardımı ile bunu görebilirsiniz.
Get-Mailboxdatabase “pcdestek” |fl rpc*
Bu işlemi başarı ile tamamladıktan sonra Dag yapımızı oluşturmaya başlayabiliriz.
Bir önceki bölümde komut satırı ile nasıl yapılandıracağımızı gördük şimdi ise arayüzden nasıl yapacağımıza bakalım. Database availability group name DagDimdik ismini veriyorum ve fark ettiyseniz bir önceki bölümden farklı olarak Witness Server ve Witness Directory göstermedim.(Çift haneli node lar için gerekmektedir) Sunucum otomatik olarak zaten Mailbox rolü kurulu olmayan sunucuyu kendi seçecektir.
76. www.hasandimdik.com
76
Hasan Dimdik
Şimdi ise oluşturduğumuz dag için iç network den bir ip atıyoruz. Bunun için Organization Configuration > Mailbox > Database Avalability Groups > DagDimdik > Properties açıyoruz.
77. www.hasandimdik.com
77
Hasan Dimdik
Ip Adress sekmesinde Add ile Dag için ip belirtiyoruz.
Bu adımımızda Manage Database Availability Group Membership seçeneği ile node ları Dag’ a üye olarak ekliyoruz.
78. www.hasandimdik.com
78
Hasan Dimdik
Aşağıda görüldüğü gibi Add ile MBX1,MBX2 ve MBX3 ekliyoruz ve manage ile işlemi bitiriyoruz.
79. www.hasandimdik.com
79
Hasan Dimdik
Aşağıda geldiğimiz son durumu görüyorsunuz. Replikasyon için 10.10.10.x ve MAPI Network için 192.168.1.x kullanıyoruz.
DagDimdik isimli HostA kaydı otomatik olarak oluşturulduğunu görüyorsunuz.
80. www.hasandimdik.com
80
Hasan Dimdik
Aynı Zaman da Active Directory Users and Computers içerisinde Computers altında da yer aldığını görüyoruz.
Yukarıdaki işlemlerden sonra Add Mailbox Database Copy ile Mailboxlarımızın Database kopyalarını oluşturuyoruz.( Bütün adımları göstermedim, bir önceki bölümde gerekli bilgi mevcuttur)
81. www.hasandimdik.com
81
Hasan Dimdik
Aşağıda ise database kopyaları oluşturduktan sonra durumu görüyorsunuz.
Yeni yapımızı oluşturduktan sonra artık geçiş işlemine başlayabiliriz. Mailbox ları taşıma ile işlemlerimize başlıyoruz. Recipient Configuration > Mailbox a geliyoruz ve taşımak istediğiniz mailboxlar üzerinde sağ tıklayıp New Local Move Request ile taşıma işlemini başlatıyoruz.
82. www.hasandimdik.com
82
Hasan Dimdik
Bu adımda hangi Mailbox Database üzerine taşıyacağımızı belirtiyoruz.
Diğer bölümlerde anlatmadığımı fakat mailboxları taşırken kesinlikle dikkat edilmesi gereken bir nokta var. Gerçek yapılarda 100, 500, 1000 veya daha fazla sayıda mailbox taşıma işlemleri gerçekleştiriyoruz. Taşıma işlemi sırasında karşı tarafta Harddisk alanınızı
83. www.hasandimdik.com
83
Hasan Dimdik
iyi hesaplamalısınız. Örnek olarak 700 Gb bir database mevcut ise 1 Tb ayırabilirsiniz. Aynı şekilde karşı tarafta Transaction Log oluşacağı için geçici süreliğine Circular Logging Enable hale getirilebilir. Mailboxları taşıdıktan sonra Arbitration Mailbox kontrol etmek için Exchange Powershell aracı ile Get-Mailbox –Arbitration komutunu çalıştırıyoruz ve Servername kısmında da gördüğünüz üzere eski sunucum üzerinde olduğunu görüyoruz.
Get-Mailbox –database “Mailbox Database 0382474148” –Arbitration | New- MoveRequest –TargetDatabase “pcdestek” ile taşıma işlemini gerçekleştiriyoruz.
Arbitration Mailbox Nedir?
Cevap : Varsayılan olarak gizli gelmektedir ve yapımızdaki ilk mailbox database içerisinde barındırılmaktadır ve Modaratörlük rolünü üstlenen yönetimsel bir mailboxdur. Yani kulanıcılar mail atarken veya alırken ki onay işlemlerini gerçekleştiren süreci yönetir ve doğrulamasını yapar.
İşlemlerimiz tamamlandıktan sonra varsayılan olarak gelen mailbox database silebiliriz.
84. www.hasandimdik.com
84
Hasan Dimdik
Aynı zamanda Program Files > Microsoft >Exchange Server > v14>Mailbox içerisinden ilgili klasörüde siliyoruz.
Eğer yapınızda SSL Sertifika var ise eski Exchange sunucumuz üzerinde Server Configuration içerisinde yer alan sertifikanızı Export Exchange Certificate ile dışarıya alıyoruz.
86. www.hasandimdik.com
86
Hasan Dimdik
Bu adımda da Offline Adres Book taşıyoruz. (OAB ile ilgili dikkat edilmesi gereken hususu daha önceki bölümlerde bahsetmiştim)
87. www.hasandimdik.com
87
Hasan Dimdik
Silme işleminden önce eski Exchange Sunucumuz üzerindeki send connector siliyoruz ve daha sonra ortamımızdan kaldırıyoruz. (Yeni sunucumuzda send connector oluşturmayı unutmuyoruz tabi ki! )
Aşağıda gördüğünüz üzere sorunsuz bir şekilde taşıma işlemlerini tamamladık
88. www.hasandimdik.com
88
Hasan Dimdik
Export ile dışarı aldığımız sertifikamızı yeni sunucumuz üzerinde import etmeye. Import Exchange Certificate ile işlemimizi başlatıyoruz.
89. www.hasandimdik.com
89
Hasan Dimdik
Export ettiğimiz sertifikayı ilgili sunucu üzerine taşıdığınızı varsayıyorum. İlgili yolu ve şifreyi belirterek devam ediyoruz.
92. www.hasandimdik.com
92
Hasan Dimdik
Son olarak da Outlook üzerinde array yapımızı kontrol ediyoruz. User2 ile domainde oturum açtım ve Autodiscover düzgün şekilde çalıştığını görmüş oldum. Fark ettiyseniz sunucu bölümünde array.hasan.local görüyoruz.
94. www.hasandimdik.com
94
Hasan Dimdik
Kontrollerimizi de tamamladık işlemimiz burada bitmiş oluyor. Aşağıda bağlantıların array.hasan.local’ e gittiğini de görmüş olduk. Ortamınızda Public Folder olsaydı burada public folder da görecektik, bunun nedeni ise Public Folder bağlantıları Mailbox Rolü kurulu sunucuya gitmektedir.
95. www.hasandimdik.com
95
Hasan Dimdik
EXCHANGE SERVER 2010 SP3 CROSS FOREST MIGRATION
Bu bölümümüzde çok sık karşımıza çıkmayan fakat şirket evliliklerinde istenebilecek bir senaryoyu yapmaya çalışacağız. Varsayalım ki hasan.local ve dimdik.local olarak iki farklı şirket ve forest var. Alınan bir karar ile dimdik.local Forest’ ı içerisinde yer alan maillerinde yeni yapıya taşınması isteniyor. Bu gibi durumlar ile karşılaşırsanız nasıl aksiyon alabileceğinizi anlatmaya çalışacağım.
Yavaş yavaş yapımızı oluşturmaya başlayalım. Bu bölümü kendi içinde ikiye ayırıyorum birinci bölüm de hazırlık bölümünü göreceksiniz, ikinci aşamada ise taşıma işlemlerini yapacağız.
Uyarı : Bu bölümün amacı Active Directory Cross Forest Migration değildir, bu sebep ile bazı adımlar dökümanda yer almamaktadır . Daha detaylı bilgi için yazmış olduğum Active Directory Migration Senaryolarına göz atabilirsiniz http://gallery.technet.microsoft.com/Active-Directory-Migration-563be75c
Hazırlık bölümü
Bu bölümde ilk olarak yapmamız gereken her iki tarafı birbirine Conditional Forwarders olarak eklemek olacak bu ilk gerekliliğimiz. İkinci ve atlanmaması gereken nokta ise Forest fonksiyon seviyenizin minimum 2003 olması gerekmektedir! ( Bu işlemi her iki sunucu üzerinde de yapıyoruz )
96. www.hasandimdik.com
96
Hasan Dimdik
Daha sonraki adımda ise iki Forest arasında Trust ilişkisi kurmamız gerekiyor. Bunun için Active Directory Domain and Trusts açıyoruz. İlgili etki alanının Properties sekmesini açtıktan sonra Trusts sekmesi altındaki New Trust ile iki Forest arasında Trust ilişkisi tanımlıyoruz.
97. www.hasandimdik.com
97
Hasan Dimdik
Kim ile Trust kurulmasını istiyorsak onu bu adımda belirtiyoruz. Ben dimdik.local üzerinden bu işlemleri yaptığım için hasan.local olarak belirtiyorum.
98. www.hasandimdik.com
98
Hasan Dimdik
Karşınıza burada iki adım çıkıyor. External Trust ile Devam ediyorum.( Konu Trust Nedir olmadığı için bu adımları açıklamıyorum, Yukarıda vermiş olduğum linkteki doküman bu konuda size yardımcı olacaktır.)
100. www.hasandimdik.com
100
Hasan Dimdik
Bu adımda iki seçenek geliyor. Eğer diğer Forest üzerinde Admin hakkınız yok ise This Domain Only seçiyorsunuz veya iki firma Admini operasyonu birlikte yürütüyor ise Both the domain and the specified domain ile devam ediyoruz
Bu adımda dikkat ettiyseniz hasan.local üzerindeki Admin bilgilerini giriyorum.
101. www.hasandimdik.com
101
Hasan Dimdik
Bu adımda Domain-wide authentication seçiyorum.(Detaylı bilgi için Active Directory Migration Senaryoları E-Book, Sayfa 87 ) Daha sonraki adımlar kontrol amaçlı adımlar olduğu için ekran görüntüsünde almadım.
103. www.hasandimdik.com
103
Hasan Dimdik
Evet artık Trust ilişkimizi kurduk. dimdik.local administrators grubuna hasan.local’ in administrator u member yapıyoruz. (Veya bu yetkiye sahip herhangi bir kullanıcı)
Exchange Server’ ların birbirine güvenmeleri için hedef domain üzerindeki sertifikamızı, kaynak domain içerisindeki Trusted Root Certification Authorities içerisine import ediyoruz. Aynı işlemi diğer Exchange sunucu içinde yapıyoruz.
104. www.hasandimdik.com
104
Hasan Dimdik
Alet Çantanızda olması Gereken Programlar;
1. SQL Server 2005 Express Edition (http://www.microsoft.com/en- us/download/confirmation.aspx?id=21844)
2. Active Directory Migration Tool Version 3.2 (http://www.microsoft.com/en- us/download/confirmation.aspx?id=8377 )
3. Password Export Server v3.1 x64 indirmeniz gerekmektedir.
İlk olarak hedef domain üzerinde Sql Server kurulumunu gerçekleştiriyoruz. Bütün adımları göstermedim zaten hiçbir şey değiştirmeden next next kurulum yapıyoruz.
106. www.hasandimdik.com
106
Hasan Dimdik
Kurulum tamamlandı. Bir sonraki adımımız ise Active Directory Migration Tool kurmak olacak. Bu tool u hedef domain üzerinde kuracağız. Burada sadece önemli olan adımın görüntüsü aldım. Diğer adımlarda zaten değişiklik yapmadan devam ediyorsunuz. Bir önceki adımda Sql kurulumunu yapmıştık, bu adımsa ise ADMT’ ye database i gösteriyoruz varsayılan olarak .SQLEXPRESS dir.
108. www.hasandimdik.com
108
Hasan Dimdik
Password migrate işlemini yapmak için ADMT Password Migration DLL’ i kaynak domain üzerinde kuruyoruz. Bu şekilde kullanıcılarımızın SID bilgilerini de alabileceğiz.
109. www.hasandimdik.com
109
Hasan Dimdik
Kurulum adımlarını devam ettirmeden önce hedef domain üzerinde
admt key /option:create /sourcedomain:dimdik.local /keyfile:crossforest.pes komutunu çalıştırıyoruz.
Daha sonra .pes uzantılı dosyamızı kaynak domain üzerine taşıyoruz ve dosyamızı Encryption File kısmında gösteriyoruz.
111. www.hasandimdik.com
111
Hasan Dimdik
Kurulum tamamlandıktan sonra sunucumuzu restart ediyoruz. Daha sonra Password Expert Server Service start konumuna getiriyoruz.
Son olarak ise Kaynak Forest üzerinde yer alan Exchange Server 2010 SP3 sunucumuz üzerinde MRS Proxy TRUE konumuna getireceğiz. Microsoft Exchange Mailbox Replication Proxy Service nedir diye soracak olursanız kısaca Exchange Server üzerinde mailbox taşıma isteği sırasında bu işlemi yerine getiren servistir. Bu komutları çalıştırırken şu küçük püf noktasını gözden kaçırmayınız, eğer Cas sunucuları Cas Array olarak hizmet veriyor ise Set edeceğimiz komutu bütün Cas sunucuları üzerinde çalıştırmamız gerekmektedir.
112. www.hasandimdik.com
112
Hasan Dimdik
Varsayılan olarak MRSProxy false olarak gelir. Kontrol etmek isterseniz; Get-WebServicesVirtualDirectory |fl mrs*,ide* komutunu kullanabilirsiniz.
True Konumuna getirmek için;
Set-WebServicesVirtualDirectory –MRSProxyEnabled:$true –Identity “kaynakdcews (default web site)” komutunu kullanmalısınız. (Cas Array Mevcut ise Tüm Cas Sunucularda çalıştırınız) Bu işlemleri yaptıktan sonra IIS Restart ediniz.
Not: Ben uygulamamda Exchange Server 2010 SP3 kullandım eğer SP2 öncesi sürüm kullanmış olsaydım bu adımları bu şekilde yapamayacaktım. Eğer bu durum sizin için geçerliyse şu adımları izleyiniz;
C:Program FilesExchange ServerV14Client Accessexchwebews dizinini açıyoruz. Web.config dosyasını notepad ile açıyoruz ve
<!—Mailbox Replication Proxy Service Configuration -- > içerisinde yer alan IsEnabled =false seçeneğini True yapıyoruz. Aynı zaman DataImportTimeout Değerini arttırmanız tavsiye edilir.(Bu işlemi yapmadan web.config orjinal kopyasını yedek amaçlı alınız )
Son olarak yapımıza bir bakalım. Taşıyacağım Forest içerisinde yer alan Exchange Server maiboxuser ları aşağıda görüyoruz.
113. www.hasandimdik.com
113
Hasan Dimdik
Taşıma işlemimiz bittikten sonra sonuçları daha sağlıklı görebilmek için test amaçlı birkaç mail alışverişi yaptım.
Burada ise hedef Forest içerisindeki mailboxuser ları görüyoruz.
Hazırlık aşaması bitti, Artık taşıma işlemine başlayabiliriz.
114. www.hasandimdik.com
114
Hasan Dimdik
Son olarak Listemizi Kontrol Edelim
Dns Condional Forwarders
Trust İlişkisi
Hedef Forest üzerinde Sql Server ve ADMT migration Tool Kurulumu
Kaynak Forest üzerinde Password Migration Service kurulumu
Kaynak Exchange Sunucu üzerinde MRS Proxy Enabled
Hedef Forest Admini, Kaynak Forest Administrators Grubuna üye yapıldı mı?
Self Sign Sertifika export-import işlemleri gerçekleştirildi mi?
Cross Forest Migration
Taşıma işlemlerini Hedef Forest üzerinde yani hasan.local üzerinde yapıyor olacağız. İlk olarak gerekli erişimi sağlayabilmek için sırası ile aşağıdaki komutları çalıştırıyoruz. İlk olarak;
$localCredentials = Get-Credential açılan pencerede hasan.local yetkili kullanıcı bilgilerini giriyoruz.
İkinci olarak ise;
$RemoteCredentials =Get-Credential komutunu yazıyoruz ve uzak sunucu erişim bilgilerini giriyoruz.
115. www.hasandimdik.com
115
Hasan Dimdik
Daha sonra Exchange powershell kapatmadan devam ediyoruz. Aşağıdaki komut yardımı ile mailboxları taşımaya hazır hale getiriyoruz.
C:Program FilesMicrosoftExchange ServerV14Scripts> .Prepare- MoveRequest.ps1 –Identity user1@dimdik.local – RemoteForestDomainController kaynakdc.dimdik.local – RemoteForestCredentials $RemoteCredentials –LocalForestDomainController hedefexc.hasan.local –LocalForestCredential $localCredentials – TargetMailUserOU “OU=Mails,DC=hasan,DC=local” –uselocalobject –Verbose
Komutunu çalıştırıyoruz ve 1 mailbox ready to move şeklinde çıktı alıyoruz.
Şimdi ise kullanıcımızı taşımamız gerekiyor. Bunun için Active Directory Migration Tool’ dan yararlanıyoruz. User Account Migration Wizard ile taşıma işlemine başlıyoruz.
116. www.hasandimdik.com
116
Hasan Dimdik
Source Domain Kısmına kaynak domain bilgilerimizi giriyoruz. Aynı şekilde target domain kısmına taşıma yapacağımız domain bilgilerini giriyoruz.
Bu adımda Add ile hangi kullanıcıları taşıyacaksak seçiyoruz. Ben sadece user1 için bu işlemi yapacağım.
117. www.hasandimdik.com
117
Hasan Dimdik
Taşıma işlemini hedefte nereye yapacağımı belirtiyorum.
Taşıma işlemi sırasında Password de taşıyacağım için Migrate passwords seçiyorum.
118. www.hasandimdik.com
118
Hasan Dimdik
Target same as source seçiyoruz ve SID bilgilerini de almak için Migrate user SIDs to target domain seçili hale getiriyoruz.
Bu adımda kaynak domain üzerinde admin hakkına sahip kullanıcı bilgilerini giriyoruz.
119. www.hasandimdik.com
119
Hasan Dimdik
Eğer aynı objeden hedef forest içerisinde varsa taşıma işlemini yine de gerçekleştir diyoruz.(Opsiyonel)
Başarılı şekilde tamamlandığını görüyoruz.
120. www.hasandimdik.com
120
Hasan Dimdik
Kullanıcımızı taşıdıktan sonra sıra geldi mailboxları taşımaya bunun için;
Hedef Forest içerisinde yer alan Exchange Powershell komut satırını açıyoruz.
C:Program FilesMicrosoftExchange ServerV14Scripts> New-MoveRequest – Identity user1@dimdik.local –Remote –RemoteHostName kaynakdc.dimdik.local –RemoteCredential $RemoteCredentials –TargetDeliveryDomain hasan.local komutunu çalıştırıyoruz ve işlemimi başlatmış oluyoruz dilerseniz taşıma işlemini yaptığımı Exchange Sunucu EMC panelindeyken Recipient Configuration> Move Request içerisinden taşıma işlemini takip edebilirsiniz.
Son olarak ise hasan.local owa üzerinden kontrolümüzü yapıyoruz ve sorunsuz şekilde taşıma işlemimizin tamamlandığını görüyoruz.
121. www.hasandimdik.com
121
Hasan Dimdik
Dikkat ettiyseniz sadece bir adet mailbox taşıdık. Gerçek bir yapıda işlemleri bu şekilde yapmaya kalkarsak bu işlem bitmez
Bulk Mailbox Taşıma
Bildiğiniz gibi user1 taşıdık fakat taşıma işlemi sırasında disable et demediğim için hala aktif olarak gözüküyor. Şimdi ise user2,user3,user4 kullanıcılarımı farklı bir metod ile taşıyacağım. Bunun için kullanıcılarımızın olduğu benim yapım için crossforest OU’ ya ait distinguishedName ihtiyacım var. Bunu öğrenebilmek için Active Directory Users and Computers içerindeki View tabından Advanced Features seçiyoruz
Daha sonra ise ilgili OU ya ait Properties açıyoruz ve Attribute Editor içerisinden distinguishedName buluyoruz ve içindeki bilgileri bir yere kopyalıyoruz.
122. www.hasandimdik.com
122
Hasan Dimdik
Kaynak sunucu üzerindeyken csvde –d “OU=crossforest,DC=dimdik,DC=local” –f c:bulkusers.csv –r (objectclass=user) –l mail komutunu çalıştırıyoruz.
Detaylı Bilgi için Bakınız: http://technet.microsoft.com/tr-tr/library/cc771621.aspx
Çıktımız aşağıda gördüğümüz şekilde.
123. www.hasandimdik.com
123
Hasan Dimdik
Birazcık düzenleyerek aşağıdaki hale getiriyoruz. Daha sonra ise hedef Exchange Sunucumuzun olduğu yere taşıyoruz.
Mailboxları taşımaya hazır hale getirmek için bu sefer komutu şu şekilde yazıyorum;
C:Program FilesMicrosoftExchange ServerV14Scripts>Import-Csv c:bulkusers.csv .Prepare-MoveRequest.ps1 –RemoteForestDomainController “kaynakdc.dimdik.local” –RemoteForestCredentials $RemoteCredentials – LocalForestDomainController “hedefexc.hasan.local” –LocalForestCredential $localCredentials -UseLocalObject –TargetMailUserOU “OU=Mails,DC=hasan,DC=local” komutunu yazıyoruz ve 3 mailbox<s> ready to move şeklinde çıktı alıyorum.
Şimdi ise ADMT yardımı ile kullanıcılarımızı taşıyoruz.
124. www.hasandimdik.com
124
Hasan Dimdik
Aşağıda kullanıcıların taşınmış olduğunu görüyoruz.
Şimdi ise kullanıcılara ait mailboxları taşıyacağız. Bunun için ;
C:Program FilesMicrosoftExchange ServerV14Scripts>Import-Csv c:bulkusers.csv | New-MoveRequest –Remote –RemoteHostName kaynakdc.dimdik.local –RemoteCredential $RemoteCredentials – TargetDeliveryDomain hasan.local komutunu giriyoruz.
125. www.hasandimdik.com
125
Hasan Dimdik
Exchange Sunucumuzun Emc Panelinde Recipient Configuration >Move Request baktığımızda taşıma işleminin başladığını görüyoruz.
Taşıma işleminden sonra kontrolümüzü yapıyoruz ve taşıma işleminin başarılı olduğunu görüyoruz.
126. www.hasandimdik.com
126
Hasan Dimdik
EXCHANGE SERVER 2010 SP3 TO EXCHANGE SERVER 2013
Bu bölümümüzde ise Exchange Server 2010 yapımızı nasıl Exchange Server 2013’ e geçireceğimizi göreceğiz. Bu bölüm Exchange Server 2010 kurulumunu içermemektedir. Sadece diğer bölümlerde bahsetmediğim Active Directory Certificate Services kurulumu ve daha sonra ise Exchange sunucumuz için nasıl SSL sertifikası oluşturabiliriz göreceksiniz. Bu işlemlerden sonra ise asıl konumuz olan Exchange Server 2013’ e yapımızı nasıl geçireceğiz göreceğiz.
Add Roles Wizard ile Active Directory Certificate Services rolünü kurmaya başlıyoruz.
127. www.hasandimdik.com
127
Hasan Dimdik
Role Servislerinden Certification Authority ve Certification Authority Web Enrollment seçip devam ediyoruz.
Bu adımımızda Enterprise’ ı seçip devam ediyoruz.
129. www.hasandimdik.com
129
Hasan Dimdik
Ve başarılı bir şekilde rolümüzü kuruyoruz.
Exchange Sunucu tarafında yapmamız gereken bazı işlemler var hemen onları da yapalım. EMC panelini açıyoruz Server Configuration içerisinde yer alan Exchange Certificates kısmına geliyoruz. Burada yapmamız gereken yeni bir sertifika talebi oluşturmak. Bunun için New Exchange Certificate ile işlemimize başlıyoruz.
130. www.hasandimdik.com
130
Hasan Dimdik
Sertifikamız için isim veriyoruz.
Eğer yapınızda subdomainlar mevcut ise wildcard sertifikasını seçebilirsiniz.
Aşağıdaki adımları kendi yapınıza göre düzenleyiniz.
131. www.hasandimdik.com
131
Hasan Dimdik
Bu adımda yukarıdaki yapılandırmama göre gerekli domain isimlerim geldi. Örneğin bu adımda mail.hasan.local gelmediğini ve sizde eklemeyi unuttuğunuzu varsayalım ilerde muhtemelen Outlook açtığınızda bu sertifika ismi bu sitenin ismiyle uyuşmuyor tarzında
132. www.hasandimdik.com
132
Hasan Dimdik
hata alırsınız.
Bu adımda gerekli bilgileri girdikten sonra dosyayı .req olarak uygun bir yere kopyalıyoruz.
133. www.hasandimdik.com
133
Hasan Dimdik
Şimdi Web Browser açıyoruz ve http://dc2008r2/certsrv yazıyoruz . Bu adımda siz Ca rolünü kurduğunuz sunucuyu yazmanız gerekiyor. Açılan pencerede Request a Certificate tıklıyoruz.
135. www.hasandimdik.com
135
Hasan Dimdik
Bu adımda ise .req uzantılı dosyamızı notepad ile açıp içindeki bilgileri ilgili yere kopyalıyoruz. Certificate Template kısmını ise Web Server olarak değiştiriyoruz.
Submit dedikten sonra sertifikamızı uygun bir yere alıyoruz.
138. www.hasandimdik.com
138
Hasan Dimdik
Kontrolümüzü yapalım ve başarılı bir şekilde sertifikamızı almış olduğumuzu görüyoruz. ( Attığım mail ilginç olmuş biraz ama hayal işte neden olmasın )
139. www.hasandimdik.com
139
Hasan Dimdik
Artık hazırlık aşamasına geçebiliriz. İlk olarak Windows Server 2008 R2 kurulu olan sunucumuz üzerinde hazırlık işlemlerimizi yapacağız. Schema yapımızı genişletmek istediğimizde aşağıdaki gibi bir hata alıyoruz. Gidermek için;
http://msdn.microsoft.com/library/5a4x27ek.aspx indirip yüklemeniz gerekmektedir ve daha sonra ise C:>cd “c:WindowsMicrosoft.NETFramework64v4.0.30319aspnet_regiis.exe” -ir – enable komutunu çalıştırmanız gerekmektedir ve daha sonra ise iis restart edilmesi gerekmektedir.
140. www.hasandimdik.com
140
Hasan Dimdik
İkinci eksikliği gidermek için;
http://www.microsoft.com/en-us/download/details.aspx?id=34595 adresinden ilgili dosyayı indirip yüklüyoruz.
Artık başlayabiliriz. Exchange Server 2013 medyamız takılıyken
Setup /prepareschema /IAcceptExchangeServerLicenseTerms
Setup /preparead /IAcceptExchangeServerLicenseTerms
Setup /preparedomain /IAcceptExchangeServerLicenseTerms
142. www.hasandimdik.com
142
Hasan Dimdik
Install-WindowsFeature AS-HTTP-Activation, Desktop-Experience, NET-Framework-45- Features, RPC-over-HTTP-proxy, RSAT-Clustering, Web-Mgmt-Console, WAS-Process- Model, Web-Asp-Net45, Web-Basic-Auth, Web-Client-Auth, Web-Digest-Auth, Web-Dir- Browsing, Web-Dyn-Compression, Web-Http-Errors, Web-Http-Logging, Web-Http- Redirect, Web-Http-Tracing, Web-ISAPI-Ext, Web-ISAPI-Filter, Web-Lgcy-Mgmt-Console, Web-Metabase, Web-Mgmt-Console, Web-Mgmt-Service, Web-Net-Ext45, Web-Request- Monitor, Web-Server, Web-Stat-Compression, Web-Static-Content, Web-Windows-Auth, Web-WMI, Windows-Identity-Foundation
komutunu Exchange Server Kuracağımız sunucu üzerinde çalıştırıyoruz. Eğer Media Foundation yüklenmemiş hatası alırsanız. Install-WindowsFeature Server-Media- Foundation komutunu Powershell yardımı ile yükleyebilirsiniz.
Daha sonra ise Exchange Server 2013 kuracağımız sunucu
Windows Server 2008 R2 ise;
http://msdn.microsoft.com/library/5a4x27ek.aspx
http://www.microsoft.com/en-us/download/details.aspx?id=34595
143. www.hasandimdik.com
143
Hasan Dimdik
http://www.microsoft.com/en-us/download/details.aspx?id=34992
http://www.microsoft.com/en-us/download/details.aspx?id=17062
http://www.microsoft.com/en-us/download/details.aspx?id=26604
http://support.microsoft.com/?kbid=974405
http://support.microsoft.com/?kbid=2619234
http://support.microsoft.com/?kbid=2533623
http://www.microsoft.com/en-us/download/details.aspx?id=34595
Windows Server 2012 R2 ise;
http://www.microsoft.com/en-us/download/details.aspx?id=34992
http://www.microsoft.com/en-us/download/details.aspx?id=17062
http://www.microsoft.com/en-us/download/details.aspx?id=26604
kuruyoruz. Daha sonra kontrolleri yapmak isterseniz. Adsi Edit yardımı ile msExchProductID değerini kontrol edebilirsiniz.
Artık Exchange Server 2013 kuruluma geçebiliriz. Updateler var ise yapmasını istiyorum.
149. www.hasandimdik.com
149
Hasan Dimdik
Amacım direk olarak kurulum göstermek olmadığı için her adımı göstermedim. Son olarak durumumuza bakalım Exchange Server 2013 sunucumda geldiğini görüyoruz. Daha Detaylı Exchange Server 2013 kurulumu için Uğur Demir Hocamızın yazmış olduğu E- Book inceleyebilirsiniz
http://blogs.technet.com/b/wikininjastr/archive/2014/05/06/tnwiki-article-spotlight-microsoft- exchange-server-2013-e-kitap-u-ur-dem-r-tat.aspx
Panele yetkili kişi ile bağlanıyoruz ve Exchange Server 2010 üzerinde yer alan kullanıcılarımızı görüyoruz.
151. www.hasandimdik.com
151
Hasan Dimdik
Mailboxları taşıma işlemine geçmeden önce; Microsoft >Exchange Server >v15 >Bin içerisinde yer alan MsExchangeMailboxReplication.exe.config notepad ile açıyoruz.
Ve ilgili Yerleri editlemeniz gerekebilir. Ben sadece bize lazım olan kısımları örnekle gösteriyorum, kendi yapınıza göre arttırabilirsiniz;(Bu adımı aynı anda daha fazla mailbox taşımak isterseniz uygulayınız daha detaylı bilgi için linki aşağıda paylaştım.) MaxActiveMovesPerSourceMDB = “5″ MaxActiveMovesPerTargetMDB = “2″ MaxActiveMovesPerSourceServer = “50″ MaxActiveMovesPerTargetServer = “5″ MaxTotalMovesPerMRS = “100″
http://technet.microsoft.com/en-us/library/ff963524.aspx
152. www.hasandimdik.com
152
Hasan Dimdik
Artık yapımız geçiş için hazır, Panelimizi açtıktan sonra recipients >mailboxes açıyoruz ve sağ altta yer alan Move Mailbox ile işlemlerimizi başlatıyoruz.
153. www.hasandimdik.com
153
Hasan Dimdik
Move archive mailbox along with primary mailbox ile işlemimize devam ediyoruz. Daha sonra taşıyacağımız mailbox database gösteriyoruz.
Bu adımda taşıma işlemi için bir batch otomatik mi veya manuel olarak mı başlatılsın’ ı seçiyoruz ve batch tamamlanmasından sonra raporun kime gönderileceğini belirliyoruz.
154. www.hasandimdik.com
154
Hasan Dimdik
Exchange Server 2010 tarafında da duruma bakıyoruz ve taşıma işlemlerinin başarılı olduğunu görüyoruz.
Test amaçlı Exchange Server 2013 owa ya bağlanıyoruz ve her şey yolunda.
155. www.hasandimdik.com
155
Hasan Dimdik
Owa paneline mail.hasan.local/owa şeklinde girmek için gerekli adımları yapalım bunun için;
Admin Center içerisinde sol altta yer alan servers > virtual directories owa(Default Web Site) buluyoruz.
Bu adımda ilgili bölümleri yapınıza göre düzenleyiniz.
157. www.hasandimdik.com
157
Hasan Dimdik
Sonraki adımda Arbitration mailboxları taşıyoruz. Get-Mailbox -Arbitration | where {$_.PersistedCapabilities -like “*oab*”} | ft name,servername komutu ile Arbitration mailbox hangi mailbox server üzerinde tutulduğunu görebilirsiniz. Get-Mailbox -Arbitration | where {$_.PersistedCapabilities -like “*oab*”} | ft name,database komutu ile hangi database üzerinde öğrenebiliriz.
158. www.hasandimdik.com
158
Hasan Dimdik
Get-Mailbox –Database “Mailbox Database Name” –Arbitration |New-MoveRequest – TargetDatabase “ Mailbox Database Name” komutu ile Arbitration mailboxları taşıyoruz.
Test amaçlı mail atıyorum ve herhangi bir problem olmadığını görüyorum.
Exchange Server 2010 tarafında mailbox database kaldırıyorum.
162. www.hasandimdik.com
162
Hasan Dimdik
Ve yapımızdan Exchange Server 2010’ u sorunsuz bir şekilde kaldırıyoruz. Son olarak ise kontrol amaçlı ADSI Edit üzerinden de kontrol ediyoruz gördüğünüz gibi Exchange Server 2010 yapıdan tamamen kaldırılmış.
Umuyorum Faydası Dokunmuştur.