Przeglądałem procedury DR firmy i kiedy szukałem w Internecie rozwiązań dla kworum Always On Cluster, które można porównać. Byłem trzy strony w wynikach Google, zanim znalazłem pierwszy post SE na temat Klastrowanie vs. replikacja transakcyjna vs. grupy dostępności, które tylko lekko dotykają tematu utraconego kworum.
Chociaż wszyscy zgadzają się, że utrata kworum jest zła i istnieją pewne sugestie dotyczące zmniejszenia potencjału, nadal może się zdarzyć. Szukam dobrej recenzowanej odpowiedzi na najlepszą ścieżkę odzyskiwania po utracie kworum przez klaster Always On.
sql-server
availability-groups
disaster-recovery
James Jenkins
źródło
źródło
Odpowiedzi:
AG oparte są na klastrowaniu systemu Windows. Obowiązują procedury WSFC dotyczące utraty kworum.
Po uruchomieniu WSFC możesz w razie potrzeby zmusić AG. Wykonaj wymuszone ręczne przełączanie awaryjne grupy dostępności :
źródło
Byłem w takiej sytuacji, szczególnie z klastrowaniem wielu podsieci obejmującym różne kraje (NY-LD-HK).
Jak uniknąć utraty kworum w klastrze z wieloma podsieciami?
CrossSubnetDelay
lub tęCrossSubnetThreshold
właściwość dzięki tej poprawce .Sytuacja zmienia się w systemie Windows Server 2016 wraz z wprowadzeniem klastrów rozpoznających witryny i usługi chmurowej .
Co zrobić, gdy utracone zostanie Kworum?
Jak zawsze, aby wykonać RCA Cause Analysis (RCA), zbierz dzienniki klastra systemu Windows, w przypadku AlwaysON RCA - użyj dzienników diagnostycznych klastra pracy awaryjnej programu SQL Server . Te pliki w katalogu SQL Server Log mają następujący format:
<HOSTNAME>_<INSTANCENAME>_SQLDIAG_X_XXXXXXXXX.xel
.źródło
Kiedyś byłem zaangażowany w awarię, w której nasze serwery lustrzane straciły łączność. Jedną z rzeczy, o które należy się martwić, jest upewnienie się, że aplikacje są skierowane do pojedynczego wystąpienia. W przypadku awarii sieci możesz mieć wszystkie węzły klastra Always On, ale nie można się ze sobą komunikować. Wymuszasz przełączenie awaryjne na pomocnicze, a następnie, dopóki wystąpi awaria, możesz mieć dwa główne węzły, ponieważ pierwotny główny nie będzie wiedział o wymuszonym przełączeniu awaryjnym.
W zależności od lokalizacji serwerów aplikacji, ich konfiguracji i możliwości dotarcia do serwera SQL, teoretycznie możesz mieć dwa węzły, które uważają, że są one podstawowe, i jednocześnie zmieniają dane. Po rozwiązaniu problemów z siecią i wznowieniu połączenia z węzłami wszystkie dane zmienione na pierwotnym serwerze podstawowym zostaną zastąpione z węzła, do którego zmuszono przełączenie awaryjne. Może to spowodować utratę kluczowych danych.
Raz widziałem tę sytuację z SQL 2005 i tworzeniem kopii lustrzanych. Postanowiliśmy nie wymuszać przełączania awaryjnego i pozostawić go nieosiągalnym. Powodem jest to, że w najgorszym przypadku, gdybyśmy musieli wykonać kopię zapasową i przywrócić, aby ponownie uruchomić kopię lustrzaną, byłby to dla nas proces dwudniowy z ryzykiem zapełnienia dziennika transakcji i niemożności rozszerzenia dysku, na którym siedział.
źródło