ALWAYS ON

Always On Mimarisi


Always On Nedir?

Always On, Microsoft SQL Server’ın sunduğu yüksek erişilebilirlik (High Availability) ve felaket kurtarma (Disaster Recovery) çözümlerinden biridir. "Always On" adı altında birden fazla teknoloji sunulmaktadır ve en yaygın kullanılanları şunlardır:

1. Always On Availability Groups (AG)

Bu, birden fazla SQL Server örneğini (instance) kullanarak veritabanı düzeyinde yüksek erişilebilirlik sağlar. Temel özellikleri:

  • Birincil (primary) ve ikincil (secondary) replikalar içerir.
  • Veritabanı düzeyinde çalışır (instance düzeyinde değil).
  • Otomatik failover (yüksek kullanılabilirlik için) ve manuel failover (felaket kurtarma için) destekler.
  • Okuma işlemleri için ikincil replika kullanılabilir (read-only replica).
  • Senkron ve asenkron replikasyon destekler.

2. Always On Failover Cluster Instances (FCI)

Bu, Windows Server Failover Clustering (WSFC) altyapısını kullanarak SQL Server instance’ını birden fazla sunucu (node) arasında erişilebilir hale getirir. Özellikleri:

  • Tüm instance’ı (ve içindeki tüm veritabanlarını) kapsar.
  • Genellikle shared storage (paylaşımlı disk) gerektirir.
  • Yüksek kullanılabilirlik sağlar ama felaket kurtarma senaryoları için tek başına yeterli değildir.

Mimaride Kullanılan Cihazlar

Primary Secondary Domain Controller Cluster Listener
192.168.50.3 192.168.50.4 192.168.50.2 192.168.50.7 192.168.50.8

VMware ve Windows Server 2019 Kurulumu


Always On, kurulumunu yapacağımız cihazların kurulumu için gerekli olan windows işletim sistemini ve windows işletim sistemininin kurulumunu yapacağımız vmware programının kurulumunu yukarıdaki videodan takip edebilirsiniz.

Microsoft SQL Server Kurulumu


Always On, kurulumunu yapacağımız Primary ve Secondary sunucularımıza mssql kurulumu yapmak zorundayız. Bunun için gerekli olan mssql programını yukarıdaki videodaki adımları izleyerek kurabilirsiniz.

Domain Control Sunucusu


Always On, kurulumunu yapacağımız Primary ve Secondary sunucularımız aynı domain altında olmak zorundadır. Bunun için sunucularımıza statik ip adresi verip aynı dns sunucusuna bağlıyoruz. Ve mssql'i ortak bir kullanıcı ile kullanarak güvenliği ve tutarlılığı arttırmak için ortak bir kullanıcı hesabı oluşturuyoruz.

Always On Availability Group Kurulumu


Nihayet always on kurulumu için gerekli olan ön koşulları (aşağıdaki tam liste) tamamladık ve artık Always On Availability Group Kurulumu na geçiyoruz. Bu videoda mssql sunucumuzun kullanıcısını daha önce oluşturduğumuz ortak1 kullanıcısı olarak değiştiriyoruz ve sonrasında da cluster ve listener oluşturuyoruz. Artık kullanacağımız bütün cihazları kurmuş olduk. Bu cihazları aynı organizational unit altında topluyoruz. Primary ve secondary makinemiz için ortak bir windows failover cluster oluşturup cihazları dahil ediyoruz. Ardından availiability group kurulumunu bu video içerisinde kurduğumuz windows failover cluster üzerinden tamamlıyoruz. Artık kurulumumuz tamamlandı. Always on kurulumu yaptığımız veritabanının altında primary ve secondary halde aktif olarak availiability group durumunu görebiliriz.

Kurulum İçin Gerekli Koşullar


  • Aynı Domain Üyesi Olmalı,
  • Aynı Zaman ve Saat (NTP Sync) diliminde olmalı,
  • Aynı Windows Versiyonu (Önerilir) olmalı,
  • Aynı SQL Server Versiyonu ve Edition olmalı,
  • Always On Özelliği Aktif Olmalı,
  • Windows Failover Cluster Kurulmalı,
  • Ağ Bağlantısı Olmalı,
  • Gerekli Portlar Açık Olmalı,
  • Gerekli Ortak SQL Server Rolleri Olmalı,
  • Cluster Hesabı için İzinler Olmalı.

Kurulum Sonrası İnceleme


Always On kurulumunu tamamladıktan sonra bütün kurduğumuz cihazların durumunu ve aktif olarak çalışmalarını, Activity monitor üzerinden yaptığımız yazma işlemlerini, Primary sunucumuzda yaptığımız değişikliklerin senkron olarak secondary makineye yazıldığını ve Otomatik failover yapısının çalışmasını inceleyip kontrollerini sağladık ve artık always on yapımız hazır halde kullanılabilir durumda olduğunu gördük. Gelecek videolarda always on ile ilgili alarm ve gerilik kontrolü hakkında geliştirmeler yaparak devam edeceğiz görüşmek üzere.

File Share Witness Kurulumu


File Share Witness Nedir?

Cluster’ın minimum quorum gereksinimini sağlamak için ek bir oy sağlar. Cluster’daki mevcut node’ların çoğunluğunu kaybetmesi durumunda, File Share Witness devreye girer ve cluster'ın sağlıklı bir şekilde çalışmaya devam etmesini sağlar.

Quorum Nasıl Hesaplanır?

Quorum hesaplaması şu şekilde yapılır:
• (Toplam Oy Sayısı / 2) + 1 formülü ile quorum eşiği hesaplanır.
Eğer oy sayısı eşit olursa veya quorum sağlanamazsa, cluster çalışmayı durdurur.