Sıfırdan HyperV-Windows Server-Active Directory-Failover Cluster-MSSQL Server-AlwaysOn Kurulumu-5

Bir önceki makalemizde 4. Aşamayı yaptıktan sonra şimdi gelelim beşinci aşamaya. Sizde sıfırdan HyperV-Windows Server-Active Directory-Failover Cluster-AlwaysOn kurulumu yapmak isterseniz adımları takip edebilirsiniz.

5. AŞAMA

Bu makalemde Microsoft sql server teknolojisinden en gelişmişi olan always-on kurulumundan bahsedeceğim.

AlwaysON teknolojisi Mirroring Teknolojisinin üzerine kurulmuştur. Mirroring’in geliştirişmiş halidir diyebiliriz. AlwaysOn kurabilmek için aynı windows cluster içerisinde olması zorunlu olan en az 2 sunucuya ihtiyaç duyulur.  AlwaysON’da  birden fazla veritabanı grubu oluşturulabiliyor. Bu gruba AG(Availability Group) deniyor. Failover AG bazında gerçekleşiyor.

AlwaysOn kurulumu için bulunmuş olduğumuz instance’da Always On High Availability yerine tıklıyoruz. Ben always on kurulumunu S1\TEST instance üzerinde yapıyorum.

Resimde Always On High Availability olan yere tıkladıktan sonra aşağıdaki hata mesajıyla karşılaştım.

Bu hata mesajı sql server üzerinde alwayson özelliğinin aktif edilmesi gerektiğini söylüyor. Bu özelliği aktif etmek için bulunduğumuz sunucuda Windows arama kısmına sql server 2017 configuration Manager yazıyorum.

SQL Server Services kısmında SQL Server(TEST) kısmına sağ tıklayıp properties kısmına giriyoruz.

Yeni gelen ekranda AlwaysOn High Availability sekmesinde Enable AlwaysOn Availability Groups ikonunu işaretlememiz gerekiyor. Burada başka önemli olan kısım Windows failover cluster name kısmında bizim kurmuş olduğumuz cluster gözükmesi gerekmektedir.

Bu ayarlamaları yaptıktan sonra apply deyip çıkıyoruz. Bizden servisi restart yapmam gerektiğini söylüyor.

Bunun için sql servis’i restart yapıyorum.

S1 sunucusunda bu işlemlerimi yaptıktan sonra aynı Alwayson aktifleşme işlemlerini S2 sunucusundada yapıyorum. S2 sunucumda aynı ayarlamaları yaptıktan sonra AlwaysOn kurulumu yapacağım  S1 sunucuma geliyorum.

Resimde de görüldüğü gibi AlwaysOn bölümünün açıldığını görmüş oluyoruz. Artık AlwaysOn kurulumuna başlayabiliriz. AlwaysOn High Availability sekmesine sağ tıklayıp New Availability Group Wizard’a tıklıyorum.

Gelen ekranda next deyip ilerliyorum.

Gelen ekranda Availability group name kısmında AG’ye bir isim veriyorum. Cluster type kısmında hangi cluster yapısını kullanıyorsak onu seçiyoruz. Ben Windows Server Failover Cluster yapısını kullandığım için cluster type’ı onu seçiyorum.

Database Level Health Detection (Veritabanı Sağlık Algılama):Veritabanı seviyesinde sağlık kontrolü yapar. Normalde Availability Group sağlık kontrolü (failover durumu), sunucu seviyesinde yapılır. Ancak bu seçenek aktif edildiğinde, sadece sunucu değil, veritabanı içindeki sağlık problemleri de dikkate alınarak failover tetiklenebilir. Örneğin: Disk hataları, Transaction log dolması, Veritabanı erişim hataları gibi durumlar failover’a neden olabilir. Avantajı daha hassas ve doğru failover kararları verilir.

Distributed Transaction Coordinator (DTC), MSDTC servisini kullanarak birden fazla veritabanına yayılmış işlemleri yönetir. Eğer işaretlenirse, her veritabanı için ayrı DTC desteği sağlanır. Özellikle çoklu veritabanı transaction’ları kullanan uygulamalarda faydalıdır. SQL Server Always On gibi yüksek erişilebilirlik yapılarında, birden fazla veritabanı veya sunucu arasında işlemlerin tutarlı ve güvenli bir şekilde yönetilmesini sağlar. DTC, dağıtık işlemlerin koordinasyonunu üstlenerek, veritabanlarındaki değişikliklerin tutarlı ve güvenilir bir şekilde uygulanmasına olanak tanır. Bu, özellikle dağıtık veritabanı senaryolarında, verilerin tutarsızlık göstermesini engeller ve yüksek erişilebilirlik sağlayan yapıları daha sağlam hale getirir. Örneğin: Bir transaction, hem Veritabanı-1 hem Veritabanı-2 üzerinde çalışıyorsa, DTC devreye girer. Ancak: Always On kullanırken DTC desteklemeyen veritabanları varsa, bu ayar kapalı tutulmalı. Eğer işaretlenirse, DTC desteklemeyen veritabanlarında hata oluşabilir. Seçip seçmemek tercihinize bağlıdır.

Next dedikten sonra yeni gelen ekranda herhangi bir veritabanı olmadığı için boş bir ekran geliyor internetten indirdiğim AdventureWork2014 veritabanını S1\TEST instance’a restore ediyorum.

Refresh ettikten sonra restore ettiğim veritabanının geldiğini görmüş oluyoruz. Yukarıdaki resimde dikkat edersek bir sonraki adıma geçemediğimizi görmekteyiz. AdventureWorks2014 veritabanını AlwaysOn’a dahil edebilmem için recovery model’in full olması gerekiyor bunun için AlwaysOn yapısına alacağımız  veritabanının üzerine sağ tıklayıp properties>options kısmından recovery model’i full yapıyorum. Çünkü secondary sunucusu ldf dosyasını okuyarak kendini senkron eder. Çünkü sql serverda yapılan her işlem ldf dosyasına yazılır.

Bu işlemi yaptıktan sonra tekrar AlwaysOn kurulum ekranına geliyorum tekrar refresh yapıyorum.

Şimdi ise bu veritabanının backup’ının alınması gerektiğini söylüyor. Bunun için AdventureWorks2014 veritabanının backup’ını alıyorum. Bu işlem AlwaysOn yapısının kendini garanti altına almasından dolayıdır.

Backup’ı alıp tekrardan AlwaysOn kurulum ekranında refresh yaptığımda veritabanının AlwaysOn’a dahil olabileceğini söylüyor. Dahil ettikten sonra next deyip bir sonraki ekrana geçiyorum.

Bir sonraki ekranda primary ve secondary sunucularımı belirliyorum gerekli konfigürasyonunu yapıyorum.

Add Replica diyerek secondary sunucum olan S2 sunucusunu seçiyorum. Aynı instance ismi olunmasına dikkat edilmeli.

Connect dedikten sonra  S2\TEST’i secondary olarak eklemiş oluyorum.

Herhangi bir failover anında system’in otomatik failover işlemini yapmasını istiyorsak yukarıda  işaretli olan  seçeneği seçiyoruz. Availability mode kısmında primary ve secondary sunucularının verileri aktarırken senkron veya asenkron aktarılmasını belirliyoruz. Readable seçeneği secondary sunucusunda okunup okunmayacağını belirliyoruz.

Bu adımı geçtikten sonra endpoint kısmına geliyoruz.

Endpoints bölümünde ise portnumber veya endpoint ayarlamaları yapabiliriz. Şuna dikkat etmek gerekir farklı bir instance altında ikinci bir AG kursaydık portnumber 5023 olması gerekirdi.

Bu ekranda herhangi bir değişiklik yapmadan üst tarafta bulunan Backup Preferences bölümüne geçiyorum. Bu ekranda backup’ların nereden alınması gerektiğini soruyor. Primary seçip üst tarafta bulunan Listener kısmına geçiyorum. Şunu da belirtmek gerekir tüm backup’lar primary sunucusunda gerçekleşir. Diğer kısımlar başka bir makalede detaylı bir şekilde paylaşılmış olunacak. Bu makalede sadece AlwaysOn kurulumunu gerçekleştirmek.

Listener bölümünde kullanıcıların sql server’ a bağlanırken primary sunucusunun hangi sunucu olduğunu öğreneceği bir  listener oluşturmamız gerekecek son kullanıcılar veritabanı sunucularına bağlanırken bu listener’ı veya port numaralarını bilecek ve bağlanacak. Bu yüzden bir listener ismi port numarası ve add bölümünden bir kullanılmayan ip’ye ihtiyaç duyacağız. Kullanıcılar AlwaysOn altında çalışan sunucuların fiziksel isimlerini bilmez sadece listener ismine gelir bakar hangisi primary’se ona gider. Kısacası kullanıcı listener’a gelir daha sonra failover üzerinden hangi sunucunun primary olduğunu öğrenir o şekilde bağlantı sağlamaktadır.

Listener ismi ve port numarası belirledik şimdi ise Add bölümünden ip adresi belirlememiz gerekiyor.

Sunucularımla aynı network bloğunda olması için kullanılmayan bir ip’nin belirtilmesi gerekiyor.

Read-Only Routing bölümünde hangi sunucuda kullanıcıların okuma yapacağı veya rapor çekeceği sunucu belirlenir. Ben bu ekranı geçiyorum başka bir makalede bu işlem yapılabilir.

Next deyip bir sonraki adıma geçilir. AdventureWorks2014 veritabanının  S2 sunucusuna nasıl aktarılacağını belirliyoruz. Bizim elimizde AdventureWorks2014 veritabanı küçük olduğu için Automatic seeding modu seçilir. Diğer kısımların ne iş yapacağı  uygulamalı bir şekilde başka bir makalenin konusu.

Next deyip bir sonraki adıma geçiyoruz. AlwaysOn’un başarılı bir şekilde kurulduğunu görmüş oluyoruz.

Next deyip bir sonraki aşamaya geçiyoruz. Finish deyip AlwaysOn kurulumunu tamamlıyoruz.

Şimdi S1\TEST instance’ından Always on High Availability kısmını bakıyoruz.

S2\TEST instance’ında Always on High Availability kısmına bakalım.

S2\TEST instance’ındada AlwaysOn’un doğru bir şekilde yapılandırıldığını görmüş oluyoruz.

Yukarıdaki resimlerde Always On High Availability kısmından iki sunucu ve instance’ımda  konfigürasyonunu görebiliriz.

Şunuda belirtmek gerekir ki yukarıda listener’ı tanımlarken listener sayesinde kullanıcı AlwaysOn arkasında hangi sunucu olduğunu bilmez demiştik. Kullanıcı listener ismi ve port numarası ile bağlanır hangi sunucu primary ise ona gider.

S1 sunucusu primary olduğunda listener’a bağlandığında aşağıdaki resim gibi olmaktadır.

Active directory üzerinden LISTENER objemizin oluştuğunu görmüş oluyoruz.

Aynı durumu Dns Manager  üzerinden de görebiliriz.

Görmüş olduğumuz tüm bu bölümler sıfırdan bir local bilgisayarda sanallaştırma nasıl aktif edilir ve en son adım olarak  AlwaysOn konfigürasyonunu yapmış bulunmaktayız. Bundan sonraki AlwaysOn  makalelerimizde daha detaylı bir şekilde tüm kurulumları görmüş olacağız.

“Ben sizi alev alev yanan bir ateşe karşı uyarmış bulunuyorum. Ona yanıp kavrulmak üzere ancak en azılı, en bedbaht olan girer; Dinî yalanlayan ve Allah’a kulluktan yüz çeviren o bedbaht!” Leyl-14-16

Author: Yunus YÜCEL

1 thought on “Sıfırdan HyperV-Windows Server-Active Directory-Failover Cluster-MSSQL Server-AlwaysOn Kurulumu-5

Bir yanıt yazın

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