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 olmasa da 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ı yapmasak ta mevcut bir sunucu down olduğunda diğer sunucu up olmaktadır. Genellikle çift yapılı node durumların oluşturulur. İ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 cluster’daki sunucularımın göreceği ortak bir iSCSI disk yapılandırılması […]

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 olmasa da 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ı yapmasak ta mevcut bir sunucu down olduğunda diğer sunucu up olmaktadır. Genellikle çift yapılı node durumların oluşturulur.

İ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 cluster’daki 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ıza da sahiptir. Sadece  bir sunucum witness diski kullanırken diğer sunucum diski göremez. 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 FAİLOVER CLUSTER KURULUM(yunusyucel.com) 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.

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 diyoruz.

Diskimize herhangi bir harf belirliyoruz.

NTFS ve 64K seçtikten sonra diskimize bir isim veriyoruz.

Next deyip gelen ekranda finish dedikten sonra işlemlerimi sonlandı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ı.

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

Tools bölümünden iSCSI 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 component 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.

 

To create an iSCSI virtual disk… bölümüne tıklandığında aşağıdaki kısım 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 adresleride girilebilir. Girilecek ip adresi DISK_ETHERNET ip adresi.

Bu ekranda bizden IQN isimlerimizi teker teker istiyor. 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 düzenleme yapmadan bir sonraki aşamaya geçiyoruz.

Gerekli kontrolleri yaptıktan sonra create deyip oluşturuyoruz.

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 kısmından iSCSI Initiator kısmından target kısmından 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 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’n geldiğini görmüş oluyoruz.

Bu disk kurulumunu yapalım. Başlangıçta 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 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ından networklarımın geldiğini görmüş oluyoruz.

Şimdi disk ekleme işlemlerini yapacağız.

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

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.

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 Node’lar ü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.

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

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

Benzer Yazılar

SQL SERVER RIGHT-LEFT PARTITION

SQL Server 5 gün önce

SQL Server’da partitioning, büyük veritabanı tablolarını daha yönetilebilir ve performanslı hale getirmek amacıyla kullanılan bir tekniktir. Bu teknik, tablonun verilerini fiziksel olarak değil, mantıksal olarak parçalara ayırır. Veriler, belirli bir partition function ve partition scheme kullanılarak farklı bölümlere yönlendirilir. Partitioning, özellikle büyük veri kümeleriyle çalışan veri tabanlarında sorgu performansını artırır ve veri yönetimini kolaylaştırır. Partition Function ve Partition Scheme nedir? Partition Function: Verilerin hangi kriterlere göre bölüneceğini belirler. Örneğin, bir tarih aralığına göre verileri ayırmak. Partition Scheme: Verilerin hangi filegroup’larda depolanacağını belirler.   Örnek olarak Range LEFT ve Range RIGHT olmak üzere iki ayrı tabloda partition nasıl yapılır sizlere göstereceğim. İlk olarak Range LEFT olan partition yapısından başlayacağım. Öncelikle Veri tabanıma yeni filegroup ve file ekliyorum Şimdi sıra FUNCTION ve SCHEME oluşturmakta ben tablomu yıllık olarak partition yaptım sizler ihtiyaçlarınız doğrultusunda aylık,günlük vs yapabilirsiniz. LEFT partition dediğimiz olay vermiş olduğunuz tarih aralığına eşit bir veri geldiğinde bu veriyi solundaki partition […]

Veritabanı Recovery Pending Durumu ve Düzeltme Seçenekleri

SQL Server 2 hafta önce

İçindekilerVeritabanı Recovery Pending Durumu Nedir?Veritabanı Neden Recover Pending Duruma Düşer?Recovery Pending Durumu Nasıl Çözülür?SonuçKaynaklarVeritabanı Recovery Pending Durumu Nedir? SQL Server’da veritabanları bazı nedenlere bağlı olarak “Recovery Pending” (Kurtarma Bekleme)  moduna geçebilir. Veritabanın düzgün bir şekilde kapatılmaması, eksik veya bozuk log dosyaları, disk depolama sorunları, sistemde yaşanan anormal şekilde çökmeler veya MS SQL Server’daki hatalar bu duruma sebep olabilir. Recovery durumu, aslında veritabanını tekrar kullanılabilir hale getirmek için bir kurtarma işlemi yürüttüğünü ifade eder ve üç aşamadan oluşur; Analysis (Analiz): Transaction log incelemesi yapılması ve işlemlerin tamamlanma (Commit) durumunun kontrol edilmesi, Redo (Yeniden İşleme): Tamamlanmış (Commit) ancak henüz diske yazılamamış olan işlemlerin yeniden işlenmesi, Undo (Geri Alma): Başlamış (Begin) ancak tamamlanmamış (Commit) işlemlerin  geri alınmasıdır.   Veritabanı Neden Recover Pending Duruma Düşer? SQL Server Restart Süreci SQL Server servisi restart edildiğinde üzerinde bulunan tüm veritabanları tutarlılığın sağlanması için otomatik olarak recovery moduna girer ve redo/undo işlemleri sürecince devam eder. Ani Sistem […]

SQL Server DMV ve DMF – 6

SQL Server 2 hafta önce

Bu yazımızda DMV ve DMF Serimizin 6.sına devam edeceğiz. Bir önceki seride Memory’ye ilişkin DMV ve DMF’leri ele almıştık. Bu yazıda Memory konusunda devam edeceğiz. SQL server’da Memory kavramı en önemli kavramlardan biridir. Özellikle tüm transaction işlemlerinin önce Buffer sonra disk üzerinden devam ettiğini düşünürsek buffer’ın oynadığı kritik rolü daha iyi anlayabiliriz. Bu yazıda Memory’nin durumunu ve monitör edilmesine bakacağız. Özellikle Performans sorunlarında memory konusunda sorun yaşandığı durumda nasıl okumak gerektiği önemli rol oynamaktadır. Hangi database’de, hangi tablo’da sorun yaşandığına ilişkin bilgilere bu paylaşım sonrasında görebileceğiz. SQL Server’ın Memory kullanım durumunu incelediğimde; select physical_memory_in_use_kb/1048576.0 AS ‘physical_memory_in_use (GB)’, locked_page_allocations_kb/1048576.0 AS ‘locked_page_allocations (GB)’, virtual_address_space_committed_kb/1048576.0 AS ‘virtual_address_space_committed (GB)’, available_commit_limit_kb/1048576.0 AS ‘available_commit_limit (GB)’, page_fault_count as ‘page_fault_count’ from  sys.dm_os_process_memory; Görsel – 1   Physical_memory_in_use: Kullanımda olan Fiziksel Memory miktarını gösterir. locked_page_allocations: Memory’de lock’lanmış olan Page’lerin miktarını belirtir. virtual_address_space_contained: SQL Server VAS(Virtual Adress Space) için ayrılan miktarı belirtir. available_commit_limit: SQL Server tarafından kullanılabilecek Memory Miktarını gösterir. […]

1 Yorum

  • […] edilmesi gereken Nodes kısmında eğer 3, 5, 7 gibi tek sayıda sunucu olduysa yani quarum disk (Failover Cluster Yapısına Quorum Disk Witness Ekleme makalesini de okumanızı tavsiye ederim) veya witness file share var ve bunlarında dahil olması […]

Yorum Yaz

Rastgele