Exchange Server 2019 DAG Ortamında CU12 Update Adımları

Merhaba, Organizasyonumuzda Microsoft Exchange kullanıyorsanız en önemli operasyonlarımızdan biriside Exchange altyapımızı güncel tutmaktır. Bu gün sizler ile Exchange Server 2019 için yeni yayınlanan Cumulative Update 12 update uygulama adımlarını göreceğiz.

Cumulative Update güncelleme adımları önemlidir. Özellikle ortamınızda bir Exchange DAG yapısı varsa ve siz uygun olan adımları takip etmeden güncelleme yapmaya çalışırsanız sisteminizi çalışamaz hale getirebilirsiniz. Cumulative Update (CU) geçişlerinde bazı ön gereksinimler olur. Bu yüzden geçiş yapmadan önce, yapınızın ve CU geçişi için gereklilikleri karşılaştırıp eksikleri tamamlamanız gerekmektedir. Bizim konumuz Exchange server 2019 CU12 olduğu için gereksinimlerini ve yükleme adımlarını inceleyeceğiz.

Exchange Server Altyapısı

Aşağıdaki görseldeki gibi bir yapımız var, İki adet sunucu CP1 ve CP2, toplamda üç mailbox database’ine sahibiz. Bunlar DAG yapısı içerisinde aşağıdaki gibi çalışmakta.

Başlamadan önce yapılması gereken kontroller

İlk olarak buradaki linkli okuyunuz.

https://support.microsoft.com/en-au/topic/cumulative-update-12-for-exchange-server-2019-kb5011156-6a4e598a-876c-4ff1-9cfa-f7b87246f1d8

Sorulması gereken sorular

.Net Framework güncellemesi yaptın mı ?

İlk olarak .Net 4.8 yükseltmesi yapmanız gerekiyor. Yükledikten sonra sistemi reboot etmeyi unutmayın.

Exchange Server kurulu işletim sistemine son güncellemeleri yüklendin mi ?

CU güncellemesi yapmadan önce Exchange serverların kurulu olduğu işletim sisteminin son güncellemeleri aldığından emin olun.

Antivirüs ve backup angentlarını disable yaptın mı ?

Güncelleme öncesi sistem üzerinde aktif olan güvenlik endpointleri veya backuplama için kullanılan backup agentlarını disable yapıyoruz.

CU 12 ISO ‘u indirdin mi ?

https://www.microsoft.com/en-us/download/details.aspx?id=104131

Bu kontrollerden sonra ilk yapmamız gereken Active Directory işlemleri. Bunlar;

Bu iki işlemi yapabilmek için işlem yapacağınız kullanıcının Schema Admins,Enterprise Admins gruplarına üye olması gerekiyor. Eğer üye değilse yukardaki iki işlemi yapamazsınız.

Bun aşamada sorun yaşamamak için PDC olan DomainController üzerinde “Exchange server 2019 CU12” ISO dosyamızı mount edip, cmd komut istemini administrator modda çalıştırıyoruz.

AD Schema genişletme işlemi

Setup.exe /IAcceptExchangeServerLicenseTerms_DiagnosticDataOFF /PrepareSchema

AD hazırlık işlemlerini

Setup.exe /IAcceptExchangeServerLicenseTerms_DiagnosticDataOFF /PrepareAD

Bu işlemlerin ardında Schema versiyonlarını kontrol ediyoruz. Bunun için aşağıdaki powershell scriptini kullanıyoruz.

$sc = (Get-ADRootDSE).SchemaNamingContext
$ob = "CN=ms-Exch-Schema-Version-Pt," + $sc
Write-Output "RangeUpper: $((Get-ADObject $ob -pr rangeUpper).rangeUpper)"
# Exchange Object Version (domain)
$dc = (Get-ADRootDSE).DefaultNamingContext
$ob = "CN=Microsoft Exchange System Objects," + $dc
Write-Output "ObjectVersion (Default): $((Get-ADObject $ob -pr objectVersion).objectVersion)"
# Exchange Object Version (forest)
$cc = (Get-ADRootDSE).ConfigurationNamingContext
$fl = "(objectClass=msExchOrganizationContainer)"
Write-Output "ObjectVersion (Configuration): $((Get-ADObject -LDAPFilter $fl -SearchBase $cc -pr objectVersion).objectVersion)"

Bu script çıktısında, aşağıdaki değerleri görmeniz gerekiyor.

Bu işlemlerden sonra AD tarafında işlemler bitiyor ve CU geçişine hazır hale geliyor. Şimdi tekrar Exchange tarafına dönüyorum.

Exchange tarafında işlemlere başlamadan önce, Load Balancer kontrolü

Sisteminizde bir Load Balance kullanıyorsanız ve Exchange sunucular bu cihazın arkasındaysa (öyle olmalıdır) dikkat etmeniz gereken bir kaç nokta var.

Kullandığınız Load Balancer, Exchange sunucu havuzundan bir sunucunun otomatik down olduğunu algılayabiliyor mu. Eğer cevap evet ise sorun yok ancak otomatik olarak algılayamıyorsa cihazda ilgili ayarları yapmak gerekli, yoksa update sırasında kesinti yaşarsınız.

Eğer sisteminizde bir Load Balancer yok bunun yerine DNS Round Robin kullanıyorsanız kesinti yaşarsınız bunun nedeni DNS Round Robin’in sunucunun kapanmış olduğunu anlayamıyor olmasıdır. Bu yüzden DNS Round Robin kullanıyorsanız, güncelleme yapacağınız sunucunun kaydını geçici olarak silebilirsiniz.

Tüm adımlardan sonra CU geçişine başlayabiliriz

Ben CU geçişlerine hep en son sunucundan başlarım, son dan başa doğru gelirim. yani s01,s02,s03 sunucularım varsa ilk olarak s03 den başlarım. Siz istediğinizden başlayabilirsiniz. Bizim öğrenimizde CP1 ve CP2 sunucuları var. Ben CP2 ile başlıyorum.

İlk olarak CU12 ISO dosyamı CP2 sunucuma mount ettim ve Exchange konsolumu admin modda başlattım. Burada yapmak istediğimiz aktif db’leri CP1’e almak, tüm servisleri durdurmak ( cluster,exchange vs..) sonra update işlemi yaparak her şey eski haline getirmek.

Set-ServerComponentState -identity cp2 -Component HubTransport -State Draining -Requester Maintenance
Redirect-Message -Server cp2 -Target cp1.domain.com
Suspend-ClusterNode cp2
Set-MailboxServer cp2 -DatabaseCopyActivationDisabledAndMoveNow $true
Get-MailboxServer cp2 | Select DatabaseCopyAutoActivationPolicy
Set-MailboxServer cp2 -DatabaseCopyAutoActivationPolicy Blocked
Get-MailboxDatabaseCopyStatus -Server cp2 | Where{$_.Status -eq “Mounted”}
Get-Queue
Set-ServerComponentState cp2 -Component ServerWideOffline -State Inactive -Requester Maintenance

Son kontroller

Bu işlemlerin sonunda sunucu artık CU update için hazır hale geliyor. Yalnız CU update öncesi son olarak aşağıdaki adımları kontrol edin ve doğrulayın.

Exchange Sunucu bakım moduna girmiş mi ?

Bu komutu girdiğinde görmeniz gereken çıktı aşağıdaki gibi olmalıdır.

Get-ServerComponentState cp2 | Format-Table Component, State

Ever artık hazırız. CU12 ISO’muz mount durumda ve cmd komut istemini admin modda açıyoruz ve CU12 ISO’un mount olmuş sürücü harfine giriyorum.

Aşağıdaki komut ile update işlemini başlatıyorum.

Setup.exe /IAcceptExchangeServerLicenseTerms_DiagnosticDataOFF /Mode:Upgrade

İşlem başarı bir şekilde tamamlandı ve sunucuyu reboot ediyoruz.

Exchange Server CU12 update işlemi başarı ile tamamlandı,şimdi istemi yeniden devreye alacağız.

Yeniden Exchange konsolumuz admin modda açarak aşağıdaki komutları sırayla giriyoruz.

Set-ServerComponentState cp2 -Component ServerWideOffline -State Active -Requester Maintenance
Resume-ClusterNode -Name cp2
Set-MailboxServer cp2 -DatabaseCopyAutoActivationPolicy Unrestricted
Set-MailboxServer cp2 -DatabaseCopyActivationDisabledAndMoveNow $false
Set-ServerComponentState cp2 -Component HubTransport -State Active -Requester Maintenance

Bu işlemlerden sonra Exchange Sunucumuz tekrar aktif hale geldi. Şimdi bunun kontrollerini sağlamamız gerekiyor.

Get-ServerComponentState cp2 | Format-Table Component, State
Get-ClusterNode cp2
Test-ServiceHealth cp2
Test-MAPIConnectivity -Server cp2
Test-ReplicationHealth -Server cp2
Get-MailboxDatabaseCopyStatus -Server cp2 | Sort Name | Select Name, Status, Contentindexstate

Görmeniz gerek çıktı “Version 15.2 (Build 1118.7)”

Get-ExchangeServer | ft  AdminDisplayVersion

Microsoft tarafından sağlanan script’i kullanarak DAG içerisindeki sunucular arasında mailbox database dağılımını sağlayın. Bı işlem mailbox database’lerinin sunucular arasında dağıtılmasını sağlayacaktır.

cd $exscripts

.\RedistributeActiveDatabases.ps1 -DagName DAG İSMİ -BalanceDbsByActivationPreference

Son olarak;

Tüm işlemleri diğer sunucu içinde yapın ve güncelleme işlemini tamamlayın.

Kullanılan komutların toplu listesi

Set-ServerComponentState -identity cp2 -Component HubTransport -State Draining -Requester Maintenance

Redirect-Message -Server cp2 -Target cp1.domain.com

Suspend-ClusterNode cp2

Set-MailboxServer cp2 -DatabaseCopyActivationDisabledAndMoveNow $true

Get-MailboxServer cp2 | Select DatabaseCopyAutoActivationPolicy

Set-MailboxServer cp2 -DatabaseCopyAutoActivationPolicy Blocked

Get-MailboxDatabaseCopyStatus -Server cp2 | Where{$_.Status -eq “Mounted”}

Get-Queue

Set-ServerComponentState cp2 -Component ServerWideOffline -State Inactive -Requester Maintenance

Set-ServerComponentState cp2 -Component ServerWideOffline -State Active -Requester Maintenance

Resume-ClusterNode -Name cp2

Set-MailboxServer cp2 -DatabaseCopyAutoActivationPolicy Unrestricted

Set-MailboxServer cp2 -DatabaseCopyActivationDisabledAndMoveNow $false

Set-ServerComponentState cp2 -Component HubTransport -State Active -Requester Maintenance

Son sözler ve dikkat edilecek noktalar.

Makaleyi burada bitirirken faydalı olmasını dilerim. Keyifli okumalar

Exit mobile version