Udostępnij przez


Wdrażanie klastra Pacemaker dla programu SQL Server w systemie Linux

Dotyczy:Program SQL Server w systemie Linux

W tym samouczku opisano zadania wymagane do wdrożenia klastra Pacemaker w systemie Linux dla grupy dostępności Always On programu SQL Server lub instancji klastra przełączania awaryjnego (FCI). W przeciwieństwie do ściśle powiązanego stosu systemu Windows Server/ programu SQL Server, można utworzyć klaster Pacemaker i skonfigurować grupę dostępności w systemie Linux przed instalacją programu SQL Server lub po jej zainstalowaniu. Po tym jak skonfigurujesz klaster, skonfiguruj integrację i zasoby dla wdrożenia Pacemaker w ramach grupy dostępności lub w trybie failover klastra.

Ważny

Grupa dostępności (AG) z typem klastra "None" nie wymaga klastra Pacemaker i nie może być zarządzana przez program Pacemaker.

  • Zainstaluj Dodatek Wysokiej Dostępności i zainstaluj program Pacemaker.
  • Przygotuj węzły dla programu Pacemaker (tylko RHEL i Ubuntu).
  • Utwórz klaster Pacemaker.
  • Zainstaluj pakiety SQL Server HA i SQL Server Agent.

Notatka

Począwszy od programu SQL Server 2025 (17.x), system SUSE Linux Enterprise Server (SLES) nie jest obsługiwany.

Warunki wstępne

Zainstaluj program SQL Server w systemie Linux.

Zainstaluj dodatek o wysokiej dostępności

Użyj poniższej składni, aby zainstalować pakiety tworzące dodatek wysokiej dostępności (HA) dla każdej dystrybucji systemu Linux.

  • Red Hat Enterprise Linux (RHEL)
  • SUSE Linux Enterprise Server (SLES)
  • ubuntu
  1. Zarejestruj serwer przy użyciu następującej składni. Zostanie wyświetlony monit o prawidłową nazwę użytkownika i hasło.

    sudo subscription-manager register
    
  2. Wyświetl listę dostępnych pul na potrzeby rejestracji.

    sudo subscription-manager list --available
    
  3. Uruchom następujące polecenie, aby skojarzyć wysoką dostępność systemu RHEL z subskrypcją.

    sudo subscription-manager attach --pool=<PoolID>
    

    W tym przykładzie PoolId jest identyfikatorem puli dla subskrypcji o wysokiej dostępności z poprzedniego kroku.

  4. Włącz repozytorium, aby korzystać z dodatku zapewniającego wysoką dostępność.

    sudo subscription-manager repos --enable=rhel-ha-for-rhel-7-server-rpms
    
  5. Zainstaluj program Pacemaker.

    sudo yum install pacemaker pcs fence-agents-all resource-agents
    

Przygotowywanie węzłów do programu Pacemaker (tylko RHEL i Ubuntu)

Program Pacemaker używa użytkownika o nazwie hacluster utworzonego w systemie dystrybucji. Instalacja dodatku HA w systemach RHEL i Ubuntu tworzy tego użytkownika.

  1. Na każdym serwerze, który będzie służył jako węzeł w klastrze Pacemaker, utwórz hasło użytkownika, którego używa klaster. W przykładach użyto nazwy hacluster, ale możesz użyć dowolnej nazwy. Wszystkie węzły w klastrze Pacemaker muszą używać tej samej nazwy i hasła.

    sudo passwd hacluster
    
  2. W każdym węźle, który będzie częścią klastra Pacemaker, włącz i uruchom usługę pcsd przy użyciu następujących poleceń (RHEL i Ubuntu):

    sudo systemctl enable pcsd
    sudo systemctl start pcsd
    

    Następnie uruchom następujące polecenie, aby upewnić się, że pcsd się uruchomi.

    sudo systemctl status pcsd
    
  3. Włącz usługę Pacemaker w każdym możliwym węźle w klastrze Pacemaker.

    sudo systemctl start pacemaker
    

    W systemie Ubuntu jest wyświetlany błąd:

    pacemaker Default-Start contains no runlevels, aborting.
    

    Ten błąd jest znanym problemem. Pomimo błędu włączenie usługi Pacemaker zakończyło się pomyślnie. Ta usterka zostanie usunięta w przyszłej aktualizacji.

  4. Następnie utwórz i uruchom klaster Pacemaker. W tym kroku istnieje jedna różnica między systemami RHEL i Ubuntu. Instalowanie pcs na obu dystrybucjach konfiguruje domyślny plik konfiguracji dla klastra Pacemaker, natomiast w systemie RHEL uruchomienie tego polecenia usuwa istniejącą konfigurację i tworzy nowy klaster.

Tworzenie klastra Pacemaker

W tej sekcji opisano sposób tworzenia i konfigurowania klastra dla każdej dystrybucji systemu Linux.

  • Red Hat Enterprise Linux (RHEL)
  • SUSE Linux Enterprise Server (SLES)
  • ubuntu
  1. Autoryzowanie węzłów:

    sudo pcs cluster auth <Node1 Node2 ... NodeN> -u hacluster
    

    W tym przykładzie NodeX jest nazwą węzła.

  2. Utwórz klaster:

    sudo pcs cluster setup --name <PMClusterName Nodelist> --start --all --enable
    

    W tym przykładzie PMClusterName jest nazwą przypisaną do klastra Pacemaker i Nodelist jest listą nazw węzłów rozdzielonych spacją.

Instalowanie pakietów sql Server HA i SQL Server Agent

Użyj następujących poleceń, aby zainstalować pakiet SQL Server HA i agenta programu SQL Server, jeśli nie zostały jeszcze zainstalowane. Jeśli po zainstalowaniu programu SQL Server zainstalujesz pakiet wysokiej dostępności, musisz ponownie uruchomić program SQL Server, aby zmiany zaczęły obowiązywać. W tych instrukcjach przyjęto założenie, że repozytoria pakietów firmy Microsoft są już skonfigurowane, ponieważ program SQL Server powinien zostać zainstalowany w tym momencie.

  • Jeśli nie używasz agenta programu SQL Server do wysyłania dzienników ani innego użycia, nie musisz go uruchamiać ani konfigurować.

  • Inne opcjonalne pakiety dla programu SQL Server w systemie Linux, SQL Server Full-Text Search (mssql-server-fts) i SQL Server Integration Services (mssql-server-is), nie są wymagane w celu zapewnienia wysokiej dostępności ani dla wystąpienia klastra trybu failover, ani dla grupy dostępności.

  • Red Hat Enterprise Linux (RHEL)
  • SUSE Linux Enterprise Server (SLES)
  • ubuntu
sudo yum install mssql-server-ha mssql-server-agent
sudo systemctl restart mssql-server

Następny krok

W tym samouczku przedstawiono sposób wdrażania klastra Pacemaker dla programu SQL Server w systemie Linux. Wiesz już, jak wykonać następujące działania:

  • Zainstaluj Dodatek Wysokiej Dostępności i zainstaluj program Pacemaker.
  • Przygotuj węzły dla programu Pacemaker (tylko RHEL i Ubuntu).
  • Utwórz klaster Pacemaker.
  • Zainstaluj pakiety SQL Server HA i SQL Server Agent.

Aby utworzyć i skonfigurować grupę dostępności dla programu SQL Server w systemie Linux, zobacz: