Failover Cluster Yapısına Quorum Disk Witness Ekleme

Bu makalede mevcut Failover Cluster yapısı kurulu olan bir sistemde Quorum Disk Witness ekleme işlemini ele alacağız. Quorum disk kurulumuna geçmeden önce Quorum yapısını ne olduğundan bahsedeyim.

Mevcut clusterımızın ayakta kalması için cluster database dosyalarının tutulduğu kısımdır. Bu yapının çalışabilmesi için cluster yapımızda bulunan toplam sunucuların yarısından bir fazla ile sunucu oy hakkına sahip olur ve lider olarak ayağa kalkması sağlanır. Bu yapımız olmasada olur aslında bir sıkıntı yaşamayız. Sorun şurada karşımıza çıkar iki sunucu aynı anda down oldu ve iki sunucu aynı milisaniye zamanında ayağa kalkmaya çalışırsa mevcut sistemimizin çalışmamasına sebep olur. Bu riskin önüne geçmek için Quorum yapısı oluşturulur. Bu yapılandırmayı yapmasakta mevcut bir sunucu down olduğunda diğer sunucu up olmaktadır. Genellikle çift yapılı node durumların oluşturulur.

Disk witness özelliğinde genellikle aynı lokasyonda olan sunucular üzerinde yapılmaktadır. File Shared Witness özelliğinde farklı lokasyonlarda bulunan sunucuların konfigürasyonu için gerekli bu yapıda disk witness yapısında çalışmaktadır.

İki farklı quorum modeli bulunmaktadır. Bunlar Disk Witness yapısı diğeri ise File Shared Witness yapısıdır.

Herhangi bir failover cluster yapısı oluşturduğumuzda clusterdaki sunucularımın göreceği ortak bir iSCSI disk yapılandırılması yapılmışsa clusterımız otomatik olarak en küçük disk yapılandırmasını Disk Witness olarak ayarlar. Bu yapı oluşturulduğunda diske sahip sunucu cluster yapımızada sahiptir. Sadece  bir sunucum witness diski kullanırken diğer sunucum diski göremez. Sadece secondary sunucularında görülmektedir. Diski gören sunucum ise diske yazma işlemi yapmaktadır. Genellikle sistemlerde  1 GB boyutunda verilmektedir. Görmüş olduğum canlı sistemlerde  5 GB olarak verilmektedir. Teori bilgi olarak minumum 512 MB gereklidir. Her sunucum vote olarak geçmektedir.

Bu teori bilgilerden sonra şimdi uygulamalı bir şekilde Disk Witness yapımızı oluşturalım.

Benim elimde 3 sunucu bulunmaktadır. Bunlar active directory kurulu olan AD sunucusu, Sql Server ve AlwaysOn yapımızın olduğu S1 ve S3 sunucumuz bulunmaktadır. Bu 3 sunucum aynı domain içerisinde olan bir yapı. S1 ve S3 sunucum aynı cluster içerisinde birbirleriyle senkron bir şekilde çalışan bir yapı. Ayrı bir disk sunucusu tanımlamayıp AD sunucusu üzerinde bir 5 GB’lık boş bir disk yapılandırarak iSCSI yapısıyla sunucularımın bağlanmasını sağlayacağım. 3 sunucumunda birbirleriyle disk haberleşmesi için kullanacağı  farklı bir Ethernet bağlayacağım. Bu yapıların nasıl oluşturulacağı ile ilgili herhangi bir bilgi sahibi değilseniz FAILOVER CLUSTER KURULUM makalelerini baştan sonra  okumanızı  tavsiye ederim.

İlk başta 3 sunucuma farklı bir isimde Ethernet yapımı oluşturmuş oldum.

3 sunucum DISK_ETHERNET üzerinden aynı ip bloğundan haberleştiğini test etmiş oldum. Dikkat ederseniz aşağıdaki resimde görülen ip’lerin sunucu ip bloğundan farklı olduğunu görmekteyiz. (10’lu blok)

Bu haberleşmenin testini yaptıktan sonra AD sunucum üzerine tanımlamış olduğum 5 GB’lık null alanı tanımlayalım.

AD sunucumda run kısmına diskmgmt.msc yazıp disk management ekranımı açıyorum.

Gelen ekranda tanımlamış olduğum 5 GB’lık boş alanın geldiğini görmüş oluyorum. Tanımlanan bu alanı yapılandırma işlemine geçelim.

Offline üzerine sağ tıklayıp online yapısına alıyoruz.

Online yapısına aldıktan sonra Not Initialized üzerine sağ tıklayıp Initialize Disk yapıyoruz.

Gelen ekranda GPT seçiyoruz.

Daha sonra Unallocated alanına sağ tıklayıp New Simple Volume diyiyoruz.

Gelen ekranda next deyip bir sonraki adıma geçiyoruz.

Boş tanımladığımız 5 GB’lık alanda bir değişiklik yapmayıp next diyiyoruz.

Diskimize herhangi bir harf belirliyoruz.

NTFS ve 64K seçtikten sonra diskimize bir isim veriyoruz. Allocation unit size’da sql server için tavsiye edilen best practice 64K’dır. Biz burada quorum’u konfigure ediyoruz ama yine de 64 olmasında bir sakınca yok.

Next deyip gelen ekranda finish dedikten sonra işlemlerimi sonladırıyorum.

Disk Management ekranından diskimizin yapılandırıldığını görmüş oluyoruz.

Sırada S1 ve S3 sunucularımızın AD sunucusu üzerinde tanımlanmış olan disk yapısını görme işlemini yapmış olacağız.

İlk başta Cluster Node’ları hazır hale getirelim. S1 sunucusuna giriyorum.

Tools bölümünden iSCI Initiator kısmına tıklanıp bu servis aktif hale getirilir.

Açılan ekranda en sağda Configuration kısmından Initiator Name kısmını kontrol ediyoruz sunucu isminde  herhangi bir sıkıntı var mı.

Yukarıda S1 sunucusunda bu servisi çalıştırdıktan sonra şimdi sıra S3 sunucusunda bu işlemleri yapmakta.

Tools bölümünden iSCI Initiator kısmına tıklanıp bu servis aktif hale getirilir.

Açılan ekranda en sağda  Configuration kısmından Initiator Name kısmını kontrol ediyoruz sunucu isminde  herhangi bir sıkıntı var mı.

Şimdi ise bir iSCSI hedefi oluşturmaya çalışacağız. İlk başta yapacağımız iSCSI target server compunent yapısını oluşturmak bunun için server manager ekranından yeni bir role ekliyoruz.

AD sunucumun üzerinde bu ayarlamaları yapıyorum.

Gelen ekranda iSCI Target Server ve iSCI Target Storage Provider yapısını seçmek gerekiyor.

Next deyip gelen ekranda Yes’e tıkladıktan sonra install deyip kurulum işlemlerini yapıyorum.

Kurulum işlemi başarılı bir şekilde tanımlanmış olur. Target compunent’lerimiz yüklendi. Server Manager>File and Storage Services> iSCSI kısmına girilir. Bu işlemleri hatırlatmak adına AD sunucumda yapıyorum.

To create an iSCI virtual disk… bölümüne tıklandığında aşağıdaki ekran görüntüsü karşımıza gelmektedir. Burada Quorum olarak tanımladığımız disk karşımıza gelmiş bulunmakta. Tanımlamış olduğum E diskimi seçip Next deyip bir sonraki aşamaya geçiyorum.

Gelen ekranda sanal diskime bir isim veriyorum.

Normalde fixed size seçilmesi gerekmektedir. Test ortamım olduğu için Dynamically expanding yapısını seçiyorum.

Gelen ekranda yeni bir yapılanma oluşturacağım için  new iSCS target kısmını seçip next diyiyorum.

Gelen ekranda bir isim verdikten sonra next deyip bir sonraki aşamaya geçiyorum.

Hedefteki sunucularımı eklemek için add kısmına tıklıyorum.

Enter a value for the selected type kısmını seçtikten sonra type kısmından ip,iqn,dnsname,mac adress kısımlarını seçebiliriz. Bunlar hedefteki sunucularımızı ne olarak tanımlamak istiyorum ekranı. Örneğin ip seçilip S1 ve S3 sunucularının ip adresileride girilebilir. Girilecek ip adresi DISK_ETHERNET ip adresi.

Bu ekranda bizden IQN isimlerimizi teker teker istiyor. Çünkü türünü böyle seçtik. Bunun için S1 ve S3 sunucusunda iscsi initiator kısmına girip oradan almış olduğumu kısımları buradan ekliyoruz.

S1 sunusunda server manager>tools bölümünden iscsi initiator kısmına tıkladığımızda configuration bölümünden Initiator Name kısmındaki değeri alıp yukarıdaki Value kısmına yapıştırıyoruz.

İnitiator name kısmından ilgili yeri kopyalayıp aşağıdaki value bölümüne  yapıştırıyoruz.

Aynı işlemleri ikinci sunucu içinde yapıyoruz.

Gelen ekranda herhangi bir işlem yapmadan bir sonraki aşamaya geçiyoruz.

Gerekli kontrolleri yaptıktan sonra create deyip işlemleri tamamlıyoruz.

Başarılı bir şekilde işlemlerin gerçekleşmiş oldu.

AD sunucumda başarılı bir şekilde kurulum yaptıktan sonra şimdi sıra geldi S1 ve S3 sunucu konfigürasyonda.

AD sunucusunda bu işlemleri yaptıktan sonra  S1 ve S3 sunucusunda server manager bölümünde tools sekmesi altında bulunan iSCSI Initiator kısmına tıkladıktan sonra gelen ekranda Targets kısmında hedef sunucunun yani AD  sunucusunun  disk yapılanması için verdiğim ip adresi yazılmaktadır. Bu verilen ip ikinci oluşturduğum ethernetin ip bloğunda olan bir ip adresi.

İp adresi yazılıp quick connect denilir.

Gelen ekranda iscsi target seçilir done işlemine alınır.

Gelen ekranda bağlanmasına rağmen işlemimiz garanti olsun diye tekrardan connect yapısına tıklıyorum. Normalde Status kısmında inactive yazmaktadır.

Gelen connect to target kısımında advanced sekmesine tıklanır. Buranın bir kere açılması gerekmektedir. Bazen hata verebilir.

Önümüze gelen ekranda herhangi bir değişiklik yapmayıp ok tuşuna basıyoruz.

Enable multi-path kısmının seçilmesi gerekmektedir.

Bu şekilde işlemlerimi tamamlıyorum.

Aynı işlemleri ikinci sunucum içinde yapıyorum yukarıdaki yapının aynısı.

Bu adımlardan sonra şimdi ise bakalım S1 ve S3 sunucusuna disklerimiz null olarak tanımlanmış.

S1 sunucumdan disk yapılanmasını yapıyorum.

Bunun için run kısmına diskmgmt.msc yazıyoruz.

Disk sunucumuzdan tanımlamış olduğumuz disk’in geldiğini görmüş oluyoruz.

Bu disk kurulumunu yapalım. Önceki makalelerde disk kurulumu yaptığım için direk sonucu paylaşmak istedim.

S3 sunucusunda disk yapılandırılmasını yapalım S1 sunucusunda kurduktan sonra ikinci sunucuda(S3) sadece online’a almak yeterlidir.

Böyle bir hata çıkar önemsenmemesi gerekmektedir. Ok dedikten sonra tekrar online dediğimizde  QUORUM diskimiz gelmiş olacak. E diski neden geldi çünkü DISK sunucumuzda bu E olarak tanımlanmış.

Failover cluster ekranından witnes olmadığını gözlemlemekteyiz.

Failover cluster ekranında DISK_ETHERNET ethernetinin geldiğini görmüş oluyoruz.(Cluster Only)

Şimdi disk ekleme işlemlerini yapacağız. Failover Cluster Manager’a gelip sağ tıklayarak aşağıdaki gibi Add Disk diyoruz.

Gelen ekranda oluşturmuş olduğumuz diski seçiyoruz.

Not: Şunu belirtmek gerekirsek Quorum Diskimiz değişebilir. Yeni bir quorum disk eklemek istediğimizde bu adımlar yapılıp yeni olan disk failover clusterımıza eklenir. Daha sonra More Actions> Configure Cluser Quorum Settings bölümünde yeni olan diskim quorum olarak seçilmektedir. Eski olan quorum diskim Available storage olarak gözükecektir.

Disk yapımız gelmiş oldu dikkat edersek assigned to kısmında available storage olarak gözükmektedir. Bu yapıyı witness’a geçirmek için aşağıdaki adımların yapılması gerekmektedir.

Quorum disk yapısına geçiş için clusterımızın üzerine sağ tıklanır. More Actions> Configure Cluser Quorum Settings kısmına tıklanır.

Not: Quorum için tanımlanan disk üzerinde ClusterNameObject’imize yani aşağıdaki resimde görülen windows clusterımız olan SQLCLS’ye full control yetkisi ve bu disk üzerinde işlem yaptığımız kullanıcıya da full control yetkisi verilmesi gerekmektedir. Bu işlem için Bilgisayarımda ilgili diske sağ tıklıyoruz ve properties diyoruz. Security Tab’ından Edit diyerek Add diyoruz. Object Types kısmında Computer’ı seçmezseniz CNO’yu yetkilendiremezsiniz. Bir makalede gördüğüm için genel makale akışı bozulmasın diye not olarak belirlemiş oldum. Cluster yetkisi için ilgili makale okunabilir.

Gelen ekranda next denilip bir sonraki aşamaya geçilir.

Yeni bir Quorum yapacağımız için Advanced quorum configuration bölümüne tıklanır.

Not: Farklı bir diskimizin Quorum disk olarak devam etmesini istiyorsak Select the quorum witness olarak seçilip yeni diskimizin set edilmesi gerekmektedir. bu seçildikten sonra ikinci gelen ekranda Configure a disk witness seçilerek yeni olan diskimiz seçilebilir.

Gelen ekranda belirli node’lar veya tüm nodelar üzerinde quorum yapısını oluştururuz. Ben tüm node’larım üzerinde yapmak istiyorum. Next deyip bir sonraki adıma geçilir.

Disk Witness kuracağım için Configure a disk witness seçeneği seçilir.

Next dedikten sonra gelen ekranda mevcut eklemiş olduğumuz disk yapısı seçilir.

Next finish deyip işlemlerimi bitiriyorum.

Failover Cluster Manager bölümünde Disks kısmına geldiğimizde Assigned To kısmında Disk Witness in Quorum olduğunu görmüş bulunmaktayız.

Baştaki teori bilgidende yola çıkarak S1 primary sunucusu üzerinde QUORUM disk yapısının olmadığı ama secondary sunucusu üzerinde olduğunu gözlemlenmekte. Çünkü secondary sunucusunda yazma işlemi var.

Not: 2 node’lu bir sistemde sunucuların 1-1 oy hakkı vardır aynı oy hakkı witness dosyasında veya diskindede vardır. kısacası 2 node’lu bir sistemde 3 oy hakkı vardır.

S3 sunucusuna bağlantı sağlandığında disk yapımızı görmekteyiz.

Not: Quorum disk kesin olarak hangi node’da çalışacağıyla ilgili kesin bir kural yoktur. Failover cluster üzerinden kendimizde manuel olarak node seçebiliriz. Sunucu üzerinde büyük bakım işlemlerinde çalışma olmaktadır. Failover cluster ekranında disk bölümünde ilgili disk yapımızı seçtikten sonra Move available storage kısmında manuel seçim işlemi yapabiliriz.

Bu makalede baştan sona kadar Failover Cluster  yapımızda QUORUM disk yapımızı ele almış olduk.

Başka makalede görüşmek dileğiyle..

Göklerde ve yerde ne varsa hepsi Allah’ındır. Allah’ın ilmi ve kudreti her şeyi kuşatmıştır. Nisa-126

Author: Yunus YÜCEL

1 thought on “Failover Cluster Yapısına Quorum Disk Witness Ekleme

Bir yanıt yazın

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