Merhabalar,
Bu makalemde, exchange sunucu üzerinde yüksek boyutlarda Mailbox Database’lerin kullanımı konusunda kritik bir uyarı niteliğinde olacak konuyu aktarmak istiyorum. Default Mailbox database size… Özellikle standart versiyon exchange kullanıyorsanız bu makeleyi bir kenarda bulundurun.
Exchange sunucuyu ilk kurduğunuzda, belki bu kadar yüksek boyutlara çıkacağınızı düşünmüyordunuz ve bundan dolayı gözden kaçan bir konu da olabilir. İlk kurulumda maximum database size 1024 GB (1TB) boyutunda belirlenmektedir. Sizler bundan ne zaman haberdar olacaksınız peki, birgün ansızın durduk yere, mailbox database’inizin dismount olduğunu ve aşağıdaki gibi hatayı aldığınızı gördüğünüzde… 🙂
Bu sorun, Microsoft Exchange Server 2019 Standard Edition, Exchange Server 2016 Standard Edition ve Exchange Server 2013 Standard Edition için varsayılan veritabanı boyutu sınırının 1.024 Gigabyte (GB) olması nedeniyle oluşur. Enterprise Edition için default database boyutu sınırı yoktur. Exchange store, düzenli aralıklarla database boyutu sınırlarını denetler ve boyut sınırına ulaşıldığında veritabanının bağlantısını keser. Bu nedenle, database dismount duruma geçer.
GUI’den tekrar mount etmeye çalıştığınızda, aşağıdaki gibi bir hata göreceksiniz.
Bu hata zaten bize, maximum database boyutunun aşıldığına dair bilgilendirme yapıyor.
Komut satırından da mount etmek istediğinizde aynı hatayı göreceksiniz. -Force parametresini de kullansanız işe yaramayacak şu an…
Mount-Database “DB1-1” -Confirm:$False
Failed to mount database “DB1-1”. Error: An Active Manager operation failed. Error: The database action failed. Error: Database ‘DB1-1’ on server ‘EXC02’ cannot be mounted due to a previous error:
At ‘1/15/2020 12:50:52 PM’ database copy ‘DB1-1’ on this server exceeded the configured maximum database size and service recovery was not attempted. Please increase the value of this registry key on the server hosting the active database copy before attempting to mount this database.
For more details about the failure, consult the Event log on the server for other storage and “MSExchangeIS” events.
If you have addressed the underlying problem, or if you have decided to attempt to mount the database despite this error, the mount operation may be attempted by using the ‘-Force’ parameter of the Mount-Database cmdlet. [Database: DB1-1, Server: EXC01.isleyen.net]
+ CategoryInfo : InvalidOperation: (DB1-1:ADObjectId) [Mount-Database], InvalidOperationException
+ FullyQualifiedErrorId : [Server=EXC02,RequestId=b2afbfe5-f6b9-4f40-bf01-fc3b2f86c76f,TimeStamp=1/15/2020 9:52:26 AM] [FailureCategory=C
mdlet-InvalidOperationException] 72FCD077,Microsoft.Exchange.Management.SystemConfigurationTasks.MountDatabase
+ PSComputerName : exc02.isleyen.net
Tüm database’lerin o anki boyutlarını görmek için aşağıdaki komutu kullanabilirsiniz.
Get-MailboxDatabase -Status | select ServerName,Name,DatabaseSize
Yine az önceki hata görüntüsünde, registry key değerinin yükseltilmesiyle ilgili bir satır dikkatinizi çekmiş olmalı. Şimdi her iki sunucuda da bir registry key oluşturacağız ve default değeri yükselteceğiz.
Sunucular üzerinde registry key oluşturmak
Burada bazı önemli notları göz önünde bulundurun lütfen:
- Bu bölümdeki adımları dikkatlice izleyin. Kayıt defterinde, yanlış değerleri değiştirirseniz ciddi sorunlar ortaya çıkabilir. Değiştirmeden önce, sorun çıkması ihtimaline karşı, geri yüklemek için kayıt defterini mutlaka yedekleyin.
- Bu ayarı değiştirdiğinizde, database’in bir kopyasını barındıran tüm sunuculara bu değişiklik yayılır.
- Bu kayıt defteri anahtarı, bir Exchange toplu güncelleştirmesi (cumulative update) uygulandıktan sonra silinebilir. Dolayısıyla CU yüklenmesinden sonra kontrol etmeli, silinmesi durumunda bu işlemleri tekrarlamanız gereklidir.
- Bu kayıt defteri ayarı, DAG içindeki database’lerin otomatik olarak yük devretmesine hala izin vermez. Database’i bu kayıt defteri ayarıyla bağladığınızda -Force anahtarını kullanmanız gerekir.
Kayıt listesini değiştirerek database boyutunu değiştirebilirsiniz, ancak bunu yapmanız önerilmez. Çünkü Microsoft’un Exchange 2016 Enterprise Edition resmi dökümanlarında verilen best practice’lerde bu değerler, stand-alone exchange sunucular için 200 GB, DAG üyesi sunucular için ise 2TB’den yüksek değildir.
Sunucuya bağlanıp, regedit kayıt defterini açarak, aşağıdaki konfigürasyona geliyoruz.
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\MSExchangeIS\<Server Name>\Private-<database GUID>
İlgili database için GUID bilgisinin ne olduğunu görmek için ise, aşağıdaki komutu kullanabilirsiniz. Bu değere göre yukarıdaki seçimi yapıyoruz. Ayar değiştireceğimiz database GUID değeri, bu çıktıdaki olacak.
Get-MailboxDatabase -Identity “DB1-1” | Format-Table Name, GUID
Sistemimizdeki tüm database’lerin GUID bilgisini ise aşağıdaki gibi elde edebiliriz.
Get-MailboxDatabase -Identity | Format-Table Name, GUID
Database Size Limit in GB isminde bir DWORD değeri varsa, bunu GB cinsinden istediğiniz boyuta değiştirin. Yok ise bu isimdeki değeri şimdi biz oluşturuyoruz. (Ben bu hatayı simüle edebilmek ve bu hatayı oluşturmak için, bu lokasyonda default size düşük tutmuştum :))
Sağ taraftaki kısma sağ tıklayıp New > DWORD (32 bit) Value seçiyoruz.
Decimal tabanlı, 2000 MB değerini ayarlamak için aşağıdaki seçeneklerle bu değeri oluşturuyoruz.
Son durumda, listede bu şekilde görünecek.
Bu işlemden sonra Microsoft Exchange Information Store service restart yapıyoruz. Sonrasında ise database mount işlemi yapıyoruz.
Mount-Database “DB1-1” -Confirm:$False
Eğer hata alıyorsanız -Force parametresini ekleyebilirsiniz.
Mount-Database “DB1-1” -Confirm:$False -Force
Database artık mount durumda ve DAG dolayısıyla da mailbox database kopyaları güncellenmeye başlıyor.
Tüm işlemlerimiz bunlardan ibarettir.
Yararlı olması dileğiyle.
Yusuf İşleyen
Referans link : https://docs.microsoft.com/en-us/exchange/troubleshoot/administration/exchange-cannot-mount-database-larger-than-1024-gb