Azure Sql Server AlwaysOn

AZURE SQL SERVER ALWAYSON

 

    Sql Server 2012 ile birlikte gelen en büyük yenilik AlwaysOn olmuştur. AlwaysOn ile birlikte kesintisiz ve sıfır veri kaybı garantisi High Availability senaryoları için gelmiş oldu. Primary sunucusunda DML işlemlerini yaparken, secondary sunucusunda Select ve Backup operasyonlarını yapabilme özelliği ile AlwaysOn popüler olmaya başlamıştı.

    Load balancer özellikleri ile de, Select sorgularının iş yükünü dağıtarak daha fazla performans sağlamıştır. Sql Server 2016 ile birlikte, senkron nodeların 3’e çıkması, bu 3 node arasında load balance yapılması en büyük yeniliklerden birisiydi.

    Otomatik failover özelliği ile, birkaç saniye içinde nodelar arasında geçişi sağlamıştır. Primary sunucunun herhangi bir nedenden dolayı hizmet dışı kalması durumunda, AlwaysOn’nun bunu algılayarak secondary node’a sıfır veri kaybı ile geçiş yapabilmektedir.

    Senkron nodeların dışında, asenkronlar dahil edilerek farklı iş yükleri için kullanılabilmektedir. Sql backuplarını diğer nodelar üzerinden alınması, primary sunucudan bu iş yükünü almıştır. Database bozulmaları içinde otomatik repair özelliği ile, bozulma olan nodelardaki databaseleri otomatik olarak repair etme özelliği ile veri tutarlılığını sağlamış olmaktadır.

    On-prem sistemlerde sıkça kullanılan AlwaysOn yapısını, Azure tarafında kullanabilmekteyiz. AlwaysOn mimarisine geçecek firmalar için yeni donanım yatırımı ve datacenter maliyetlerini azaltmak için Azure tarafındaki hazır AlwaysOn mimarisini mutlaka incelemelidir.

    Azure AlwaysOn iki farklı setup ile karşımıza çıkmaktadır. İlki on-prem de yaptığımız gibi, tüm kurulumları kendimiz yaptığımız, network, OS, Sql Server, WFCS v.b. Diğer setup ise, Azure AlwaysOn template’ini kullanarak kurulumu otomatik olarak yapmaktır. Bu makalede sizlere Azure AlwaysOn template üzerinden nasıl AlwaysOn kurabiliriz bundan bahsedeceğiz.

    Senaryomuzun sonunda aşağıdaki şekildeki gibi bir yapı oluşacaktır.

SAON-1

    Bu kurulum sonrasında oluşacak yapıyı aşağıda özetleyelim;

  • Domain controllerlar için subnet 1, Sql serverlar içinde ayrı bir subnet oluşacak
  • Active Directory’de iki domain controller
  • Sql Server’lar iki sanal makine üzerine kurulacak
  • AlwaysOn Availibity Mode senkron yapıda çalışacak şekilde ayarlanacak.

 

Kurulum için Azure hesabınmız ile azure portalına giriş yapmamız gerekiyor. Azure portal adresi https://portal.azure.com

Hesabımız ile giriş yaptıktan sonra, Azure AlwaysOn için hazır olan template’i arama alanında arıyoruz.

Sol taraftaki +New – arama kutusuna alwayson yazarak, azure template’ini arıyoruz.

SAON – 2

Sql Server AlwaysOn Cluster’ı seçerek devam ediyoruz.

SAON – 3

Seçimi yaptıktan sonra Azure AlwaysOn ile ilgili bilgi veren bir ekran geliyor. Aşağıdaki Create butonu ile devam ediyoruz..

SAON – 4

İlk olarak Basics ekrnaında Administrator adı ve şifresi, birden fazla aboneliğiniz var ise, Subscription’dan seçim yapabiliyorsunuz.

Resource group’tan yeni bir kaynak grubu oluşturacağız.

Location olarak da, West Europe olarak seçiyoruz. Ok ile devam ediyoruz.

SAON – 5

Domain and Network Settings kısmında

Domain adı, virtual network name, domain controller’a ait subnet adı ve Sql serverlara ait subnet adını giriyoruz. Bu alanlara girilen isimleri seçerken alan ile ilgili isimler seçmekte fayda var.

SAON – 6

Availibility Group Settngs

Availability Group adını, Availability Group Listener adını ve portu bu ekranda tanımlıyoruz.

SAON – 7

Kurulacak olan domain controller, file share server ve Sql Server ların kapasitelerini seçeceğimiz ekranda, domain controller ve file share için en düşük maliyetteki sanal makinaları otomatik olarak getiriyor.

Sql Serverlar içinde, seçimi bizim yapmamız gerekiyor. İlk olarak Sql Server Virtual Machine Size’ı seçmek için, üzerine tıkladığımızda, sağ tarafta açılan ekranda sanal makine seçimi yapacağız.

Üst tarafta disk seçimini SSD veya normal HDD olarak seçebiliyoruz.

Benim aboneliğim partner olduğu için ücretler bende gelmiyor, Sizler giriş yaptığınızda makinaların alt taraflarında price kısımlarını göreceksiniz, uygun olan iş yüküne göre makine seçebilirsiniz.

Azure template’inde AlwaysOn senkron yapıda kurulduğu için, burada seçtiğimiz sanal makinayı, iki tane olarak primary ve secondary olarak bire bir aynı kurulacaktır.

SAON – 8

Sql sanal makine seçiminden sonra, Sql Storage Account’a tıklayarak storage accunt adını tanımlıyoruz.

SAON – 9

Sql Server data disk size kısmında, Sql Server data dosyalarının konumlanacağı diskin boyutunu terabayt cinsinden oluşturabiliyoruz. Minimum 1 TB olarak oluşturuyor, 1 TB’den daha az olamıyor. Bu Sql diskinde, data ve log dosyalarınızı aynı disk üzerinde konumlandırıyor, eğer log dosyalarınızı ve tempdb’yi ayrı disklere almak istiyorsanız, daha sonra Azure üzerinde sanal makinalara diskler oluşturarak bu işlemi yapmanız gerekmektedir.

Storage optimizasyon kısmında, Sql Server OLTP sistem demi yoksa Data Warehouse olarak mı kullanacak ise, buna göre seçim yapıyoruz.

SAON – 10

Sql Server Settings

Sql server name prefix’i tanımlıyoruz.

Sql server version kısmında, Sql Server 2012, 2014, 2016 Enterprise veya developer versiyonu seçebiliyoruz.

Sql Server service Account adı ve şifresini giriyoruz.

Sql auto patching kısmında, sql güncellemelerinin yükleneceği gün ve saat seçimi yapılabiliyor. Sql Server AlwaysOn yapısı olduğundan, Sql Server updatelerinin sırayla yapılması daha iyi olacaktır.

,

SAON – 11

Summary kısmında, oluşturduğumuz tüm konfig bilgileri buraya gelmektedir. Son kontrolleri bu ekran üzerinden yapabilirsiniz.

SAON – 12

Buy kısmında Terms of use bildirisini okuyup Purchase ile Sql Server AlwaysOn tepmlate’ini satın almış oluyoruz.

SAON – 13

Deployment başladı, Azure portalın sağ üst köşesindeki bildirimler bilgi ekranından kurulumu takip edebilirsiniz.

SAON – 14

Deployment tamamlandıktan sonra, AlwaysOn sunucularına bağlanıp, AlwaysOn yapısının nasıl oluşturulduğunu kontrol edeceğiz.

Kurulum tamamlandıktan sonra, aşağıda görülen 22 tane servis, sunucu, network altyapısını oluşturmuş oluyor.

SAON – 15

Sql Server AlwaysOn yapısı Azure üzerinde yaklaşık 1 saatlik deployment sonrası kurulmuş oldu, Sql primary makinasına bağlanıp, AlwaysOn yapısını kontrol edelim.

Primary makinasına bağlanmak için, SqlServer-0 isimli (virtual machine) makinasına tıklıyoruz.

SAON – 16

Connect diyerek uzak masaüstü kısayolu ile SqlServer – 0 makinasına bağlanacağız.

SAON – 17

Sunucuya bağlandıktan sonra Sql Server Management Studio’yu açıyoruz.

SqlServer-0 sunucusuna bağlandıktan sonra AlwaysOn High Availability’i açtığımızda, AlwaysOn’nun kurulduğunu görmekteyiz.

SAON – 18

AlwaysOn’nun kurulabilmesi için, bir adet database’in AlwaysOn’a eklenmesi gerekmektedir. Kurulumu sorunsuz tamamlamak için, AlwaysOn template’i bunu deployment sırasında otomatik olarak yaptığını görmekteyiz.

Bu aşamadan sonra, AlwaysOn’a databaseleri ekleyip kullanmaya başlayabiliriz. Bu makalede sizlere, Azure üzerinde Sql Server AlwaysOn yapısını, hazır template üzerinden nasıl deploy edileceğini anlatmaya çalıştım. AlwaysOn kurulumu sırasında birçok konfig ayarını, bu template sayesinde otomatik olarak kolay bir şekilde yapılandırıldığını görmüş olduk.