Berkay Yapici
Odeal-Tech
Published in
5 min readDec 25, 2020

--

Microsoft SQL Server 2016'da Always-On yapılandırması

SQL 2016 üzerine Always-On yapılandırmasının nasıl yapılacağını, adım adım aşağıdaki ekran görüntüleri ve açıklamalarda bulabilirsiniz. Sunucu isimleri IP adresleri gibi bilgiler Bilgi güvenliği sebebiyle kapatılmıştır.

Always-On yapısı Domain ortamında Failover Cluster servisi üzerinden yapılandırıldığı için ilk olarak cluster yapılandırmasını, Quorum file Share ayarlarını göstererek işlemlere devam edeceğim. Burada dikkat etmemiz gereken nokta biz 3 node için yaptığımızdan dolayı bütün sunucularımızda failover cluster servislerinin kurulu olması gerekmektedir.

İlk olarak Server managemant ekranından Add Roles diyerek ilerliyoruz,

Roles kısmında herhangi bir ekleme yapmamıza gerek olmadığından dolayı direk olarak Features ekranından Failover Cluster seçeneğini işaretliyoruz.

Failover Cluster servisini seçtikten sonra onunla birlikte eklenecek standart Features’lara onay veriyoruz.

Kurulumlar tamamlandıktan sonra Validate etmemiz gerekmektedir. Kafa karışıklığı yaratmaması adına validate işlemlerini node 1 üzerinden yapma taraftarıyım herhengi bir node üzerinden de yapılmaktadır.

Validate dedikten sonra domain ortamında SQL kurulu node’larımızın isimlerini girerek işlemlere başlayacağız.

Node seçimlerinden sonra Cluster adı ve bu cluster için bir ip belirlememiz gerekmektedir. sunucularımdan 1 tanesi DR (Disaster Recovery)ortamında olduğundan dolayı ip bloğu farklı bu nedenle 2 farklı ip bloğunda boş 1 er ip’ye sahip olmamız gerekmektedir.

Kurulumlar tamamlandıktan sonra Cluster quorum ayarları yapılmak için Failover Cluster Servisi açılır.

Bizler ayarları file share quorum olarak kullanacağımız için öncesinde erişilebilirliği yüksek olan makinalarımızdan 1 tanesinde paylaşım klasörü oluşturmamız gerekmektedir. Ardından aşağıdaki adımları izleyeceğiz

Advanced quorum configuration adımı seçilir. Ardından Cluster’a dahil olan sunucularımızı seçiyoruz. Configure file Share witness seçildikten sonra paylaşım yapılan sunucuda belirtilen klasör (yeni klasör ya da açılan klasör) seçilir. Bu yöntem yerine yapınızda kapanmayan bir file server bulunuyorsa, do not configure seçeneği üzerinden ilerleyip kurulumların bitiminde de witness ayarlarınızı belirteceğiniz sunucuya yapabilirsiniz.

Cluster Ayarlarını tamamladıktan sonra SQL Server Configuration Manager ekranından Instance seçilir ve ayarlarından Alway-On High Availability sekmesine gelinir. Burada oluşturduğumuz cluster görünecektir. Enable Always-On Availability Grups seçilir.

SQL servisini çalıştıran kullanıcı Domain ortamında oluşturulur karmaşık bir şifre tanımlanır ve makinada local admin yetkisi verilerek SQL servis user seçilir, bu 2 işlemin ardından sql servislerinin yeniden başlatılması gerekmektedir. Bu işlemler 3 node için de aynı şekilde olacaktır..

Restart işlemlerinin ardından SQL Managemant Studio ile SQL ortamına bağlanılır. Always-On’da Primary olacak makinamızda kurum veya proje için ekleyeceğimiz DB’leri oluşturmamız gerekmektedir. Oluşturulan DB’nin Full ve Transaction log backuplarını alıyoruz. Eğer Join Only ile kurulumlara devam edeceksek diğer 2 node’a bu DB leri ekleyip restore modelini restore with no recovery olarak ayarlamamız gerekmektedir. Automatic Seeding ile devam edilecekse sadece backup almamız yeterli olacaktır.

Always-On high availability sekmesinin altında bulunan availability group’a sağ tıklanıp New Availability Group Wizard ekranına girilir.

Bu adımda yapılan işlemi özetleyecek olursak, proje veya kurum bazında DR testleri veya farklı node’lara yük dağıtmak adına bu işlemleri yapacağız. Projelerin aynı makina üzerinde kaynak bağımlılığına sebep olmamak için node’lara dağıtılıp yükü dengelemek daha rahat olacaktır. Ve DR testlerinde bütün projeleri test etmektense tek tek proje bazlı DR testlerini gerçekleştirebiliriz.

Availability grubumuza bir isim vermemiz veriyoruz.

3 node’a da eklediğimiz DB’yi seçiyoruz, Backup işlemlerini yapmadığımız DB’lerin seçimlerini gerçekleştiremiyoruz.

Replikasyon seçeneklerini aşağıdaki ekranda belirliyoruz, node1 ve node2 ye otomatik failover seçeneğini işaretliyoruz. Kullanacağımız yapıda DR olduğundan dolayı otomatik failover’ı Merkez sunucularımız için seçiyoruz. 3 node’da otomatik senkronizasyon yapması için senkronizasyonu 3 makina için seçiyoruz. Son olarak Database’lerimize secondary Node’lar üzerinden de erişim ihtiyacımız olacak ise Readable seçeneklerinin Yes olması gerekiyor. Burada internet hızınızı düşünerek DR ortamı özelinde asenkron ayarları da yapabilirsiniz.

Backup kısmı için herhangi birşey yapmamıza gerek yok. En iyi performans için her zaman 2.sunucu üzerinden yedekleme işlemlerinin yapılması seçeneğini standart bırakıyoruz.

Listener kısmı çok önemli. Projelerde DB bağlantılarında kullanıldığından ve her zaman primary node istekleri karşılayacağından dolayı dikkat etmemiz gerekiyor. Create a new listener seçilerek listener adı, çalışacağı port ve ip adresleri girilir. İp adresleri farklı bloklarda olduğundan dolayı 2 blok için de ip adresi girilmesi gerekmektedir.

Son olarak DB’lerin bağlantı şekillerini belirliyoruz, Burada 2 yöntem ile Database eklenmektedir. 1. yöntem DB’lerimizi Manuel olarak no recovery seçeneği ile restore edilmesi ve ardından join only seçeneğinin kullanılması. Diğer Yöntem ise Automatic Seeding yöntemi. Automatic Seeding yönteminde Database oluşturulması ve diğer sunuculara verilerin atılması işlemleri otomatik yapılmaktadır. Bu işlem için 3 sunucunun da SQL için Data ve Log dizinlerinin aynı konumlarda olması gerekmektedir. Aksi takdirde işlemlerde hatalar alınır.

  1. Yöntem join only;

2. Yöntem Automatic Seeding;

Bu seçenekte Database Restore edilmeyip secondary SQL node’larımızda aynı isimle database olmamasına dikkat etmemiz gerekmektedir. Burada benim kurduğum gibi farklı Vlan ve lokasyonlarda ortamlarınız varsa eğer, datanın boyutuna göre senkronizasyon süreleri değişiklik gösterecektir. Always-On Show Dashboard seçeneğinde uyarılar ile karşılaşabilirsiniz. Bir süre bekledikten sonra uyarıların ilk olarak aynı vlanlardaki sonrasında farklı vlan’larda olan SQL Server’dan kalkacağını göreceksiniz.

Validation ekranlarında hata alınmadığında kurulumlar otomatik olarak tamamlanıyor.

Always-On kontrollerimiz için;

Oluşturmuş olduğumuz HAGroup’a sağ tıklayıp Show Dashboard seçeneğine gidelim. Aşağıdaki gibi bir ekran ile karşılaşıyorsanız eğer işlemler başarıyla tamamlanmıştır.

Zaman ayırıp okuduğunuz için Teşekkür Ederim.

--

--