Exchange DAG'daki posta kutusu veritabanlarını dengeleyin


Exchange Server'da posta kutusu veritabanlarını dengelemenin en iyi yolu nedir? Exchange posta kutusu veritabanlarını dengelemenin birkaç yolu vardır. Bu makalede, posta kutusu veritabanlarını yeniden dengelemek için Exchange Server ile birlikte gelen PowerShell betiğini nasıl kullanacağınızı öğreneceksiniz.

Kuruluşun iki Exchange Sunucusu ve DAG yapılandırılmış dört posta kutusu veri tabanı var. Exchange Sunucuları aktif/aktif durumdadır ve her biri aktif posta kutusu veritabanlarını tutar. EX01-2016'da iki posta kutusu veritabanı ve EX02-2016'da iki posta kutusu veritabanı etkindir. Tercih edilen Exchange Server üzerinde mailbox veritabanlarını tek tek aktif hale getirebiliriz. İşleri hızlandırmak için PowerShell betiğini kullanmak mükemmel.

Posta kutusu veritabanı etkinleştirme tercihini alın

Posta kutusu veritabanı etkinleştirme tercihini Exchange Yönetim Merkezi ve PowerShell'den alabilirsiniz. Her ikisine de bir göz atalım.

Exchange Yönetim Merkezi

Exchange Admin Center'da sunucular > veritabanları'na gidin. Posta kutusu veritabanlarının hangi Exchange Server'da etkin olduğunu doğrulayın.

Exchange Yönetim Kabuğu

Exchange Yönetim Kabuğu ile bilgileri alın. Posta kutusu veritabanlarını listelemek için Get-MailboxDatabase cmdlet'ini ve etkinleştirme tercihi parametresi -ActviationPrereference'i kullanın.

[PS] C:\>Get-MailboxDatabase | Format-Table Name, Server, ActivationPreference -AutoSize

Name Server    ActivationPreference
---- ------    --------------------
DB01 EX01-2016 {[EX01-2016, 1], [EX02-2016, 2]}
DB02 EX01-2016 {[EX02-2016, 1], [EX01-2016, 2]}
DB03 EX01-2016 {[EX01-2016, 1], [EX02-2016, 2]}
DB04 EX01-2016 {[EX02-2016, 1], [EX01-2016, 2]}

Yapılandırılmış dört posta kutusu veri tabanı vardır. Şu anda Exchange Server EX01-2016'da tüm posta kutusu veritabanları aktiftir.

Posta kutusu veritabanları nasıl yeniden dengelenir?

Bekleyebilirsiniz; etkin posta kutusu veritabanları otomatik olarak tercih edilen etkinleştirme tercihine taşınacaktır. Bu, Exchange Server 2016 CU2'den bu yana varsayılan DAG etkinleştirme tercihi davranışıdır. Başka bir yol da posta kutusu veritabanını manuel olarak etkinleştirmektir.

Etkin posta kutusu veritabanını tercih edilen etkinleştirme tercihine göre manuel olarak etkinleştirmek için üç seçenek vardır:

  1. Exchange Admin Center'da posta kutusu veritabanlarını etkinleştirin

  2. Exchange Yönetim Kabuğu (PowerShell) ile posta kutusu veritabanlarını etkinleştirin

  3. Posta kutusu veritabanlarını PowerShell betiğiyle dengeleme (Microsoft)

Önerilen yol, Microsoft tarafından sağlanan PowerShell betiği olan üçüncü seçeneği kullanmaktır.

Veritabanı Kullanılabilirliği Grubu adını alın

Posta kutusu veritabanlarını yeniden dengelemek için PowerShell betiğini kullanmadan önce Veritabanı Kullanılabilirlik Grubu (DAG) adını bilmeniz gerekir.

DAG'leri listelemek için Get-DatabaseAvailabilityGroup cmdlet'ini ve -Status parametresini kullanın.

[PS] C:\>Get-DatabaseAvailabilityGroup -Status | Format-Table -AutoSize

Name       Member Servers         Operational Servers
----       --------------         -------------------
DAG01-2016 {EX02-2016, EX01-2016} {EX01-2016, EX02-2016}

DAG'ın adı DAG01-2016'dır.

PowerShell betiğiyle Exchange posta kutusu veritabanını dengeleyin

Kuruluşun yapılandırması aktif/aktif modundadır ve her iki üye sunucu da (Exchange Sunucuları) aktif posta kutusu veritabanlarını tutar:

  • Exchange Server EX01-2016: Çift sayılı posta kutusu veritabanları

  • Exchange Server EX02-2016: Tek sayı içeren posta kutusu veritabanları

Exchange Management Shell'i yönetici olarak çalıştırın. Exchange Server komut dosyaları klasörünün yolunu değiştirmek için cd $exscripts komutunu çalıştırın.

[PS] C:\>cd $exscripts

[PS] C:\Program Files\Microsoft\Exchange Server\V15\scripts>

Aktif veritabanı kopyalarınızı en çok tercih edilen DAG üyelerine iade edin. Microsoft tarafından sağlanan RedistributeActiveDatabases.ps1 PowerShell komut dosyasını kullanın. DAG adı ve -BalanceDbsByActivationPreference anahtarını ekleyin.

Komut dosyası çalışacak, tüm posta kutusu veritabanını kontrol edecek ve sizden onaylamanızı isteyecektir. Onaylamak ve devam etmek için A'ya basın.

[PS] C:\Program Files\Microsoft\Exchange Server\V15\scripts>.\RedistributeActiveDatabases.ps1 -DagName "DAG01-2016" -BalanceDbsByActivationPreference

***************************************
Balance DAG DBs
Sunday, January 3, 2021 8:52:03 PM
***************************************
Dag                                :   DAG01-2016
ServerCount                        :   2
DatabaseCount                      :   4
CopiesCount                        :   8

----------------------------
Starting Server Distribution
----------------------------

ServerName TotalDbs ActiveDbs PassiveDbs PreferenceCountList MountedDbs DismountedDbs DagName
---------- -------- --------- ---------- ------------------- ---------- ------------- -------
EX01-2016         4         4          0 {2, 2}                       4             0 DAG01-2016
EX02-2016         4         0          4 {2, 2}                       0             0 DAG01-2016


-----------------------
Starting Database Moves
-----------------------

Considering move of 'DB02' from 'EX01-2016' (AP = 2) to 'EX02-2016' (AP = 1)...

Confirm
Are you sure you want to perform this action?
Moving mailbox database "DB02" from server "EX01-2016.exoip.local" to server "EX02-2016.exoip.local".
[Y] Yes  [A] Yes to All  [N] No  [L] No to All  [?] Help (default is "Y"): A
WARNING: [19:52:08.589 UTC] The property 'Mounted' cannot be found on this object. Verify that the property exists.

Yukarıdaki komutu kullandıktan sonra bir uyarı alabilirsiniz:

UYARI: 'Mounted' özelliği bu nesnede bulunamıyor. Özelliğin mevcut olduğunu doğrulayın.

Uyarı, posta kutusu veritabanının son saat içinde üç kez taşınıp taşınmadığını gösterecektir.

Çözüm, komutu önceki adımda olduğu gibi çalıştırmaktır ancak bu sefer -SkipMoveSuppressionChecks anahtarını ekleyin. Tüm posta kutusu veritabanlarını inceleyecek ve taşınmak isteyip istemediğinizi onaylamanızı isteyecektir. Onaylamak için A'yı tıklayın.

[PS] C:\Program Files\Microsoft\Exchange Server\V15\scripts>.\RedistributeActiveDatabases.ps1 -DagName "DAG01-2016" -BalanceDbsByActivationPreference -SkipMoveSuppressionChecks

***************************************
Balance DAG DBs
Sunday, January 3, 2021 8:52:45 PM
***************************************
Dag                                :   DAG01-2016
ServerCount                        :   2
DatabaseCount                      :   4
CopiesCount                        :   8

----------------------------
Starting Server Distribution
----------------------------

ServerName TotalDbs ActiveDbs PassiveDbs PreferenceCountList MountedDbs DismountedDbs DagName
---------- -------- --------- ---------- ------------------- ---------- ------------- -------
EX01-2016         4         4          0 {2, 2}                       4             0 DAG01-2016
EX02-2016         4         0          4 {2, 2}                       0             0 DAG01-2016


-----------------------
Starting Database Moves
-----------------------

Considering move of 'DB02' from 'EX01-2016' (AP = 2) to 'EX02-2016' (AP = 1)...

Confirm
Are you sure you want to perform this action?
Moving mailbox database "DB02" from server "EX01-2016.exoip.local" to server "EX02-2016.exoip.local".
[Y] Yes  [A] Yes to All  [N] No  [L] No to All  [?] Help (default is "Y"): A
Database 'DB02' successfully moved from 'EX01-2016' to 'EX02-2016'.

ServerName ActiveDbs PassiveDbs
---------- --------- ----------
EX01-2016          3          1
EX02-2016          1          3 `n
Considering move of 'DB04' from 'EX01-2016' (AP = 2) to 'EX02-2016' (AP = 1)...

Confirm
Are you sure you want to perform this action?
Moving mailbox database "DB04" from server "EX01-2016.exoip.local" to server "EX02-2016.exoip.local".
[Y] Yes  [A] Yes to All  [N] No  [L] No to All  [?] Help (default is "Y"): A
Database 'DB04' successfully moved from 'EX01-2016' to 'EX02-2016'.

ServerName ActiveDbs PassiveDbs
---------- --------- ----------
EX01-2016          2          2
EX02-2016          2          2 `n

----------------
Summary of Moves
----------------
Successfully moved      : 2
Moved to less preferred : 0
Failed to move          : 0
Not moved               : 2

Start time              : Sunday, January 3, 2021 8:52:43 PM
End time                : Sunday, January 3, 2021 8:52:51 PM
Duration                : 00:00:07.4324253



DbName                    : DB01
ActiveOnPreferenceAtStart : 1
ActiveServerAtStart       : EX01-2016
ActiveOnPreferenceAtEnd   : 1
ActiveServerAtEnd         : EX01-2016
IsOnMostPreferredCopy     : True
MoveStatus                : NoMoveAttempted

DbName                    : DB02
ActiveOnPreferenceAtStart : 2
ActiveServerAtStart       : EX01-2016
ActiveOnPreferenceAtEnd   : 1
ActiveServerAtEnd         : EX02-2016
IsOnMostPreferredCopy     : True
MoveStatus                : MoveSucceeded

DbName                    : DB03
ActiveOnPreferenceAtStart : 1
ActiveServerAtStart       : EX01-2016
ActiveOnPreferenceAtEnd   : 1
ActiveServerAtEnd         : EX01-2016
IsOnMostPreferredCopy     : True
MoveStatus                : NoMoveAttempted

DbName                    : DB04
ActiveOnPreferenceAtStart : 2
ActiveServerAtStart       : EX01-2016
ActiveOnPreferenceAtEnd   : 1
ActiveServerAtEnd         : EX02-2016
IsOnMostPreferredCopy     : True
MoveStatus                : MoveSucceeded

PowerShell betiği iki posta kutusu veritabanını (DB02 ve DB04) başarıyla taşıdı. Betik, diğer iki posta kutusu veritabanını (DB01 ve DB03) zaten tercih edilen etkinleştirme tercihinde olduklarından taşımaya çalışmadı.

Posta kutusu veritabanı etkinleştirme tercihini doğrulayın

Etkin posta kutusu veritabanının hangi Exchange Server'da bulunduğunu kontrol etmek için tıpkı ilk adımdaki gibi Get-MailboxDatabase cmdlet'ini çalıştırın.

Posta kutusu veritabanları:

  • DB01 ve DB03 Exchange Server EX01-2016'da aktif

  • DB02 ve DB04, Exchange Server EX02-2016'da etkin

[PS] C:\>Get-MailboxDatabase | Format-Table Name, Server, ActivationPreference -AutoSize

Name Server    ActivationPreference
---- ------    --------------------
DB01 EX01-2016 {[EX01-2016, 1], [EX02-2016, 2]}
DB02 EX02-2016 {[EX02-2016, 1], [EX01-2016, 2]}
DB03 EX01-2016 {[EX01-2016, 1], [EX02-2016, 2]}
DB04 EX02-2016 {[EX02-2016, 1], [EX01-2016, 2]}

Sunucuda etkinleştir sütununu işaretleyerek Exchange Yönetim Merkezi'ndeki posta kutusu veritabanlarını istediğiniz zaman doğrulayabilirsiniz.

Tüm posta kutusu veritabanları tercih edilen etkinleştirme tercihine göre etkindir. RedistributeActiveDatabases.ps1 PowerShell betiği harika çalıştı!

Okumaya devam edin: Veritabanı kopyalamayı etkinleştirme başarısız içerik dizini devre dışı bırakıldı »

Çözüm

Exchange DAG'da posta kutusu veritabanlarını nasıl dengeleyeceğinizi öğrendiniz. Exchange Sunucularındaki posta kutusu veritabanlarını yeniden dengelemek için Microsoft'un PowerShell betiğini kullanın. Tamamlandıktan sonra Exchange Yönetim Kabuğu'ndaki etkinleştirme tercihini kontrol edin.

Bu makaleyi beğendiniz mi? Ayrıca DAG veritabanı etkinleştirme tercihini değiştir seçeneğini de beğenebilirsiniz. Bizi takip etmeyi ve bu yazımızı paylaşmayı unutmayın.

İlgili makaleler