Always On kümeniz çekirdeği kaybettiğinde ne yapmalı?


9

Şirketimiz DR prosedürlerini gözden geçiriyordum ve karşılaştırmak için, Her Zaman Küme kaybedilen yetersayı çözümlerine çevrimiçi baktığımda. Konuyla ilgili ilk SE yayınını bulmadan önce google sonuçlarına üç sayfaydım Kümelenme ile işlem çoğaltması ve kullanılabilirlik gruplarına karşı, yalnızca yeterli çoğunluk kaybına konu oldu.

Herkes kaybedilen nisabın kötü olduğunu kabul etse de ve potansiyeli azaltmak için bazı öneriler olsa da, yine de olabilir. Yeterince Daima açık küme kaybından kurtarmak için en iyi yol için iyi bir hakemli bir cevap arıyorum.


Zaten değilse, Windows Server 2012 R2'yi kullanmaya çalışmanızı öneririm. Dinamik çekirdek, dinamik tanık ve kravat kırıcı özellikleri birçok durumda "ayakta kalan son adamı" elde etmenizi sağlar. sqlha.com/2013/06/06/…
SQL Hammer

Yanıtlar:


11

AG'ler Windows Kümelemeye dayanır. Çekirdek kaybı için WSFC prosedürleri geçerlidir.

WSFC çalıştıktan sonra, gerekirse AG'yi zorlayabilirsiniz. Bir Kullanılabilirlik Grubunun Zorunlu Manuel Yük Devretme işlemini gerçekleştirin :

WSFC kümesinde çekirdeği zorladıktan sonra (zorunlu çekirdek), her kullanılabilirlik grubunda yük devretmeye zorlamanız gerekir (olası veri kaybı ile). WSFC küme değerlerinin gerçek durumu kaybolmuş olabileceğinden, zorla yük devretme gerekli. Ancak, çekirdeği zorlamadan önce birincil çoğaltma olan çoğaltmayı barındıran sunucu örneğinde yük devretmeye zorlayabilir veya çekirdeği zorlamadan önce eşitlenen ikincil bir çoğaltmaya zorlayabilirsiniz. Daha fazla bilgi için, Çekirdek Zorlandıktan Sonra Veri Kaybını Önleme Potansiyel Yolları konusuna bakın .


Bu, küme olmadan yeni AG kurulumuyla nasıl çalışır? Hala yeterli çoğunluk var mı?
Çalkalayıcı

6

AlwaysOn kümeniz çekirdeği kaybettiğinde ne yapmalı?

Özellikle farklı ülkelere (NY-LD-HK) yayılan Çok alt ağlı kümelenme ile bu duruma girdim.

Çok alt ağlı bir kümede Çekirdek Kaybı nasıl önlenir?

  • Daha rahat izleme durumuna özellikle küme varsayılan ayarı değiştirin Küme Heartbeat ayarlarını kullanarak CrossSubnetDelayveya CrossSubnetThresholdtarafından özelliğini bu düzeltme .
  • AG, küme sağlığını belirlemek için çekirdek tabanlı bir yaklaşım kullanan WSFC'yi kullanır. Çekirdeği uygun şekilde seçtiğinizden ve yapılandırdığınızdan emin olun . Bu blog gönderisi AlwaysON için Quorum oy yapılandırmasına daha da derinlemesine dalış yaptı
  • Siteye duyarlı kümeler ve bulut tanığı ile Windows Server 2016'da işler değişiyor .

    Gerilmiş kümelerdeki düğümler artık fiziksel konumlarına (sitelerine) göre gruplandırılabilir. Küme sitesi bilinci, küme yaşam döngüsü boyunca yük devretme davranışı, yerleşim politikaları, düğümler arasında kalp atışı ve çekirdek davranışı gibi önemli işlemleri geliştirir.

    Cloud Witness , Microsoft Azure'u tahkim noktası olarak kullanan yeni bir Yük Devretme Kümesi çekirdek tanığı türüdür. Bir blob dosyasını okumak / yazmak için Microsoft Azure Blob Storage'ı kullanır ve daha sonra bölünmüş beyin çözünürlüğü durumunda tahkim noktası olarak kullanılır.

Çekirdek kaybolduğunda ne yapmalı?

  • Küme planlanmamış bir kesinti / felaket nedeniyle çökerse, manuel müdahale gerekir. Bir windows yöneticisi veya küme yöneticisi çekirdeği manuel olarak zorlamak zorundadır (bu noktayı kapsayan şekilde @ Remus'un cevabına bağlanır) ve hayatta kalan düğümleri çevrimiçi duruma getirmek zorundadır.

Her zaman olduğu gibi, Kök Neden Analizi (RCA) yapmak için, Windows küme günlüklerinizi toplayın, AlwaysON RCA için - SQL Server Yük Devretme Kümesi Tanı Günlüklerini kullanın . SQL Server Log dizininde Bu dosyalar aşağıdaki biçimi vardır: <HOSTNAME>_<INSTANCENAME>_SQLDIAG_X_XXXXXXXXX.xel.


0

Bir kez yansıtılmış sunucularımızın bağlantıyı kaybettiği bir kesintiye katıldım. Endişelenmeniz gereken şeylerden biri, uygulamalarınızın tek bir örneğe yönlendirildiğinden emin olmaktır. Bir ağ kesintisinde, Her Zaman Açık kümesinin tüm düğümlerini açabilir, ancak birbirleriyle iletişim kuramazsınız. Başarısızlığı ikincil duruma zorlarsınız ve bir kesinti olduğu sürece orijinal birincil zorla başarısızlık hakkında bilemeyeceği için iki birincil düğümünüz olabilir.

Uygulama sunucularınızın konumlarına, yapılandırmalarına ve bir SQL sunucusuna erişme yeteneklerine bağlı olarak, teoride, birincil olduklarına ve aynı anda verilerin değiştirildiğine inanan iki düğümünüz olabilir. Ağ sorunlarınızı düzelttikten ve düğümler bağlantıyı sürdürdüğünde, orijinal birincilde değiştirilen tüm verilerin üzerine, başarısızlığın zorlandığı düğümden yazılacaktır. Bu, kritik verilerin kaybedilmesine neden olabilir.

Bu durumu bir kez SQL 2005 ve yansıtma ile gördüm. Ve başarısızlığı zorlamamaya ve ulaşılamaz kalmasına izin vermemeye karar verdik. En kötü durumda, yansıtmayı yeniden başlatmak için yedeklememiz ve geri yüklememiz gerektiğinde, işlem günlüğünün dolması ve oturduğu diski genişletememesi riskleri ile bizim için 2 günlük bir süreç olurdu.


Mirrroring ve AlwaysOn farklıdır. AlwaysOn ile (umarım) MultiSubnetFailover = True ile bir dinleyiciye işaret etmelisiniz
James Jenkins

Bunu biliyorum, ancak sunucuların coğrafi olarak ayrılmış ve bazı uygulamaların bazı sunuculara erişebileceği ancak diğerlerine erişemediği bir ağ kesintisi olması mümkündür. Ve MultiSubnetFailover = True desteklenmeyen java sürücüleri kullanılıyor. Muhtemelen diğer üçüncü taraf uygulamaları da. Bazı insanların bağlantı dizelerini yapılandırmayı reddettiğini gördüm. O zaman bile, bir failover'ı tam durumunuz için düşünmeden zorlayabilir ve iletişim kuramayan iki yazılabilir sunucu ile sonuçlanabilir. Ve uygulamalar ile siteleri arasında iletişim yetenekleri nedeniyle her ikisi de yazma.
Alen

PS Bir kilometre uzakta birincil sitemize iletişim kuramadığımız bir durum gördüm, ancak 100 mil uzakta bulunan DR sitemize bağlantı gayet iyi çalıştı.
Alen
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.