SQL Server Always On Availability Group Resource Ayarları (LeaseTimeout, HealthCheckTimeout, FailureConditionLevel)

Bir AG çalışırken, Windows Failover Cluster ile SQL Server arasında bazı zaman aşımı değerleri kullanılır. Bu değerler, cluster’ın SQL Server’ın durumunu doğru şekilde takip etmesini ve gerektiğinde failover (yük devretme) yapmasını sağlar.

Failover cluster ekranından resimlerdeki belirtilen yerde bulunabilir. Hangi AG role üzerinde bu işlem yapılması isteniyorsa ilgili AG yapısı seçilmektedir.

Properties’dan ilgili bölümden düzenleme yapılan bölüme ulaşılır. Kullanılan sql server sürümüne göre seçenekler değişmektedirler.

Yukarıda bulunan bazı parametrelerin ne anlama geldiğini görmüş olalım.

LeaseTimeout: SQL Server’ın cluster’a her belirli sürede bir “ben yaşıyorum” sinyali (lease) göndermesi gerekir. Bu sinyal belirtilen süre içinde yenilenmezse, cluster SQL Server’ı yanıt vermiyor olarak değerlendirir. Varsayılan değer genelde 20000 ms (20 sn)’dir. Lease süresi dolarsa, AG resource offline olur ve failover tetiklenebilir.

HealthCheckTimeout: SQL Server içindeki sağlık kontrolü için beklenen en uzun süredir. SQL Server’ın iç durumunu kontrol eden sp_server_diagnostics prosedüründen cevap gelmez ise bu süre aşılır. Varsayılan değer genelde 30000 ms (30 sn)’dir. Varsayılan değer genelde 30000 ms (30 sn)’dir. Sağlık kontrolleri sürekli olarak bir sorun olduğunu gösterirse, cluster bu durumu failover’a dönüştürebilir.

FailureConditionLevel: SQL Server’ın iç sağlık hatalarında otomatik failover’un ne seviyede tetikleneceğini belirler. 1’den 5’e kadar değer alabilir: 1 = en düşük tolerans (çoğu durumda failover) 5 = en yüksek tolerans (daha ciddi olaylarda failover) Level 3 (çoğunlukla default) → ciddi sistem hatalarında failover

Bu ayarlar birlikte çalışarak SQL Server’ın durumunu ölçer:

AyarNe kontrol eder?Failover etkisi
LeaseTimeoutSQL Server’ın cluster ile bağlantısıLease süresi dolarsa failover
HealthCheckTimeoutSQL Server’ın iç sağlığıCiddi sağlık sorunlarında failover
FailureConditionLevelHangi tür hataların failover’a neden olacağıDaha düşük seviye = daha hassas

Neden Bu Ayarları Düzenlemelisiniz?

  • Ağdaki kısa süreli yavaşlamalar nedeniyle gereksiz failover’ı engellemek
  • SQL Server çevrim dışı iken yanlışlıkla failover olmasını önlemek
  • Daha esnek veya daha sıkı failover davranışı ayarlamak

Genel Öneriler

  • Değerleri çok düşük tutmak → kısa süreli gecikmelerde bile failover’a neden olabilir
  • Değerleri çok yüksek tutmak → gerçek arızaların tespiti gecikebilir

Bu nedenle production ortamlar için dikkatli ayar yapılmalıdır.

Bu makalede SQL Server Always On Availability Group Resource Ayarları görmüş olduk. Başka makalede görüşmek dileğiyle..

“Kim zerre kadar iyilik yapmışsa onu görür.”Zilzal Suresi-7. Ayet

Author: Yunus YÜCEL

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir