Sqlserver
 sql >> Baza danych >  >> RDS >> Sqlserver

Wdróż zawsze włączone grupy dostępności programu SQL Server w systemie Linux

W poprzednim artykule wyjaśniłem, w jaki sposób możemy zainstalować Ubuntu 18.04 i SQL Server 2019 na maszynach wirtualnych. Teraz, zanim przejdziemy dalej, przejdźmy przez konfigurację.

Stworzyliśmy trzy maszyny wirtualne, a szczegóły są następujące:

Nazwa hosta Adres IP Rola
LinuxSQL01 192.168.0.140 Replika podstawowa
LinuxSQL02 192.168.0.141 Synchroniczna replika wtórna
LinuxSQL03 192.168.0.142 Asynchroniczna replika wtórna

Zaktualizuj plik hosta.

W konfiguracji nie korzystamy z serwera domeny. Dlatego, aby rozwiązać nazwę hosta, musimy dodać wpis w pliku hosta.

Plik hosta znajduje się na /etc informator. Uruchom poniższe polecenie, aby edytować plik:

[email protected]:/# vim /etc/hosts 

W pliku hosta wprowadź nazwy hostów i adresy IP wszystkich maszyn wirtualnych:

Zapisz plik hosta.

Wykonaj te same czynności na wszystkich maszynach wirtualnych.

Włącz grupy dostępności programu SQL Server AlwaysOn

Przed wdrożeniem AlwaysOn musimy włączyć funkcję wysokiej dostępności w SQL Server.

W Windows Server 2016 tę opcję można włączyć z poziomu menedżera konfiguracji SQL Server, ale na platformie Linux musimy to zrobić za pomocą polecenia bash.

Połącz się z LinuxSQL01 za pomocą Putty i uruchom następujące polecenie:

[email protected]:~# sudo /opt/mssql/bin/mssql-conf set hadr.hadrenabled 1 

Uruchom ponownie usługi SQL Server:

[email protected]:~# ponowne uruchomienie serwera mssql-server 

Wykonaj powyższe kroki na wszystkich maszynach wirtualnych.

Utwórz certyfikaty do uwierzytelniania

W przeciwieństwie do AlwaysOn na serwerze Windows wdrożenie systemu Linux nie wymaga kontrolera domeny. Do uwierzytelniania i komunikacji między replikami podstawowymi i pomocniczymi używa certyfikatu.

Poniższy skrypt tworzy certyfikat i klucz główny. Następnie tworzy kopię zapasową certyfikatu i zabezpiecza go hasłem.

Połącz się z LinuxSQL01 i uruchom następujący skrypt:

UTWÓRZ SZYFROWANIE KLUCZA GŁÓWNEGO ZA POMOCĄ HASŁA ='abcd!1234';UTWÓRZ CERTYFIKAT AG_Auth_Cert Z TEMATEM ='dbm';CERTYFIKAT ZAPASOWY AG_Auth_Cert DO PLIKU ='/var/opt/msql_upthcer_/ KLUCZ PRYWATNY ( PLIK ='/var/opt/mssql/data/ AG_Auth_Cert_backup.pvk', SZYFROWANIE HASŁEM ='abcd!1234' ); 

Po otrzymaniu certyfikatu i utworzonego klucza głównego kopiujemy je do replik pomocniczych (LinuxSQL02 i LinuxSQL03), uruchamiając poniższe polecenie.

Upewnij się, że klucz główny i lokalizacja certyfikatu są takie same we wszystkich replikach i że masz uprawnienia do odczytu i zapisu.

/*Skopiuj certyfikat i klucz do LinuxSQL02*/scp /var/opt/mssql/data/AG_Auth_Cert_backup.cer [email protected]:/var/opt/mssql/data/scp /var/opt /mssql/data/AG_Auth_Cert_backup.pvk przykł[email protected]:/var/opt/mssql/data//*Skopiuj certyfikat i klucz do LinuxSQL03*/scp /var/opt/mssql/data/AG_Auth_Cert_backup.cer przykład@sqldat .com:/var/opt/mssql/data/scp /var/opt/mssql/data/AG_Auth_Cert_backup.pvk [email protected]:/var/opt/mssql/data/ 

Wykonaj następujące polecenie na węzłach drugorzędnych, aby przyznać uprawnienia do odczytu i zapisu certyfikatu i klucza prywatnego:

/*Przyznaj uprawnienia do odczytu i zapisu certyfikatu i klucza do [email protected]*/[email protected]:~# chmod 777 /var/opt/mssql/data/AG_Auth_Cert_backup.pvkexample@sqldat. com:~# chmod 777 /var/opt/mssql/data/AG_Auth_Cert_backup.cer/*Przyznaj uprawnienia do odczytu i zapisu na certyfikacie i kluczu do [email protected]*/[email protected]:~# chmod 777 /var/ opt/mssql/data/[email protected]:~# chmod 777 /var/opt/mssql/data/AG_Auth_Cert_backup.cer 

Po przypisaniu uprawnień tworzymy certyfikat i klucz główny, korzystając z kopii zapasowej certyfikatu i klucza głównego utworzonego w LinuxSQL01.

Aby to zrobić, uruchom następujące polecenie na obu replikach pomocniczych:

UTWÓRZ SZYFROWANIE KLUCZA GŁÓWNEGO PRZEZ HASŁO ='abcd!1234';UTWÓRZ CERTYFIKAT AG_Auth_Cert Z PLIKU ='/var/opt/mssql/data/AG_Auth_Cert_backup.cer' Z KLUCZEM PRYWATNYM/var/opt =' /mssql/data/AG_Auth_Cert_backup.pvk', ODSZYFROWANIE HASŁEM ='abcd!1234' ); 

Po utworzeniu certyfikatu i klucza głównego skonfigurujemy punkty dublowania bazy danych.

Utwórz lustrzane punkty końcowe

Aby komunikować się między replikami podstawowymi i pomocniczymi, SQL Server używa lustrzanych punktów końcowych.

Dublujący punkt końcowy używa protokołu TCP/IP do wysyłania i odbierania wiadomości z repliki podstawowej i dodatkowej oraz nasłuchuje na unikalnym porcie TCP/IP.

Uruchom następujący skrypt, aby utworzyć punkt końcowy w węzłach głównym i dodatkowym:

<>/*Uruchom ten skrypt w systemie LinuxSQL01*/CREATE ENDPOINT [AG_LinuxSQL01] AS TCP (LISTENER_PORT =5022) FOR DATABASE_MIRRORING ( ROLE =WSZYSTKIE, UWIERZYTELNIANIE =CERTYFIKAT AG_Auth_Cert, ENCRYPTION =WYMAGANY ALGORYTRAM_ ENDOKS AES ); ] STATE =STARTED;/*Uruchom ten skrypt w LinuxSQL02*/CREATE ENDPOINT [AG_LinuxSQL02] AS TCP (LISTENER_PORT =5022) FOR DATABASE_MIRRORING (ROLE =ALL, AUTHENTICATION =CERTIFICATE AG_Auth_Cert, ENCRYPTION =REQUIRED ALGORITHM A); STATE =STARTED;/*Uruchom ten skrypt w LinuxSQL03*/CREATE ENDPOINT [AG_LinuxSQL03] AS TCP (LISTENER_PORT =5022) FOR DATABASE_MIRRORING (ROLE =ALL, AUTHENTICATION =CERTIFICATE AG_Auth_Cert, ENCRYPTION =REQUIRED ALGORITALATE_ ENDPO w AES); =ROZPOCZĘTE;

Po utworzeniu punktów lustrzanych utwórzmy grupę dostępności.

Utwórz grupę dostępności

Zamierzamy skonfigurować AlwaysON przy użyciu SQL Server Management Studio.

Najpierw uruchom go i połącz się z instancją LinuxSQL01 za pomocą sa kwalifikacje. Po połączeniu z instancją SQL Server kliknij prawym przyciskiem myszy Zawsze wysoka dostępność i wybierz Kreator nowej grupy dostępności .

Kreator grupy dostępności zaczyna się.

1. Wprowadzenie

W Wstępie wyświetlić listę zadań, które zostaną wykonane przez kreatora grup dostępności. Kliknij Dalej.

2. Określ opcję grupy dostępności

Na ekranie Określ opcję grupy dostępności podaj żądaną nazwę grupy dostępności i wybierz ZEWNĘTRZNA z typu klastra menu rozwijane.

Zaznacz także Wykrywanie kondycji na poziomie bazy danych pole wyboru. Umożliwia przedłużoną sesję zdarzeń dla dostępności stanu grupy.

3. Wybierz bazy danych

Możesz wybrać bazę danych, którą chcesz dodać do grupy dostępności w sekcji Wybierz bazy danych ekran. Uwaga:baza danych musi spełniać następujące wymagania wstępne:

  1. Baza danych musi być w modelu odzyskiwania PEŁNEGO.
  2. Należy utworzyć PEŁNĄ kopię zapasową bazy danych.

Przywróciłem kopię zapasową WideWorldImportors bazy danych w replice podstawowej. Baza danych jest PEŁNA model odzyskiwania i została wygenerowana pełna kopia zapasowa.

Wybierz WideWorldImportors bazy danych z listy i kliknij Dalej .

4. Określ repliki

W sekcji Określ repliki na ekranie mamy kilka zakładek do konfiguracji różnych opcji. Przejrzyjmy je wszystkie.

karta Repliki

Tutaj określamy replikę główną i dodatkową, tryb dostępności i tryby przełączania awaryjnego.

Używamy LinuxSQL01 jako replika podstawowa. LinuxSQL02 i LinuxSQL03 są repliką wtórną.

Tryb dostępności dla LinuxSQL02 będzie zatwierdzenie synchroniczne i dla LinuxSQL03 będzie zatwierdzenie asynchroniczne .

Aby dodać replikę, kliknij Dodaj replikę . Następnie na Połącz z serwerem w oknie dialogowym, podaj nazwę serwera i szczegóły logowania SQL aby połączyć się z instancją:

Karta Punkty końcowe

Tutaj możemy wyświetlić listę replik i ich lustrzanych punktów końcowych z odpowiednimi numerami portów i nazwami:

Preferencje tworzenia kopii zapasowych

Tutaj określasz replikę, której chcesz użyć do wygenerowania kopii zapasowej. Ta opcja jest przydatna, gdy chcesz odciążyć proces tworzenia kopii zapasowej bazy danych SQL w ramach grupy dostępności.

Możesz wybrać dowolną z następujących opcji:

  1. Preferuj pomocniczą:kopia zapasowa zostanie wygenerowana w replice pomocniczej. Jeśli replika pomocnicza nie jest dostępna, kopia zapasowa zostanie wygenerowana w replice podstawowej.
  2. Tylko drugorzędne:wszystkie kopie zapasowe zostaną wygenerowane w replice drugorzędnej.
  3. Główny:kopie zapasowe będą generowane w replice podstawowej.
  4. Dowolna replika:kopia zapasowa zostanie wygenerowana z dowolnej repliki.

Użyjemy Preferuj drugorzędne opcja:

Słuchacz

Odbiornik grupy dostępności to nazwa wirtualna używana przez aplikację do łączenia baz danych grup dostępności. Określ nazwę DNS odbiornika i jego port w Nazwa DNS odbiornika i Port pola tekstowe.

Wybierz Statyczny adres IP z Trybu sieci menu rozwijane.

Aby dodać adres IP dla odbiornika grupy dostępności, kliknij Dodaj >Wprowadź adres IP i Maska podsieci .

Routing tylko do odczytu

Tutaj możesz podać URL routingu tylko do odczytu i Lista routingu tylko do odczytu dla replik podstawowych i dodatkowych.

W naszej demonstracji nie skonfigurujemy routingu tylko do odczytu. Dlatego kliknij Dalej. Aby dowiedzieć się więcej o routingu tylko do odczytu, zapoznaj się z tematem Routing tylko do odczytu dla zawsze włączonych.

Wróćmy teraz do głównego procesu, nad którym pracujemy.

5. Wybierz początkową synchronizację danych

Na Wybierz początkową synchronizację danych ekranie, ustaw preferencje początkowej synchronizacji danych. Szczegóły każdej opcji są podane na ekranie kreatora i możesz wybrać dowolną z nich:

  1. Wysiew automatyczny.
  2. Pełna kopia zapasowa bazy danych i dziennika.
  3. Tylko dołącz.
  4. Pomiń początkową synchronizację danych.

Nie utworzyłem WideWorldImportors bazy danych w replice LinuxSQL02 i LinuxSQL03, wybierając opcję Automatyczne umieszczanie opcja. Utworzy bazę danych na obu replikach i rozpocznie synchronizację danych. Kliknij Dalej.

6. Walidacja i podsumowanie

Na Walidacji kreator sprawdza wszystkie konfiguracje.

Aby pomyślnie wdrożyć grupę dostępności Always On, musisz pomyślnie przeprowadzić wszystkie sprawdzanie poprawności. Jeśli jest jakiś błąd, musisz go naprawić.

W Podsumowaniu ekran, możesz zobaczyć listę konfiguracji wybranych do wdrożenia grupy dostępności.

Sprawdź szczegóły jeszcze raz i kliknij Zakończ – uruchamia proces wdrażania.

Jeśli chcesz wygenerować skrypt procesu wdrażania, kliknij Skrypt .

Jak widać, rozpoczyna się proces wdrażania AlwaysOn. Po pomyślnym zakończeniu kliknij Zamknij aby wyjść z kreatora.

W ten sposób wdrożenie grupy dostępności AlwaysOn w SQL Server 2019 zostało zakończone.

Podsumowanie

Ten artykuł pomaga nam zrozumieć krok po kroku proces wdrażania grupy dostępności SQL Server AlwaysOn w systemie Linux.

W następnym artykule wyjaśnimy, jak możemy skonfigurować odbiornik grupy dostępności i wykonać ręczne przełączanie awaryjne przy użyciu programu SQL Server Management Studio. Bądź na bieżąco!


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. ROLLBACK OBCIĄŻONY w SQL Server

  2. Różnica między odczytem zatwierdzonym a odczytem powtarzalnym

  3. Musisz zadeklarować zmienną @myvariable error za pomocą sparametryzowanego zapytania ADO

  4. Połącz się z serwerem SQL z uwierzytelnianiem systemu Windows z komputera z systemem Linux za pośrednictwem JDBC

  5. 3 sposoby uzyskania etapów zadania zadania agenta serwera SQL (T-SQL)