SQLShack

W tym artykule omówiono konfigurację klastrów failover systemu Windows, kontrolerów pamięci masowej i konfiguracji quorum dla SQL Server Always On Availability Groups.

Wymagania wstępne

W tej serii artykułów skonfigurujemy SQL Server Always On Availability Groups od końca do końca w celu nauki. W poprzednich artykułach poruszyliśmy następujące tematy.

  1. Kompleksowy przewodnik po SQL Server Always On Availability Groups w systemie Windows Server 2016
    1. Zainstalowaliśmy Oracle Virtual Box z trzema maszynami wirtualnymi
    2. Przeprowadziliśmy instalację Windows Server 2016 standard edition z pulpitem experience
    3. Objęliśmy konfiguracje adapterów sieciowych VM
  2. Konfiguracja kontrolera domeny i Active Directory dla SQL Server Always On Availability Groups
    1. Zainstalowaliśmy i skonfigurowaliśmy kontroler domeny, Active Directory i DNS
    2. Przypisanie statycznych adresów IP do wszystkich maszyn wirtualnych
    3. Dołączenie węzłów SQL w domenie MyDemoSQL.com domain

Aby lepiej śledzić, spróbuj przejrzeć poprzednie artykuły, zanim przejdziesz do tego.

Konfiguracja klastra failover dla grup dostępności SQL Server Always On

Wymagamy minimum dwóch węzłów klastra failover dla grup dostępności SQL Server Always On. Możemy skonfigurować AG bez klastra, począwszy od SQL Server 2017, ale daje to ograniczoną funkcjonalność AG. Jest to temat poza zakresem tej serii artykułów.

Przygotowaliśmy następujące maszyny wirtualne do naszych celów demonstracyjnych.

Nazwa serwera

Adres IP

Rola

VDITest3

Kontroler domeny i Active Directory

.

SQLNode1

Primary Node of SQL AG

SQLNode2

Secondary Node of SQL AG

Teraz, musimy skonfigurować klaster Windows failover dla SQLNode1 i SQLNode2. W tym celu uruchamiamy Add Roles and Feature Wizard z menedżera serwera. Włączamy funkcję Failover Clustering w obu węzłach SQL.

Potwierdzamy instalację klastra failover dla SQL Server Always On Availability Groups.

Zaznacz Failover Clustering i kliknij Add Features, aby zainstalować funkcję z zależnościami.

Przejrzyj i potwierdź instalację. Możesz zobaczyć, że instaluje ona narzędzia do zarządzania klastrem failover wraz z modułem Failover Cluster Module dla Windows PowerShell.

Szybko instaluje funkcje na odpowiednim serwerze.

Po włączeniu funkcji na obu węzłach wyszukaj i uruchom klastrowanie failover z menu startowego. Obecnie nie ma żadnych znalezionych elementów, ponieważ nie skonfigurowaliśmy jeszcze klastra.

Zanim przejdziemy dalej, sprawdź odpowiedź ping z SQLNode1 do SQLNode2 i odwrotnie.

Odpowiedź ping z SQLNode1 do SQLNode2

Odpowiedź ping z SQLNode2 do SQLNode1

W przypadku, gdy to nie działa, wyłącz zaporę systemu Windows w obu węzłach. Wyszukaj Zaporę systemu Windows w Start i wyłącz wszystkie zapory.

Uwaga: Proszę nie wyłączać zapory w środowisku produkcyjnym ze względów bezpieczeństwa.

Walidacja konfiguracji dla SQL Server always on availability groups

Kliknij na Validate Configurations w menu Actions. Możesz przeczytać opis w celach edukacyjnych.

Na następnej stronie dodaj węzły, które chcesz dodać w klastrze failover. Tutaj dodałem oba węzły dla mojego klastra.

Wykonuje on różne testy, takie jak konfiguracja klastra, sieci, pamięci masowej i konfiguracji Hyper-V. Możemy również wykonać ograniczone testy, ale dobrze jest wykonać wszystkie testy.

Na następnej stronie, pokazuje serwery do walidacji i wymienia wszystkie testy, które zamierza wykonać.

Rozpoczyna walidacje jedna po drugiej dla wszystkich reguł. Pokazuje wynik każdego testu, czy został on zaliczony, czy nie, czy są jakieś ostrzeżenia.

Możesz przejrzeć wynik wszystkich parametrów testu w klastrze. Po dokonaniu przeglądu zaznacz opcję Create the cluster now using validated nodes… Nie pozwala ona w tym momencie na utworzenie dodatkowych węzłów. Jeśli chcesz, możesz zakończyć proces i ponownie zwalidować serwery klastra.

Uruchamia kreator Create Cluster Wizard.

Na kolejnej stronie definiujemy punkt dostępu do administrowania klastrem. Jest to nazwa klastra oraz adres IP klastra.

Nadaj unikalną nazwę dla klastra w Twoim środowisku wraz z wirtualnym adresem IP. Powinien on znajdować się w zakresie IP sieci węzłów.

Konfiguracja klastra została zakończona. Kliknij przycisk Next, aby rozpocząć proces budowania klastra.

Tworzy on klaster awaryjny z obu podanych węzłów SQL.

Po zakończeniu procesu uruchom menedżera klastrów awaryjnych i wyświetl węzły. Powinien on pokazywać oba węzły w statusie Up.

Klikamy na Roles, i jest on pusty, ponieważ nie dodaliśmy jeszcze żadnych ról w tym klastrze. Możesz sprawdzić nazwę klastra jako SQLAGCLU.MyDemoSQL.com

Enable iSCSI feature on Domain Controller server for SQL Server always on availability groups

W tym artykule chcemy dodać pamięć masową klastra z serwera kontrolera domeny. W tym celu należy połączyć się z serwerem DC. Wybierz opcję iSCSI Target Server w kreatorze Add Roles and Features.

Tutaj widzimy, zainstalowało funkcję na serwerze kontrolera domeny.

Musimy teraz skonfigurować serwer docelowy iSCSI. W tym celu w menedżerze serwera klikamy na Usługi plików i pamięci masowej.

Otwiera to kolejną stronę z opcjami pamięci masowej. Klikamy na iSCSI z menu znajdującego się po lewej stronie.

W iSCSI nie pokazuje żadnych wirtualnych dysków iSCSI jak teraz. Pokazuje opcję – Aby utworzyć wirtualny dysk iSCSI, uruchom kreatora nowego wirtualnego dysku iSCSI.

Klikamy na hiperłącze i uruchamia się kreator wirtualnego dysku iSCSI.

W lokalizacji wirtualnego dysku wybieramy wolumin. W maszynie wirtualnej mamy dostępny tylko dysk C, więc wyświetlane są informacje o tym dysku, w tym o używanym i wolnym miejscu.

Określ nazwę wirtualnego dysku iSCSI. Możesz nadać mu dowolną nazwę zgodnie z własnymi preferencjami. Tworzy plik .vhdx w katalogu C:\iSCSI.

Określ rozmiar dysku wirtualnego. Możesz skonfigurować rozmiar stały lub dynamiczny. Powinniśmy użyć dysku wirtualnego o stałym rozmiarze dla lepszej wydajności.

Nie mamy żadnego istniejącego celu iSCSI, więc wybierz opcję tworzenia nowego celu iSCSI.

Określamy nazwę celu iSCSI.

Na kolejnej stronie definiujemy serwery, które będą miały dostęp do wirtualnego dysku. Można podać adres IP węzła i dodać go do konsoli.

Analogicznie wyszukujemy adres IP SQLNod2 i dodajemy go.

Otrzymujemy oba węzły SQL jako część listy dostępu do wirtualnego dysku.

Klikamy Next i potwierdzamy wybór celu iSCSI.

Klikamy Create. Utworzyliśmy cele iSCSI pomyślnie.

Skonfigurowaliśmy cel iSCSI na serwerze kontrolera domeny. Musimy użyć kreatora inicjatora iSCSI na obu węzłach, aby odzwierciedlić dyski wirtualne na klastrze awaryjnym.

Połącz się z SQLNode1 i uruchom inicjator iSCSI z Menedżera serwera -> narzędzia -> inicjator iSCSI.

W inicjatorze iSCSI pojawia się pytanie o cel iSCSI.

Nasz cel iSCSI znajduje się na serwerze kontrolera domeny, więc podajemy adres IP DC. W moim przypadku jest to 10.0.2.15. Klikamy na Szybkie połączenie po określeniu adresu IP.

Pokazuje listę celów iSCSI dostępnych na podanym adresie IP. Mamy już skonfigurowany jeden cel iSCSI, więc wybieramy odkryty cel i klikamy done.

Teraz uruchamiamy Zarządzanie komputerem i klikamy na Zarządzanie dyskami. W zarządzaniu dyskami, to pokazuje dostępne Storage.

W poniższym zrzucie ekranu, widzimy dysku głównego wraz z 10 GB nieprzydzielonego miejsca. Jest to ten sam wirtualny dysk o pojemności 10 GB, który skonfigurowaliśmy wcześniej.

Kliknij prawym przyciskiem myszy na tym dysku i wybierz Nowy wolumin prosty. Otwiera to kreator konfiguracji woluminu prostego.

W rozmiarze woluminu możemy określić inny rozmiar woluminu, ale nie może on przekroczyć maksymalnego rozmiaru dysku wirtualnego, który określiliśmy wcześniej.

Na następnej stronie przypisujemy etykietę woluminu i wybieramy opcję formatowania tego woluminu.

Zakończ pracę kreatora i wyświetl dysk, jak pokazano poniżej.

Dodaj dysk jako zasób klastra

Aby dodać ten dysk jako zasób klastra, otwórz menedżera klastra failover i kliknij Storage -> Disks. Obecnie w konsoli nie widać żadnego dysku klastrowego.

Klikamy na Add Disk i pojawia się wirtualny dysk, który utworzyliśmy wcześniej.

Dodaje dysk klastra w menedżerze klastra failover, jak pokazano poniżej.

Konfiguracja kworum klastra

Kworum jest istotnym i krytycznym składnikiem klastra Windows failover. Kworum utrzymuje działanie klastra awaryjnego w oparciu o większość głosów w grupie. Używa mechanizmu głosowania, aby sprawdzić, czy węzeł jest większościowy. Pomaga to również uniknąć scenariusza „split-brain”, w którym żaden z węzłów nie jest właścicielem zasobów.

W serwerze Windows mamy następujące konfiguracje kworum.

  • Node Majority
  • Node and Disk Majority
  • Node and File Share Majority
  • No Majority
  • Dynamic Quorum configuration

Sugeruję, abyś przejrzał artykuł Windows Failover Cluster Quorum Modes in SQL Server Always On Availability Groups, aby zrozumieć to szczegółowo.

Teraz kliknij prawym przyciskiem myszy na nazwę klastra i przejdź do More Actions -> Configure Cluster Quorum Settings.

Uruchamia kreatora kworum klastra z krótkim wprowadzeniem.

Z opcji potwierdzenia kworum wybieramy opcję Zaawansowana konfiguracja kworum.

Możemy zdecydować, które węzły mogą wykonywać głosowanie w konfiguracji klastra failover. Domyślnie wszystkie węzły klastra failover są wybierane do głosowania.

Na następnej stronie wybieramy świadka udziału pliku jako świadka kworum.

Zanim przejdziemy do następnego kroku, należy utworzyć udział pliku w maszynie wirtualnej kontrolera domeny i zezwolić na konto Windows, za pomocą którego logujemy się do węzłów SQL. Idealnie, nie należy tworzyć udziału plików na węzłach klastra, ponieważ w przypadku awarii tego węzła, świadek udziału plików również przestanie istnieć.

Określ ścieżkę folderu współdzielonego jako ścieżkę udziału plików.

Przejrzyj konfigurację i potwierdź, aby kontynuować.

Udało się pomyślnie skonfigurować świadka udziału plików w naszej konfiguracji klastra failover, jak pokazano poniżej.

Można połączyć się z menedżerem klastra failover, a on pokazuje świadka udziału plików w konsoli.

Wnioski

W tym artykule skonfigurowaliśmy klastry failover na maszynie wirtualnej, którą utworzyliśmy wcześniej. Pokazano również quorum świadków iSCSI i udziały w plikach dla SQL Server Always On Availability Groups. W ten sposób zakończyliśmy tworzenie fundamentów lub infrastruktury dla konfiguracji Always On. W następnym artykule, zainstalujemy SQL Server 2019 i skonfigurujemy grupę AG.

Spis treści

Wszechstronny przewodnik po SQL Server Always On Availability Groups na Windows Server 2016

Konfiguracja Domain Controller i Active Directory dla SQL Server Always On Availability Groups

Konfiguracja klastrów failover, kontrolerów pamięci masowej i konfiguracji quorum dla SQL Server Always On Availability Groups

Instalacja SQL Server 2019 na Windows Server 2016 z SQL Server Always On Availability Groups

Dodawanie nowego węzła do istniejących SQL Server Always On Availability Groups

Konfiguracja Managed Service Accounts dla SQL Server Always On Availability Groups

Dodawanie lub usuwanie węzła z SQL Server Always On Availability Groups za pomocą skryptów T-.SQL

Database-level health detection in SQL Server Always On Availability Groups

Automatic Page Repair in SQL Server Always On Availability Groups

Deploy a domain- independent Windows Failover Cluster for SQL Server Always On Availability Groups

Deploy a domain-Windows Failover Cluster for SQL Server Always On Availability Groups

Przegląd rozproszonych grup dostępności SQL Server Always On Availability Groups

Wdrożenie rozproszonej grupy dostępności SQL Server Always On Availability Group

Monitorowanie i przełączanie awaryjne rozproszonej grupy dostępności SQL Server Always On Availability Group

Transparentne szyfrowanie danych dla SQL Server Always On Availability Groups

Konfiguracja replikacji SQL Server dla bazy danych w SQL Server Always On Availability Groups

Konfiguracja replikacji SQL Server dla dystrybucyjnych baz danych w SQL Server Always On Availability Groups

Wykorzystanie cross-baz danych MSDTC dla transakcji rozproszonych w SQL Server Always On Availability Groups

Wdrażanie MSDTC dla transakcji rozproszonych w SQL Server Always On Availability Groups

Przywracanie istniejącej bazy danych grupy dostępności uczestniczącej w SQL Server Always On Availability Groups

Poznanie AG dashboards for monitoring SQL Server Always On Availability Groups

Kompresja kopii zapasowej w bazach danych z włączoną funkcją TDE w SQL Server Always On Availability Groups

Impact of dropping a login in the active directory tied to SQL Server Always On Availability Groups

Refresh SQL Server Always On Availability Groups przy użyciu DBATools PowerShell

Odświeżanie baz danych SQL Server Always On Availability Group przy użyciu DBATools PowerShell

Konfiguracja baz danych SQL Server Reporting Services w SQL Server Always On Availability Groups

Zawieszanie i wznawianie przepływu danych w SQL Server Always On Availability Groups

Zawieszanie i wznawianie przepływu danych w SQL Server Always On Availability Groups

Poznaj typy failover w SQL Server Always On Availability Groups

Poznaj SQL Server PolyBase External Tables w SQL Server Always On Availability Groups

SQL Server Always On Availability Groups dla instancji SQL Server Linux

Szyfrowanie na poziomie kolumny.szyfrowanie SQL Server na poziomie kolumn w grupach SQL Server Always On Availability Groups

Wykorzystanie replik drugorzędnych w grupach SQL Server Always On Availability Groups

Wprowadzanie poprawek SQL Server lub skumulowanych aktualizacji w grupach SQL Server Always On Availability Groups

Monitorowanie grup SQL Server Always On Availability przy użyciu zdarzeń rozszerzonych

Model Hub and Spoke oparty na politycezarządzania opartego na politykach dla SQL Server Always On Availability Groups

Polityki własne dla pulpitów AG grup SQL Server Always On Availability Groups

Poznaj dynamiczne widoki zarządzania do monitorowania SQL Server Always On Availability Groups

Dynamiczne widoki zarządzania do monitorowania replik dostępności i baz danych dla SQL Server Always On Availability

Konfiguracja SQL Server Always On Availability Groups przy użyciu skryptów Windows PowerShell

Konfiguracja Integration Services Catalog Database SSISDB w SQL Server Always On Availability Groups

Synchronizacja logowań pomiędzy replikami w SQL Server Always On Availability Group

Czas sesji w SQL Server Always On Availability Groups

Leasing Timeouts i Health Checks w SQL Server Always On Availability Groups

  • Autor
  • Recent Posts
Jako certyfikowany MCSA i Microsoft Certified Trainer w Gurgaon, Indie, z 13-letnim doświadczeniem, Rajendra pracuje dla różnych dużych firm, koncentrując się na optymalizacji wydajności, monitorowaniu, wysokiej dostępności oraz strategiach i wdrażaniu odzyskiwania danych po awarii. Jest autorem setek autorytatywnych artykułów na temat SQL Server, Azure, MySQL, Linux, Power BI, Performance tuning, AWS/Amazon RDS, Git i pokrewnych technologii, które do tej pory zostały obejrzane przez ponad 10 milionów czytelników.
Jest twórcą jednego z największych darmowych zbiorów artykułów online na jeden temat, z jego 50-częściową serią na temat SQL Server Always On Availability Groups. W oparciu o swój wkład w społeczność SQL Server został wyróżniony różnymi nagrodami, w tym prestiżową nagrodą „Najlepszy autor roku” nieprzerwanie w 2020 i 2021 roku na SQLShack.
Raj jest zawsze zainteresowany nowymi wyzwaniami, więc jeśli potrzebujesz pomocy konsultacyjnej na dowolny temat poruszony w jego pismach, można się z nim skontaktować pod adresem [email protected]
View all posts by Rajendra Gupta

Latest posts by Rajendra Gupta (see all)
  • Konfiguracja długoterminowej retencji kopii zapasowych dla bazy danych Azure SQL – 25 marca, 2021
  • Tworzenie spójnej transakcyjnie kopii bazy danych Azure SQL – 22 marca 2021
  • Przegląd usługi Azure Cloud Shell – 18 marca 2021

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany.