Bir önceki makalemizde 2. Aşamayı yaptıktan sonra şimdi gelelim üçüncü aşamaya. Sizde sıfırdan HyperV-Windows Server-Active Directory-Failover Cluster-AlwaysOn kurulumu yapmak isterseniz adımları takip edebilirsiniz.
3. AŞAMA
Bu aşamada sql server always on kurulumu için şart olan failover cluster kurulumu yapacağız. Failover cluster kurulumuna geçmeden önce ne olduğunu ne işe yaradığını ele alalım.
Failover Cluster yapısı, veri tabanı dünyasında “kesintisiz hizmet” dediğimiz olgunun bel kemiğidir. Bir sunucu çöktüğünde diğerinin bayrağı devralıp yarışı devam ettirmesini sağlayan bir ekip çalışması gibi düşünebilirsin.
Windows Server Failover Cluster (WSFC), birlikte çalışan bir grup bağımsız sunucunun, uygulama ve servislerin erişilebilirliğini artırmak için oluşturduğu yapıdır.
Always On Availability Groups (AG) yapısında WSFC’nin kullanılma sebepleri şunlardır:
- Health Monitoring: Cluster, düğümlerin (node) sağlığını sürekli kontrol eder. Eğer bir sunucu yanıt vermeyi keserse, sistem bunu anında fark eder.
- Resource Management: SQL Server servislerinin hangi sunucuda “primary” (aktif) olacağını Cluster yönetir.
- Quorum Mekanizması: “Oylama” sistemiyle, hangi sunucunun ayakta kalacağına karar vererek veri tutarsızlığını (split-brain) engeller.
Sunucuların bir cluster çatısı altında toplanabilmesi için temel şart Active Directory Domain üyesi olmalarıdır. Ancak teknik detaylara indiğimizde şunlar kritik önem taşır:
- Sunucular aynı Active Directory domaininde (veya güven ilişkisi olan domainlerde) olmalıdır.
- Sunucuların birbirleriyle ve dış dünya ile iletişim kurabileceği stabilize bir ağ yapısı şarttır.
- İşlemci mimarilerinin ve işletim sistemi sürümlerinin (örneğin hepsi Windows Server 2022) aynı veya uyumlu olması “Validation” testinden geçmek için gereklidir.
- Cluster’ın kendine ait bir isim ve IP alabilmesi için DNS üzerinde kayıt oluşturabilme yetkisi olmalıdır.
Cluster’a Virtual IP (Sanal IP) atarız. Bu IP’nin amacı şudur:
- Cluster altındaki sunucuların her birinin kendi fiziksel IP’si vardır (Node 1: 10.0.0.1, Node 2: 10.0.0.2). Ancak dış dünyaya kendilerini tek bir IP üzerinden (örneğin 10.0.0.10) tanıtırlar.
- SQL Server Listener bu sanal IP(10.0.0.10) üzerinde yükselir.
- Cluster mekanizması der ki: “Şu an Node 1 aktif. 10.0.0.10 (Sanal IP) trafiğini Node 1’in ethernet kartına yönlendir.” Sen dışarıdan 10.0.0.10’a veri gönderdiğinde, bu paket fiziksel olarak Node 1’e gider.
- Node 1 çöktüğünde, Cluster saniyeler içinde şunu yapar: “Node 1 gitti! Hemen 10.0.0.10 (Sanal IP) etiketini Node 1’den sök ve Node 2’nin ethernet kartına yapıştır.”
Son kullanıcının veya uygulamanın doğrudan bir sunucu ismi (örneğin DB_SUNUCU_01) yerine Availability Group Listener ismini kullanması hayati önem taşır.
Senaryo:
- Uygulama
SQL_LISTENERismine bağlanır. - O an Primary (aktif) olan sunucu hangisiyse, Listener trafiği oraya yönlendirir.
- Eğer Primary sunucu çökerse, Cluster saniyeler içinde Secondary sunucuyu Primary yapar.
- Uygulama tarafında bağlantı kısa süreliğine kopsa bile, uygulama hala aynı SQL_LISTENER ismine gitmeye çalıştığı için yeni Primary sunucuyu otomatik bulur.
Eğer Listener olmasaydı: Sunucu çöktüğünde tüm uygulama kodlarındaki Connection String’leri (bağlantı cümlelerini) elle yeni sunucu ismine göre tek tek değiştirmen gerekirdi. Listener bu süreci tamamen otomatikleştirir.
Kısacası failover cluster kurula bilmesi için sunucuların aynı Windows cluster’da olması lazım. Biz burada alwayson yapısının aslında failover cluster yapısının üzerine kurulu olan bir yapı olduğu için biz bu örnekte sadece sunucularımızın bağlanacağı bir yapı oluşturacağız. Kurulum ve yapılandırma öncesinde NODE’lar üzerinde aşağıdaki gereksinimleri sağlıyor olmamız gerekmekte.
- Sunucularımızın Region ( Bölge ) ayarlarının English ( United States ) olarak yapılandırılmış olması gerekmektedir.
- Sunucular üzerinde Windows Firewall devre dışı duruma getirilmelidir.
- Sunucularımızın üzerinde User Account Control kapatılmalıdır. Sayfamızda bulunan Windows Server Üzerinde User Account Control Nasıl Kapatılır makalesini okuyabilirsiniz.
- Sunucularımızın üzerinde Anti-Virus yazılımının kurulmaması ve kurulu olan Anti-Virüs programların devre dışı bırakılması gerekmektedir.
- Sunucularımızın üzerindeki bütün Driver, Bios, Firmware güncelleştirmelerinin yapılması ve aynı seviyede olması gerekmektedir.
- Sunucularımızın üzerindeki Windows Update’lerin yapılması ve aynı seviyede olması gerekmektedir.
Failover cluster kurulumuna geçmeden önce sunucularımızın domain’e dahil olduğunu aşağıdaki resimde görmekteyiz.

S1 sunucusu üzerinde server manager bölümünü açıyoruz. Aşağıdaki resimde görünen Dashboard ekranından Add roles and features bölümünü veya üst tarafta bulunan manage bölümüne tıklayarak failover cluster ekleme adımlarıma geçiyorum.

Before you begin ekranından next deyip ilerliyorum.

Role-based or feature-based insallation : Rol ve Özellik bazında ekleme ve çıkarma imkanı verir.
Remote Desktop Services installation: Remote Desktop Services (uzak masaüstü) kurulum ve yapılandırmasını buradan yapabiliriz.
Role-based or feature-based installation ikonuna tıkladıktan sonra next deyip ilerliyorum.

Select destination server ekranın da kurulumu hangi sunucu üzerinde yapılacak ise o sunucuyu seçmemiz gerekiyor.
Sunucu adımı, domain adımı ve ip kontrolü yaptıktan sonra next deyip bir sonraki aşamaya geçiyorum. ipv6 özelliğini kapatmamış olsaydık ilgili ipv6 ip adreside burada görülmüş olurdu ilerleyen aşamalarda hatalarla karşılaşmamıza sebep olurdu.

Gelen Features bölümünde Failover Clustering seçiyorum.

Add Features dedikten sonra next deyip ilerliyorum.

Next deyip ilerliyorum.

Gelen ekranda kurulum bittikten sonra gerek duyulduğunda sunucunun otomatikmen restart olmasını istiyor musun denilen Restart the destination server automatically if required ikonu işaretliyorum ve sağ altta bulunan Install tuşuna basıyorum.

Sunucumda failover cluster kurulum işlemlerime başlıyorum.

Kurulum bittikten sonra sunucum kendini otomatikmen Restart ediyor. Kurulumun başarılı olduğu ifadesini gördükten sonra kapatıyorum ekranımı.

YUKARIDAKİ S1 SUNUCUSUNA EKLEDİĞİMİZ FAİLOVER CLUSTER ADIMLARININ S2 SUNUCUSUNDA YAPILMASI GEREKMEKTEDİR. İKİ SUNUCUYU AYNI CLUSTER YAPISINA DAHİL ETMEK İÇİN BU YAPI ŞARTTIR.
S2 sunucuma failover cluster eklendikten sonra şimdi S1 sunucusu üzerinde cluster kurulumuna devam edelim.
Cluster kurulumum için server manager ekranında Tools bölümü altında Failover Cluster Manager bölümüne tıklıyorum.

Sağlıklı bir failover cluster kurulumu için Failover Cluster Manager ekranında sağ tarafta bulunan validate configuration bölümüne tıklıyorum. Buraya ilerlemeyip hemen create cluster diyerek işlemlerime başlayabilirim ama validate configuration bölümü bize herhangi bir eksiğimiz olup olmadığını söylemiş olacak.

Not: Eğer kurulmuş bir cluster yapımız varsa ilgili cluster üzerine sağ tıklayıp validate configuration diyebiliriz.
Next diyerek bir sonraki adıma geçiyoruz..

Gelen ekranda Browse bölümünde Cluster yapacağımız sunucularımızı seçiyoruz.

Gelen ekranda aşağıdaki gibi hangi cluster’ı validate edecekseniz Enter name kısmına onu yazmanız gerekiyor.
Browse sekmesine tıkladıktan sonra önümüz gelen ekranda Locations bölümünden domain yapımı seçiyorum.

Domain controler’ımı seçiyorum.

Cluster’a dahil edeceğim sunucularımı seçmek için Advanced sekmesine tıklıyorum.

Advanced sekmesine tıkladıktan sonra gelen ekranda Find now ikonuna tıklayarak sunucularımın seçim işlemi yapılır.

Cluster’da olacak S1 ve S2 sunucumu seçip OK butonuna basıyorum.

İki sunucumu seçtikten sonra tekrardan OK butonuna basıyorum.

Aşağıdaki resimde görmüş olduğumuz gibi Selected servers or a Cluster kısmından sunucularımı seçmiş oluyorum.

Next deyip ilerliyorum. Gelen ekranda tavsiye edilen Run all tests’i seçip next diyiyoruz.
NOT: Genellikle Run only tests I select’i seçiyoruz. Run all tests(recommended)’ı seçmeme sebebimiz disklerin konfigürasyonunu kontrol ederken uygulamada kısa kesintilere neden olabilmesi. Ben test ortamım olduğu için ilk seçeneği seçiyorum. Run only tests I select’i seçtiğimizde storage’ı çıkarmamız gerekiyor.

Gelen ekranda test işlemlerimize başlamak için Next diyiyoruz.

Test işlemlerine başlamış oldum bu işlem aslında sunucularımda herhangi bir sorun varsa cluster kurmadan önce reaksiyon almam için yapılan bir işlem.

Test işlemim tamamlanmış oldu view report kısmından detaylı çıkan rapor sonucunu inceleyebiliriz. Herhangi bir sorunla karşılaşmadım. Create the cluster now using the validated nodes kısmından create cluster kurulumuna hemen geçebiliriz.

Create the cluster now using.. bölümünü seçmeyip failover cluster manager bölümünden yapmak istiyorum. Bu ikona tıklasaydım hemen create cluster bölümüne bağlanmış olacaktım.
Failover cluster manager bölümüne gelip Create Cluster kısmını tıklıyorum.

Create Cluster Wizard ekranı açıldıktan sonra next deyip ilerliyorum.

Browse sekmesinden cluster’a dahil olacak sunucularımı seçiyorum. Aslında browse tıklamadan direk sunucu adlarımı enter server name kısmına yazıp add dersek selected server kısmında eklendiğini görmüş oluyoruz. Uzun bir şekilde bu işlemleri yapalım.

Locations bölümünden domain controler seçildikten sonra advanced bölümünde ise cluster’a dahil olacak sunucularım seçilir.

Gelen ekranda Find now bölümüne tıklıyoruz.

Find now’a tıkladıktan sonra karşımıza username ve password bölüme gelir buraya active directory sunucusunun kullanıcı adını ve şifresini yazmamız gerekmektedir.

Yukarıdaki ekrandan giriş yaptığımızda artık sunucularımızı görmüş oluyoruz ve cluster’a dahil olacak S1 ve S2 sunucusunu seçtikten sonra ok tuşuna basıyoruz.

Ok tuşuna basıp S1 ve S2 sunucusunu ekliyoruz.

Next deyip ilerliyorum.

Gelen ekranda failover cluster’a bir isim ve kullanılmayan bir ip vermek gerekiyor. Burada dikkat etmemiz gereken ip verirken sunucularımızla aynı network ağı içerisinde olan bir ip verilir. Cluster name oluştururken alt tire(_) gibi noktalama işaretlerinin kullanılmaması tavsiye edilir.
Cluster adı, tüm cluster’ın kimliğini belirleyen bir isimdir ve failover cluster’ı tanımlamak için kullanılır. Bu isim, cluster’ın yönetimi ve uygulamalarla etkileşimi için önemlidir. Cluster adı şu amaçlarla kullanılır:
Cluster, içindeki tüm düğümlerin bir araya geldiği bir yapı olduğundan, bir ana isimle tanımlanması gerekir. Bu isim, yönetim araçlarında ve günlüklerde kolayca referans verilebilir.
Cluster adı, sistem yöneticilerinin cluster’ı yönetebilmesi için kullanılır. Bu ad üzerinden cluster’a bağlanabilir ve yönetimsel işlemleri gerçekleştirebilirsiniz.
Neden failover cluster’a bir ip ve kullanılmayan bir isim verilir. Biz alwayson kuruyoruz ve alwayson listener üzerinden haberleşiyor.
Cluster Name ve IP: Bir binanın temeli ve ruhsatıdır. Bina (Cluster) resmi olarak var olmak için bir adrese ve tapu kaydına (Active Directory kaydı) ihtiyaç duyar.
Listener Name ve IP: Bu ise binanın girişindeki resepsiyondur. Müşteriler (Son kullanıcılar) sadece resepsiyonla muhatap olur.
Neden sadece Listener yetmiyor
- Windows işletim sistemi, bir IP adresini (Listener) boşlukta tutamaz. O IP’nin bir “sahibi” olması lazım. Listener’ın sahibi, senin o kurduğun Cluster servisidir. Eğer Cluster’ın kendi ismi ve IP’si (temeli) olmazsa, üzerinde Listener’ı taşıyamaz.
- Failover Cluster Manager ekranını açtığında hangi yapıya bağlanacağını oluşturduğun “Cluster Name” üzerinden bağlanıyorsun. Eğer o isim ve IP olmasaydı, iki sunucuyu birbirine bağlayan o “ortak yönetim alanı” oluşmazdı.
- Always On yapısında bir Listener oluşturduğun zaman, Windows gidip Active Directory’de “Benim ana Cluster ismim şu, şimdi onun altına bir de şu Listener ismini ekliyorum” diyerek izin alır. Ana isim (Cluster Name) olmazsa, AD üzerinde bu yetkilendirmeyi yapamazsın.
Özetle:
- Cluster IP/Name: Sunucuların birbirine “Biz artık bir grubuz” demesi ve Windows’un bu grubu tanıması için şart olan kimlik kartıdır. (Kullanıcı buraya bağlanmaz, sistem bunu kullanır).
- Listener IP/Name: Kullanıcının veritabanına ulaşması için kullanılan kapı zilidir. (Sistem burayı kullanıcılara hizmet etmek için açar).
AG yapılandırmalarında, Listener adı verilen bir IP adresi ve ağ adı kullanılır. Bu, veritabanı istemcilerinin, hangi sunucunun aktif olduğu fark etmeksizin sürekli olarak veritabanlarına bağlanabilmesini sağlar. Cluster IP adresi, Always On yapısındaki listener’a yönlendirilir ve failover sırasında dinamik olarak yönlendirme yapılır.
Ayarlamaları yaptıktan sonra next deyip bir sonraki adıma geçilir.

Gelen ekranda Add all eligible storage to the cluster ifadesi, cluster oluştururken, uygun olan tüm depolama alanlarını cluster’a eklemenizi sağlar. Bu, sunucular arasında paylaşılan disklerin doğru şekilde yapılandırılmasına ve yönetilmesine olanak tanır. Cluster’daki her düğüm (node), bu paylaşılan diskler üzerinden veri okuma ve yazma işlemleri yaparak, herhangi bir düğüm arızasında verilerin kaybolmasını engeller ve sistemin yüksek erişilebilirliğini sağlar.
Cluster kontrollerimi yaptıktan sonra next deyip ilerliyorum.

Cluster kurulumuma başlamış oldum.

Kurulumum tamamlanmış oldu. Finish deyip işlemlerimi bitiriyorum.

Cluster’ın oluşturulduğunu başarılı bir şekilde görmüş olduk.

Aşağıdaki resimde oluşturmuş olduğumuz cluster’daki Nodes bölümünde sunucuları görmekteyiz.

Active directory’de oluşturduğumuz cluster objesininde geldiğini görmüş oluyoruz.

Şimdi S2 sunucusunu kapatalım bakalım ne gibi bir sonuçla karşılaşacağız.

Görüldüğü gibi S2 sunucumuz down durumunda tekrar açalım S2 sunucumuzu. Sonuç olarak tekrar aktif olduğunu görmüş oluyoruz buda sorunsuz bir şekilde cluster yapımızın çalıştığını gösteriyor.

DNS üzerinde cluster objesinin geldiğini görmüş oluyoruz. Failover cluster name gözükmesi gerekmektedir.

4. adım olarak S1 ve S2 sunucularımızda Sql Server kurulumu yapalım.
Bu yazıyı okuduktan sonra şimdi Sıfırdan HyperV-Windows Server-Active Directory-Failover Cluster-AlwaysOn Kurulumu-4 makalesini okumalısınız.
“Kim de malını iyilik yolunda harcamada cimri davranır ve kendisini Allah’a muhtaç görmezse, O en güzel söz olan kelime-i tevhidi yalanlar ve gereğini yapmaktan yüz çevirirse, Ona da dünyada kötülük yolunu, âhirette de cehennemin yolunu kolaylaştırırız. O, baş aşağı cehennemin çukuruna doğru yuvarlanırken malı kendisine hiçbir fayda sağlamaz.” Leyl-8-11

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