Server 2012 R2 Failover Cluster Servisinin Yeniliklerinin Detaylı İncelemesi
Portalımızda Cluster servisi ile çok detaylı makaleler anlatıldığı için burada fazla detaya girmeden özetle Cluster Servisini anlatmak gerekirse, Windows’un servislerinizin yüksek erişebilirliğini sağlamak için kullanılan servistir. Cluster ile sunucu yedekliliği hedeflenmektedir. Bu makalemizde sizlere Windows Server 2012 R2 ile birlikte Cluster servisindeki yenilikleri anlatacağım.
Konuyu detaylandırmadan önce aşağıda hazırlamış olduğum özet tabloda görüleceği üzere geliştirilen 7 özelliğin 5’i Hyper-V alanında. Yeni gelen 10 özelliğin üçü de Hyper-V ortamı için. Görüleceği üzere Windows Server 2012r2 ile gelen sanallaştırma servisi olan Hyper-V hem sürümü üçe yükselmiş oldu hem de Cluster servisindeki yeniliklerle servis sürekliliği arttırılmış / iyileştirilmiş oldu.
Özellikler |
2008 den 2012 |
2012 den 2012R2 |
Cluster scalability |
Geliştirildi |
|
Cluster Shared Volumes |
Geliştirildi |
Geliştirildi |
Cluster validation tests |
Geliştirildi |
|
Active Directory Domain Services integration |
Geliştirildi |
|
Quorum configuration and dynamic quorum |
Geliştirildi |
Geliştirildi |
Cluster upgrade and migration |
Geliştirildi |
|
Windows PowerShell support |
Geliştirildi |
|
Management of large-scale clusters by using Server Manager and Failover Cluster Manager |
Yeni Geldi |
|
Management and mobility of clustered virtual machines and other clustered roles |
Yeni Geldi |
|
Support for Scale-Out File Servers |
Yeni Geldi |
|
Cluster-Aware Updating |
Yeni Geldi |
|
Virtual machine application monitoring and management |
Yeni Geldi |
|
Task Scheduler integration |
Yeni Geldi |
|
Optimized CSV placement policies |
|
Geliştirildi |
Increased CSV resiliency |
|
Geliştirildi |
CSV cache allocation |
|
Geliştirildi |
CSV diagnosibility |
|
Geliştirildi |
CSV interoperability |
|
Geliştirildi |
Quorum user interface improvements |
|
Geliştirildi |
Cluster node health detection |
|
Geliştirildi |
Turn off IPsec encryption for inter-node cluster communication |
|
Yeni Geldi |
|
Yeni Geldi |
|
Shared virtual hard disk (for guest clusters) |
|
Yeni Geldi |
Virtual machine drain on shutdown |
|
Yeni Geldi |
Virtual machine network health detection |
|
Yeni Geldi |
Deploy an Active Directory-detached cluster |
|
Yeni Geldi |
Dynamic witness |
|
Yeni Geldi |
Force quorum resiliency |
|
Yeni Geldi |
Tie breaker for 50% node split |
|
Yeni Geldi |
Configure the Global Update Manager mode |
|
Yeni Geldi |
Şimdi yukarıdaki özet tabloda verilen bilgilerin detayını 2 ana başlık altında inceleyelim.
1) Genel Cluster Servisindeki Yenilikler
Cluster Bağımlılıklarının Azaltılması: Server 2012R2 öncesindeki işletim sisteminde Cluster kurarken 1196 ve 1579 Event numaralı hata mesajların alınmaması ve sonradan soruna neden olmamak adına Cluster ve Servis isimlerini, DNS ve AD üzerinde oluşturup yetkilendirirdik. Artık buna gerek kalmadan Cluster’ı kurup PowerShell üzerinden yazılacak New-Cluster –AdministrativeAccessPoint komutu ile işlemi tamamlayabileceğiz. Detaylarına aşağıdaki linkten ulaşabilirsiniz.
https://technet.microsoft.com/en-ie/library/dn265970.aspx
Özellikle Kerberos Authentication yapılarındaki Cluster kurulumlarında tercih edilen bir yöntemdir.
Dynamic Witness: Aşağıda linkini verdiğim makalede “Split Brain” senaryosuna ve Quorum modellerini detaylı anlatmıştık. Cluster’ımızın kontrolsüz bir şekilde down olma durumunu engellemek için Server 2012 ile tanıştığımız Dynamic Quorum ile istediğimiz sunucunun oy hakkını alabiliyorduk. Bunu daha çok WAN üzerinden çalışan Multi Site Cluster yapılardaki uzak node’ların veya Always On SQL Cluster yapınızdaki AG node’umuzun oy hakkının alınarak olası bir problemde Cluster’ın down olmasını önlemek için kullanmaktayız.
Yapılan çalışmalar sonucunda Dynamic Witness’ın yeterli gelmediği gözlenmiştir. Bunun üzerine 2012R2 ile birlikte Dynamic Witness özelliği geliştirilmiştir. Bu özellik ile node sayısı ne olursa olsun (çift veya tek) Cluster’a eklenecek witness ile node durumuna göre sistem otomatik hesaplama yaparak Cluster’ın devamlılığını sağlamaya çalışmaktadır. Konunun daha rahat anlaşılması için bir örnekle anlatalım:
Yukarıdaki resimde 3 Node’lu cluster eklediğimiz Witness Diskli yapımızda tek sayı olduğundan Witness Diskin oy hakkı yok. Node’lardan biri erişilemez olduğunda Witness Diskin oy hakkı verilerek servis sürekliliği sağlanmakta. Multi Site çözümlerde Witness olarak file share kullanılması önerilmektedir.
Quorum user interface improvements (Quorum için Kullanıcı Ara yüzünün Geliştirilmesi:):
Hem GUI hem de PowerShell üzerinden kolaylıkla Quorum yönetimi yapılabilmektedir. Failover Cluster Management Tools üzerinden yapmak için Cluster üzerinden sağ tıklanıp MoreActions > Configure Cluster Quorum girilir. PowerShell ile yapmak için Set-ClusterQuorum komutu ile yapılmaktadır.
Dynamic Witness ile oy yönetim tablosunun GUI ara yüzden rahatlıkla izlenebilmesi için Failover Cluster Management Tools üzerinden görüntülenmesi sağlandı. Aşağıda örnek görüntüsünü paylaştığım Server 2012 Cluster yapımızda Failover Cluster Management Tools üzerinden Node kısmına geldiğinizde sadece status bilgileri yer almaktaydı.
Aşağıdaki örnek görüntülerini verdiğim Server 2012 R2 ile birlikte ise kolaylıkla Dynamic Quorum yapısı izlenebilmekte.
Çift sayıdaki node’larınız için Cluster High Avaibility için disk veya file share witness kullanılması gerekmektedir. Aşağıda Validation Rapor görüntüsü görülmektedir.
Force Quorum Esnekliği: Cluster’ın yarısından 1 fazlasına ait node’lar erişilemez olduğunda Cluster down olur. Böyle bir durumla karşılaşıldığında sistem sürekliliğinin devam edilmesi adına uygun göreceğiniz tek bir node üzerinde Cluster servisi önce stop edilir arkasında da PowerShell üzerinden Start-ClusterNode with –FixQuorum ile Force Quorum (/fq) ile başlatılmaktadır.
Server 2012 R2 öncesi sistemlerde diğer node’lara erişim sağlandığında veya sorun düzeldiğinde devreye alınabilmesi için önce Cluster servisi durdurulur arkasından da Force Quorum “Net Start ClusSvc /FQ” komutu ile start edilirdi. 2012R2 ile birlikte Node’lar da sorun düzeldikçe sisteme otomatik join olmaktalar. İşlem tamamlandığında ilk müsait zamanda Cluster’ı “Net Start ClusSvc /PQ” komutu ile restart ettiğinizde çok ufak bir kesinti ile çalışmaya devam edecektir.
Tie Breaker: Failover Cluster’ın olmazsa olmaz 3 bileşeni vardır. Disk, Network ve Quorum. Multi-Site Cluster yapılarda eğer network bağlantısı bir şekilde kesilirse yukarıda da paylaştığım gibi Split Brain Senaryosu oluşup disk veya veri bozulmasına neden olabilir.
Server 2012 R2 ile birlikte gelen Tie Breaker özelliği ile Disaster ortamları için eğer Multi Site Cluster oluşturuyorsanız olası Split Brain durumlarına karşı istediğiniz node’un öncelik durumunu LowerQuorumPriorityNodeID PowerShell komutu ile düşürüp olası network problemlerin de sistem sürekliliği sağlanmış olacaktır.
Global Update Manager (GUM) Mode: En özet şekilde GUM, her türlü Cluster bilgisinin (Cluster Database) node’lar arasında iletilmesinden sorumludur. Server 2012 ile tanıştığımız bu özellik 2012’de yönetilemezken 2012R2’de yönetilebilmektedir.
GUM’un 2 tipi bulunmaktadır. Bunlar;
a) All (write) and Local (read): Server 2012’nin Default ayarı olan bu ayarda; Aktif node cluster veri tabanından sorumlu olup olası değişikliği tüm node’lara aktarmakla yükümlüdür. Bir node veri tabanına erişmek istediğinde tutarlı veri oluşturma adına gerekli kontrollerin yapılmasını da aktif node yapar.
b) Majority (read and write): Tüm değişiklikle zaman damgası ile oluşturulur ve tüm node’lar veri tabanına erişmek istediklerinde en güncel versiyonuna erişip kullanırlar. Majority Mode’u isterseniz aktif node kontrolüne verilebileceği gibi isterseniz tüm node’ların değişiklikte bulunabileceğini (Get-Cluster).DatabaseReadWriteMode PowerShell komutu ile oluşturabilirsiniz.
Cluster Dashboard: Failover Cluster Management Tools ile bağlandığımızda Server 2012’de sadece aşağıdaki gibi bir link görebilmekteydik.
Fakat 2012R2 ile birlikte anlık durum bilgisine doğrudan erişilebilinmektedir.
Node’lar arası İletişimde IPSec’in kapatılması: Her saniye tüm Node’lar birbirini port 3343 portundan kontrol eder. Eğer 5 kere arka arkaya node cevap vermezse down olduğu düşünülür.
IPSec ile şifrelenmiş networkte gecikmeler yaşanabileceğinden Cluster tarafında sorunlara neden olabilir. Ya node’un down kabul edilme sayısının 5’den daha yüksek değerlere taşınmalı ya da Server 2012R2 ile bu yeni gelen özellik ile node’lar arası iletişimde Heartbeating network bacağında IP kapatılması gerekmektedir. Microsoft tarafından IPSec’in Heartbeating network bacağında kapatılması önerilmektedir.
IPSec’in kapatılması için PowerShell üzerinden “(Get-Cluster). NetFTIPSecEnabled = 0” komutunun çalıştırılması yeterlidir.
2) Hyper-V Cluster’a Gelen Yenilikler
Shared Virtual Hard Disk for Guest Cluster (Paylaşılmış Sanal Disk): Hyper-V üzerinde daha önceden cluster yapmak istediğimizde ya iSCSI kullanmak zorundaydık veya Hyper-V sunucusuna direk bağlı LUN disklere ihtiyacımız vardı. Şimdi ise Hyper-V Cluster alanımız içerisindeki (CSV) bir vhdx dosyasını gösterip paylaşılmasıyla yapılabilmekte.
Bu işlem için öncelikle Hyper-V Management üzerinde CSV alanda diski oluşturup sunuculara ekledikten sonra Advanced alan içinde “Enable virtual hard disk sharing” işaretlenmeli.
VM Drain on Shutdown: Cluster olan Hyper-V sunucunuzda olan olası bir problem sonucu kontrolsüz kapanacak olduğunda üzerinde çalışan tüm sanal sunucular önce saved moduna alınır sonra Cluster’a üye diğer Hyper-V node’lara aktarır.
Default’ta açık olan bu özellik istenilirse PowerShell üzerinden yazılacak “(Get-Cluster).DrainOnShutdown 0” komutu ile kapatılabilir.
VM Component Health Detection (Network sağlık kontrolü): Server 2012 ve üstü işletim sistemine sahip Sanal sunucunuzun external portunda oluşan olası bir problemde 1 ping kaybıyla kesinti olmaksızın live migration yapılarak Cluster’a üye uygun başka bir Hyper-V hostuna taşır.
Bu işlem her bir network portu için ayrı ayrı yapılmaktadır. Sanal sunucunuzun network portunun kontrol edilmesini istiyorsanız ilgili network adaptörün Advanced sekmesi altındaki “Protected Network” seçilir.
Optimized CSV Placement Policies: Scale-out File Server Cluster üzerinde oluşturulmuş CSV LUN’unuz içerisindeki sanal sunucuların disklerini farklı File Server üzerinden çalıştırarak performans kazanımı sağlanmaktadır.
Artan CSV Esnekliği: File Server Cluster üzerinde konuşlandırdığınız CSV alanınızda bulunan sanal sunucularınız için eğer bir disk performans kaybı yaşanırsa meta datalar CSV’nin sahibi diğer bir File Server Cluster Node’u üzerinden sağlanır.
CSV Cache Allocation: File Server ve Hyper-V ortamlarında kullanılan, Server 2012’de Default’da disable olan bu özellik 2012 R2 ile birlikte enable geldi. 2012R2 ile birlikte fiziksel RAM’in %80’inine kadar cache için ayrılabilmekte. 2012’de bu oran %20’yi geçemiyordu.
Bu özellik ile blok seviyesinde okuma performansının artışı sağlanmaktadır. İstediğimiz değeri PowerShell üzerinden (Get-Cluster).BlockCacheSize = xxx komutu üzerinden MB cinsinden değer belirleyebiliriz. Detaylı bilgiye aşağıdaki adresten ulaşabilirsiniz.
http://blogs.msdn.com/b/clustering/archive/2012/03/22/10286676.aspx
CSV Diagnosibility: 2012R2 ile CSV volume durumunu daha iyi loglama ve inceleme imkânımız oluşmaktadır. PowerShell üzerinden Get-ClusterSharedVolumeState, FileSystemRedirectedIOReason ve BlockRedirectedIOReason komutlarıyla öğrenilebilmektedir.
Kaynak:
https://technet.microsoft.com/en-ie/library/dn265972.aspx#BKMK_CAU
http://channel9.msdn.com/Events/TechEd/NorthAmerica/2014/DCIM-B354#fbid
https://technet.microsoft.com/tr-tr/library/dn282283.aspx