Wysoka dostępność oprogramowania SAP HANA na maszynach wirtualnych platformy Azure na serwerze SUSE Linux Enterprise Server

Aby ustanowić wysoką dostępność w lokalnym wdrożeniu sap HANA, możesz użyć replikacji systemu SAP HANA lub magazynu udostępnionego.

Obecnie na maszynach wirtualnych platformy Azure replikacja systemu SAP HANA na platformie Azure jest jedyną obsługiwaną funkcją wysokiej dostępności.

Replikacja systemu SAP HANA składa się z jednego węzła podstawowego i co najmniej jednego węzła pomocniczego. Zmiany danych w węźle podstawowym są replikowane synchronicznie lub asynchronicznie do węzła pomocniczego.

W tym artykule opisano sposób wdrażania i konfigurowania maszyn wirtualnych, instalowania struktury klastra oraz instalowania i konfigurowania replikacji systemu SAP HANA.

Przed rozpoczęciem zapoznaj się z następującymi uwagami i dokumentami sap:

  • 1928533 notatek SAP. Uwaga zawiera:
    • Lista rozmiarów maszyn wirtualnych platformy Azure obsługiwanych na potrzeby wdrażania oprogramowania SAP.
    • Ważne informacje o pojemności dla rozmiarów maszyn wirtualnych platformy Azure.
    • Obsługiwane kombinacje oprogramowania SAP, systemu operacyjnego i bazy danych.
    • Wymagane wersje jądra SAP dla systemów Windows i Linux na platformie Microsoft Azure.
  • Program SAP Note 2015553 zawiera listę wymagań wstępnych dotyczących wdrożeń oprogramowania SAP obsługiwanych przez oprogramowanie SAP na platformie Azure.
  • Program SAP Note 2205917 ma zalecane ustawienia systemu operacyjnego dla systemu SUSE Linux Enterprise Server 12 (SLES 12) dla aplikacji SAP.
  • Firma SAP Note 2684254 ma zalecane ustawienia systemu operacyjnego dla systemu operacyjnego SUSE Linux Enterprise Server 15 (SLES 15) dla aplikacji SAP.
  • Oprogramowanie SAP Note 2235581 ma obsługiwane systemy operacyjne SAP HANA
  • Program SAP Note 2178632 zawiera szczegółowe informacje o wszystkich metrykach monitorowania zgłaszanych dla oprogramowania SAP na platformie Azure.
  • Program SAP Note 2191498 ma wymaganą wersję agenta hosta SAP dla systemu Linux na platformie Azure.
  • Program SAP Note 2243692 zawiera informacje o licencjonowaniu oprogramowania SAP dla systemu Linux na platformie Azure.
  • Program SAP Note 1984787 zawiera ogólne informacje o systemie SUSE Linux Enterprise Server 12.
  • Program SAP Note 1999351 zawiera więcej informacji dotyczących rozwiązywania problemów z rozszerzeniem rozszerzonego monitorowania platformy Azure dla oprogramowania SAP.
  • Program SAP Note 401162 zawiera informacje o sposobie unikania błędów "adres już używany" podczas konfigurowania replikacji systemu HANA.
  • Witryna wiki pomocy technicznej sap community zawiera wszystkie wymagane uwagi SAP dla systemu Linux.
  • Certyfikowane platformy IaaS oprogramowania SAP HANA.
  • Przewodnik planowania i implementacji usługi Azure Virtual Machines dla oprogramowania SAP w systemie Linux .
  • Przewodnik wdrażania usługi Azure Virtual Machines dla oprogramowania SAP w systemie Linux .
  • Wdrażanie systemu SAP w systemie Linux w usłudze Azure Virtual Machines DBMS.
  • Przewodniki dotyczące najlepszych rozwiązań systemu SUSE Linux Enterprise Server for SAP Applications 15 oraz przewodniki dotyczące najlepszych rozwiązań dla systemu SUSE Linux Enterprise Server for SAP Applications 12:
    • Konfigurowanie infrastruktury zoptymalizowanej pod kątem wydajności usługi SAP HANA SR (SLES dla aplikacji SAP). Ten przewodnik zawiera wszystkie informacje wymagane do skonfigurowania replikacji systemu SAP HANA na potrzeby programowania lokalnego. Skorzystaj z tego przewodnika jako punktu odniesienia.
    • Konfigurowanie infrastruktury zoptymalizowanej pod kątem kosztów (SLES dla aplikacji SAP HANA SR).

Planowanie wysokiej dostępności oprogramowania SAP HANA

Aby uzyskać wysoką dostępność, zainstaluj platformę SAP HANA na dwóch maszynach wirtualnych. Dane są replikowane przy użyciu replikacji systemu HANA.

Diagram przedstawiający przegląd wysokiej dostępności oprogramowania SAP HANA.

Konfiguracja replikacji systemu SAP HANA używa dedykowanej nazwy hosta wirtualnego i wirtualnych adresów IP. Na platformie Azure potrzebny jest moduł równoważenia obciążenia do wdrożenia wirtualnego adresu IP.

Na powyższej ilustracji przedstawiono przykładowy moduł równoważenia obciążenia, który ma następujące konfiguracje:

  • Adres IP frontonu: 10.0.0.13 dla HN1-db
  • Port sondy: 62503

Przygotowywanie infrastruktury

Agent zasobów dla platformy SAP HANA jest zawarty w systemie SUSE Linux Enterprise Server for SAP Applications. Obraz dla systemu SUSE Linux Enterprise Server dla aplikacji SAP 12 lub 15 jest dostępny w witrynie Azure Marketplace. Możesz użyć obrazu do wdrożenia nowych maszyn wirtualnych.

Ręczne wdrażanie maszyn wirtualnych z systemem Linux za pośrednictwem witryny Azure Portal

W tym dokumencie przyjęto założenie, że grupa zasobów, usługa Azure Virtual Network i podsieć zostały już wdrożone.

Wdrażanie maszyn wirtualnych dla platformy SAP HANA. Wybierz odpowiedni obraz SLES obsługiwany dla systemu HANA. Maszynę wirtualną można wdrożyć w dowolnej z opcji dostępności — zestawu skalowania maszyn wirtualnych, strefy dostępności lub zestawu dostępności.

Ważne

Upewnij się, że wybrany system operacyjny ma certyfikat SAP dla platformy SAP HANA na określonych typach maszyn wirtualnych, które mają być używane we wdrożeniu. Możesz wyszukać typy maszyn wirtualnych z certyfikatem SAP HANA i ich wersje systemu operacyjnego na platformach IaaS certyfikowanych na platformie SAP HANA. Upewnij się, że zapoznasz się ze szczegółami typu maszyny wirtualnej, aby uzyskać pełną listę wersji systemu operacyjnego obsługiwanych przez platformę SAP HANA dla określonego typu maszyny wirtualnej.

Konfigurowanie modułu równoważenia obciążenia platformy Azure

Podczas konfigurowania maszyny wirtualnej masz możliwość utworzenia lub wybrania wyjścia z modułu równoważenia obciążenia w sekcji dotyczącej sieci. Wykonaj poniższe kroki, aby skonfigurować standardowy moduł równoważenia obciążenia na potrzeby konfiguracji bazy danych HANA o wysokiej dostępności.

Wykonaj kroki opisane w temacie Tworzenie modułu równoważenia obciążenia, aby skonfigurować standardowy moduł równoważenia obciążenia dla systemu SAP o wysokiej dostępności przy użyciu witryny Azure Portal. Podczas konfigurowania modułu równoważenia obciążenia należy wziąć pod uwagę następujące kwestie:

  1. Konfiguracja adresu IP frontonu: utwórz adres IP frontonu. Wybierz tę samą sieć wirtualną i nazwę podsieci co maszyny wirtualne bazy danych.
  2. Pula zaplecza: utwórz pulę zaplecza i dodaj maszyny wirtualne bazy danych.
  3. Reguły ruchu przychodzącego: utwórz regułę równoważenia obciążenia. Wykonaj te same kroki dla obu reguł równoważenia obciążenia.
    • Adres IP frontonu: wybierz adres IP frontonu.
    • Pula zaplecza: wybierz pulę zaplecza.
    • Porty wysokiej dostępności: wybierz tę opcję.
    • Protokół: wybierz pozycję TCP.
    • Sonda kondycji: utwórz sondę kondycji z następującymi szczegółami:
      • Protokół: wybierz pozycję TCP.
      • Port: na przykład 625<instance-no.>.
      • Interwał: wprowadź wartość 5.
      • Próg sondy: wprowadź wartość 2.
    • Limit czasu bezczynności (w minutach): wprowadź wartość 30.
    • Włącz pływający adres IP: wybierz tę opcję.

Uwaga

Właściwość numberOfProbeskonfiguracji sondy kondycji , inaczej znana jako próg złej kondycji w portalu, nie jest uwzględniana. Aby kontrolować liczbę pomyślnych lub zakończonych niepowodzeniem kolejnych sond, ustaw właściwość probeThreshold na 2wartość . Obecnie nie można ustawić tej właściwości przy użyciu witryny Azure Portal, dlatego użyj interfejsu wiersza polecenia platformy Azure lub polecenia programu PowerShell.

Aby uzyskać więcej informacji na temat wymaganych portów platformy SAP HANA, przeczytaj rozdział Połączenie ions to Tenant Databases (Bazy danych dzierżawy oprogramowania SAP HANA) lub SAP Note 2388694 (Bazy danych dzierżaw oprogramowania SAP HANA).

Ważne

Pływający adres IP nie jest obsługiwany w pomocniczej konfiguracji adresu IP karty sieciowej w scenariuszach równoważenia obciążenia. Aby uzyskać szczegółowe informacje, zobacz Ograniczenia usługi Azure Load Balancer. Jeśli potrzebujesz innego adresu IP maszyny wirtualnej, wdróż drugą kartę sieciową.

Uwaga

Jeśli maszyny wirtualne, które nie mają publicznych adresów IP, są umieszczane w puli zaplecza wewnętrznego (bez publicznego adresu IP) standardowego wystąpienia usługi Azure Load Balancer, domyślna konfiguracja nie jest wychodzącą łącznością internetową. Aby zezwolić na routing do publicznych punktów końcowych, możesz wykonać dodatkowe kroki. Aby uzyskać szczegółowe informacje na temat uzyskiwania łączności wychodzącej, zobacz Publiczna łączność punktów końcowych dla maszyn wirtualnych przy użyciu usługi Azure usługa Load Balancer w warstwie Standardowa w scenariuszach wysokiej dostępności oprogramowania SAP.

Ważne

  • Nie włączaj sygnatur czasowych PROTOKOŁU TCP na maszynach wirtualnych platformy Azure, które znajdują się za usługą Azure Load Balancer. Włączenie sygnatur czasowych protokołu TCP powoduje niepowodzenie sond kondycji. Ustaw parametr net.ipv4.tcp_timestamps na 0. Aby uzyskać szczegółowe informacje, zobacz Load Balancer health probes or SAP note 2382421 (Sondy kondycji usługi Load Balancer lub sap) 2382421.
  • Aby zapobiec zmianie ręcznie ustawionej net.ipv4.tcp_timestamps wartości z 0 powrotem na 1, zaktualizuj program saptune do wersji 3.1.1 lub nowszej. Aby uzyskać więcej informacji, zobacz saptune 3.1.1 — Czy muszę zaktualizować?.

Tworzenie klastra Pacemaker

Wykonaj kroki opisane w temacie Konfigurowanie programu Pacemaker na serwerze SUSE Linux Enterprise Server na platformie Azure , aby utworzyć podstawowy klaster Pacemaker dla tego serwera HANA. Możesz użyć tego samego klastra Pacemaker dla systemów SAP HANA i SAP NetWeaver (A)SCS.

Instalowanie platformy SAP HANA

Kroki opisane w tej sekcji korzystają z następujących prefiksów:

  • [A]: Krok dotyczy wszystkich węzłów.
  • [1]: Krok dotyczy tylko węzła 1.
  • [2]: Krok dotyczy tylko węzła 2 klastra Pacemaker.

Zastąp <placeholders> wartościami instalacji oprogramowania SAP HANA.

  1. [A] Skonfiguruj układ dysku przy użyciu Menedżera woluminów logicznych (LVM).

    Zalecamy używanie lvm dla woluminów, które przechowują dane i pliki dziennika. W poniższym przykładzie przyjęto założenie, że maszyny wirtualne mają cztery dołączone dyski danych używane do tworzenia dwóch woluminów.

    1. Uruchom to polecenie, aby wyświetlić listę wszystkich dostępnych dysków:

      /dev/disk/azure/scsi1/lun*
      

      Przykładowe wyjście:

      /dev/disk/azure/scsi1/lun0  /dev/disk/azure/scsi1/lun1  /dev/disk/azure/scsi1/lun2  /dev/disk/azure/scsi1/lun3
      
    2. Utwórz woluminy fizyczne dla wszystkich dysków, których chcesz użyć:

      sudo pvcreate /dev/disk/azure/scsi1/lun0
      sudo pvcreate /dev/disk/azure/scsi1/lun1
      sudo pvcreate /dev/disk/azure/scsi1/lun2
      sudo pvcreate /dev/disk/azure/scsi1/lun3
      
    3. Utwórz grupę woluminów dla plików danych. Użyj jednej grupy woluminów dla plików dziennika i jednej grupy woluminów dla udostępnionego katalogu sap HANA:

      sudo vgcreate vg_hana_data_<HANA SID> /dev/disk/azure/scsi1/lun0 /dev/disk/azure/scsi1/lun1
      sudo vgcreate vg_hana_log_<HANA SID> /dev/disk/azure/scsi1/lun2
      sudo vgcreate vg_hana_shared_<HANA SID> /dev/disk/azure/scsi1/lun3
      
    4. Utwórz woluminy logiczne.

      Wolumin liniowy jest tworzony podczas używania lvcreate bez przełącznika -i . Zalecamy utworzenie woluminu rozłożonego w celu uzyskania lepszej wydajności operacji we/wy. Wyrównuj rozmiary pasków do wartości opisanych w konfiguracjach magazynu maszyn wirtualnych SAP HANA. Argument -i powinien być liczbą bazowych woluminów fizycznych, a -I argumentem jest rozmiar paska.

      Jeśli na przykład dwa woluminy fizyczne są używane dla woluminu danych, -i argument przełącznika jest ustawiony na 2, a rozmiar paska dla woluminu danych to 256KiB. Jeden wolumin fizyczny jest używany dla woluminu dziennika, więc żadne przełączniki nie -i-I są jawnie używane dla poleceń woluminu dziennika.

      Ważne

      Jeśli używasz więcej niż jednego woluminu fizycznego dla każdego woluminu danych, woluminu dziennika lub udostępnionego woluminu, użyj przełącznika -i i ustaw go jako liczbę woluminów fizycznych bazowych. Podczas tworzenia woluminu rozłożonego użyj przełącznika -I , aby określić rozmiar paska.

      Aby uzyskać zalecane konfiguracje magazynu, w tym rozmiary rozłożone i liczbę dysków, zobacz Konfiguracje magazynu maszyn wirtualnych SAP HANA.

      sudo lvcreate <-i number of physical volumes> <-I stripe size for the data volume> -l 100%FREE -n hana_data vg_hana_data_<HANA SID>
      sudo lvcreate -l 100%FREE -n hana_log vg_hana_log_<HANA SID>
      sudo lvcreate -l 100%FREE -n hana_shared vg_hana_shared_<HANA SID>
      sudo mkfs.xfs /dev/vg_hana_data_<HANA SID>/hana_data
      sudo mkfs.xfs /dev/vg_hana_log_<HANA SID>/hana_log
      sudo mkfs.xfs /dev/vg_hana_shared_<HANA SID>/hana_shared
      
    5. Utwórz katalogi instalacji i skopiuj unikatowy identyfikator (UUID) wszystkich woluminów logicznych:

      sudo mkdir -p /hana/data/<HANA SID>
      sudo mkdir -p /hana/log/<HANA SID>
      sudo mkdir -p /hana/shared/<HANA SID>
      # Write down the ID of /dev/vg_hana_data_<HANA SID>/hana_data, /dev/vg_hana_log_<HANA SID>/hana_log, and /dev/vg_hana_shared_<HANA SID>/hana_shared
      sudo blkid
      
    6. Edytuj plik /etc/fstab, aby utworzyć fstab wpisy dla trzech woluminów logicznych:

      sudo vi /etc/fstab
      
    7. Wstaw następujące wiersze w pliku /etc/fstab :

      /dev/disk/by-uuid/<UUID of /dev/mapper/vg_hana_data_<HANA SID>-hana_data> /hana/data/<HANA SID> xfs  defaults,nofail  0  2
      /dev/disk/by-uuid/<UUID of /dev/mapper/vg_hana_log_<HANA SID>-hana_log> /hana/log/<HANA SID> xfs  defaults,nofail  0  2
      /dev/disk/by-uuid/<UUID of /dev/mapper/vg_hana_shared_<HANA SID>-hana_shared> /hana/shared/<HANA SID> xfs  defaults,nofail  0  2
      
    8. Zainstaluj nowe woluminy:

      sudo mount -a
      
  2. [A] Skonfiguruj układ dysku przy użyciu dysków zwykłych.

    W przypadku systemów demonstracyjnych można umieścić dane i pliki dziennika HANA na jednym dysku.

    1. Utwórz partycję na /dev/disk/azure/scsi1/lun0 i sformatuj ją przy użyciu systemu XFS:

      sudo sh -c 'echo -e "n\n\n\n\n\nw\n" | fdisk /dev/disk/azure/scsi1/lun0'
      sudo mkfs.xfs /dev/disk/azure/scsi1/lun0-part1
      
      # Write down the ID of /dev/disk/azure/scsi1/lun0-part1
      sudo /sbin/blkid
      sudo vi /etc/fstab
      
    2. Wstaw ten wiersz w pliku /etc/fstab :

      /dev/disk/by-uuid/<UUID> /hana xfs  defaults,nofail  0  2
      
    3. Utwórz katalog docelowy i zainstaluj dysk:

      sudo mkdir /hana
      sudo mount -a
      
  3. [A] Skonfiguruj rozpoznawanie nazw hostów dla wszystkich hostów.

    Możesz użyć serwera DNS lub zmodyfikować plik /etc/hosts na wszystkich węzłach. W tym przykładzie pokazano, jak używać pliku /etc/hosts . Zastąp adresy IP i nazwy hostów w następujących poleceniach.

    1. Edytuj plik /etc/hosts:

      sudo vi /etc/hosts
      
    2. Wstaw następujące wiersze w pliku /etc/hosts . Zmień adresy IP i nazwy hostów, aby odpowiadały twojemu środowisku.

      10.0.0.5 hn1-db-0
      10.0.0.6 hn1-db-1
      
  4. [A] Zainstaluj pakiety wysokiej dostępności oprogramowania SAP HANA:

    • Uruchom następujące polecenie, aby zainstalować pakiety wysokiej dostępności:

      sudo zypper install SAPHanaSR
      

    Aby zainstalować replikację systemu SAP HANA, zapoznaj się z rozdziałem 4 w przewodniku Scenariusz zoptymalizowany pod kątem wydajności usługi SAP HANA SR.

  5. [A] Uruchom program hdblcm z nośnika instalacyjnego HANA.

    Po wyświetleniu monitu wprowadź następujące wartości:

    1. Wybierz pozycję Instalacja: wprowadź wartość 1.
    2. Wybierz dodatkowe składniki do instalacji: wprowadź wartość 1.
    3. Wprowadź ścieżkę instalacji: wprowadź ciąg /hana/shared i wybierz klawisz Enter.
    4. Wprowadź nazwę hosta lokalnego: wprowadź ciąg .. i wybierz klawisz Enter.
    5. Czy chcesz dodać dodatkowe hosty do systemu? (y/n): wprowadź n i wybierz klawisz Enter.
    6. Wprowadź identyfikator systemu SAP HANA: wprowadź identyfikator SID platformy HANA.
    7. Wprowadź numer wystąpienia: wprowadź numer wystąpienia platformy HANA. Jeśli wdrożono przy użyciu szablonu platformy Azure lub jeśli wykonano instrukcje ręcznego wdrażania tego artykułu, wprowadź wartość 03.
    8. Wybierz tryb bazy danych / Wprowadź indeks: wprowadź lub wybierz pozycję 1 , a następnie wybierz klawisz Enter.
    9. Wybierz użycie systemu / Wprowadź indeks: Wybierz wartość użycia systemu 4.
    10. Wprowadź lokalizację woluminów danych: wprowadź /hana/data/<HANA SID> i wybierz klawisz Enter.
    11. Wprowadź lokalizację woluminów dziennika: wprowadź /hana/log/<HANA SID> i wybierz klawisz Enter.
    12. Ogranicz maksymalną alokację pamięci?: wprowadź n i wybierz klawisz Enter.
    13. Wprowadź nazwę hosta certyfikatu: wprowadź ... i wybierz klawisz Enter.
    14. Wprowadź hasło użytkownika agenta hosta SAP (sapadm): wprowadź hasło użytkownika agenta hosta, a następnie wybierz klawisz Enter.
    15. Potwierdź hasło użytkownika agenta hosta SAP (sapadm): wprowadź ponownie hasło użytkownika agenta hosta, a następnie wybierz klawisz Enter.
    16. Wprowadź hasło administratora systemu (hdbadm): wprowadź hasło administratora systemu, a następnie naciśnij klawisz Enter.
    17. Potwierdź hasło administratora systemu (hdbadm): ponownie wprowadź hasło administratora systemu, a następnie wybierz klawisz Enter.
    18. Wprowadź katalog główny administratora systemu: wprowadź /usr/sap/<HANA SID>/home i wybierz klawisz Enter.
    19. Wprowadź powłokę logowania administratora systemu: wprowadź /bin/sh i wybierz klawisz Enter.
    20. Wprowadź identyfikator użytkownika administratora systemu: wprowadź wartość 1001 i wybierz klawisz Enter.
    21. Wprowadź identyfikator grupy użytkowników (sapsys): wprowadź wartość 79 i wybierz klawisz Enter.
    22. Wprowadź hasło użytkownika bazy danych (SYSTEM): wprowadź hasło użytkownika bazy danych, a następnie wybierz klawisz Enter.
    23. Potwierdź hasło użytkownika bazy danych (SYSTEM): wprowadź ponownie hasło użytkownika bazy danych, a następnie wybierz klawisz Enter.
    24. Czy ponownie uruchomić system po ponownym uruchomieniu maszyny? (y/n): wprowadź n i wybierz klawisz Enter.
    25. Czy chcesz kontynuować? (y/n): Zweryfikuj podsumowanie. Wprowadź y , aby kontynuować.
  6. [A] Uaktualnij agenta hosta SAP.

    Pobierz najnowsze archiwum agenta hosta SAP z centrum oprogramowania SAP. Uruchom następujące polecenie, aby uaktualnić agenta. Zastąp ścieżkę do archiwum, aby wskazać pobrany plik.

    sudo /usr/sap/hostctrl/exe/saphostexec -upgrade -archive <path to SAP host agent SAR>
    

Konfigurowanie replikacji systemu SAP HANA 2.0

Kroki opisane w tej sekcji korzystają z następujących prefiksów:

  • [A]: Krok dotyczy wszystkich węzłów.
  • [1]: Krok dotyczy tylko węzła 1.
  • [2]: Krok dotyczy tylko węzła 2 klastra Pacemaker.

Zastąp <placeholders> wartościami instalacji oprogramowania SAP HANA.

  1. [1] Utwórz bazę danych dzierżawy.

    Jeśli używasz oprogramowania SAP HANA 2.0 lub SAP HANA MDC, utwórz bazę danych dzierżawy dla systemu SAP NetWeaver.

    Uruchom następujące polecenie jako <adm sid>platformy HANA:

    hdbsql -u SYSTEM -p "<password>" -i <instance number> -d SYSTEMDB 'CREATE DATABASE <SAP SID> SYSTEM USER PASSWORD "<password>"'
    
  2. [1] Konfigurowanie replikacji systemu w pierwszym węźle:

    Najpierw wykonaj kopię zapasową baz danych jako <adm identyfikatora SID>platformy HANA:

    hdbsql -d SYSTEMDB -u SYSTEM -p "<password>" -i <instance number> "BACKUP DATA USING FILE ('<name of initial backup file for SYS>')"
    hdbsql -d <HANA SID> -u SYSTEM -p "<password>" -i <instance number> "BACKUP DATA USING FILE ('<name of initial backup file for HANA SID>')"
    hdbsql -d <SAP SID> -u SYSTEM -p "<password>" -i <instance number> "BACKUP DATA USING FILE ('<name of initial backup file for SAP SID>')"
    

    Następnie skopiuj pliki infrastruktury kluczy publicznych (PKI) systemu do lokacji dodatkowej:

    scp /usr/sap/<HANA SID>/SYS/global/security/rsecssfs/data/SSFS_<HANA SID>.DAT   hn1-db-1:/usr/sap/<HANA SID>/SYS/global/security/rsecssfs/data/
    scp /usr/sap/<HANA SID>/SYS/global/security/rsecssfs/key/SSFS_<HANA SID>.KEY  hn1-db-1:/usr/sap/<HANA SID>/SYS/global/security/rsecssfs/key/
    

    Utwórz lokację główną:

    hdbnsutil -sr_enable --name=<site 1>
    
  3. [2] Konfigurowanie replikacji systemu w drugim węźle:

    Zarejestruj drugi węzeł, aby rozpocząć replikację systemu.

    Uruchom następujące polecenie jako <adm sid>platformy HANA:

    sapcontrol -nr <instance number> -function StopWait 600 10
    hdbnsutil -sr_register --remoteHost=hn1-db-0 --remoteInstance=<instance number> --replicationMode=sync --name=<site 2> 
    

Konfigurowanie replikacji systemu SAP HANA 1.0

Kroki opisane w tej sekcji korzystają z następujących prefiksów:

  • [A]: Krok dotyczy wszystkich węzłów.
  • [1]: Krok dotyczy tylko węzła 1.
  • [2]: Krok dotyczy tylko węzła 2 klastra Pacemaker.

Zastąp <placeholders> wartościami instalacji oprogramowania SAP HANA.

  1. [1] Utwórz wymaganych użytkowników.

    Uruchom następujące polecenie jako katalog główny:

    PATH="$PATH:/usr/sap/<HANA SID>/HDB<instance number>/exe"
    hdbsql -u system -i <instance number> 'CREATE USER hdbhasync PASSWORD "<password>"'
    hdbsql -u system -i <instance number> 'GRANT DATA ADMIN TO hdbhasync'
    hdbsql -u system -i <instance number> 'ALTER USER hdbhasync DISABLE PASSWORD LIFETIME'
    
  2. [A] Utwórz wpis magazynu kluczy.

    Uruchom następujące polecenie jako katalog główny, aby utworzyć nowy wpis magazynu kluczy:

    PATH="$PATH:/usr/sap/<HANA SID>/HDB<instance number>/exe"
    hdbuserstore SET hdbhaloc localhost:3<instance number>15 hdbhasync <password>
    
  3. [1] Tworzenie kopii zapasowej bazy danych.

    Tworzenie kopii zapasowej baz danych jako katalogu głównego:

    PATH="$PATH:/usr/sap/<HANA SID>/HDB<instance number>/exe"
    hdbsql -d SYSTEMDB -u system -i <instance number> "BACKUP DATA USING FILE ('<name of initial backup file>')"
    

    Jeśli używasz instalacji z wieloma dzierżawami, utwórz kopię zapasową bazy danych dzierżawy:

    hdbsql -d <HANA SID> -u system -i <instance number> "BACKUP DATA USING FILE ('<name of initial backup file>')"
    
  4. [1] Konfigurowanie replikacji systemu w pierwszym węźle.

    Utwórz lokację główną jako <adm identyfikatora SID>platformy HANA:

    su - hdbadm
    hdbnsutil -sr_enable --name=<site 1>
    
  5. [2] Konfigurowanie replikacji systemu w węźle pomocniczym.

    Zarejestruj lokację dodatkową jako <adm identyfikatora SID>platformy HANA:

    sapcontrol -nr <instance number> -function StopWait 600 10
    hdbnsutil -sr_register --remoteHost=<HANA SID>-db-<database 1> --remoteInstance=<instance number> --replicationMode=sync --name=<site 2> 
    

Implementowanie zaczepień platformy HANA SAPHanaSR i susChkSrv

W tym ważnym kroku zoptymalizuj integrację z klastrem i poprawisz wykrywanie, gdy potrzebny jest tryb failover klastra. Zdecydowanie zalecamy skonfigurowanie haka języka Python SAPHanaSR. W przypadku platformy HANA 2.0 SP5 lub nowszej zalecamy zaimplementowanie haka SAPHanaSR i haka susChkSrv.

Hak susChkSrv rozszerza funkcjonalność głównego dostawcy SAPHanaSR HA. Działa, gdy proces HANA hdbindexserver ulega awarii. W przypadku awarii pojedynczego procesu platforma HANA zwykle próbuje go uruchomić ponownie. Ponowne uruchomienie procesu indexserver może zająć dużo czasu, podczas którego baza danych HANA nie odpowiada.

W przypadku zaimplementowania polecenia susChkSrv wykonywana jest natychmiastowa i konfigurowalna akcja. Akcja wyzwala przejście w tryb failover w skonfigurowanym przedziale czasu zamiast oczekiwania na ponowne uruchomienie procesu hdbindexserver w tym samym węźle.

  1. [A] Zainstaluj punkt zaczepienia replikacji systemu HANA. Hak musi być zainstalowany w obu węzłach bazy danych HANA.

    Napiwek

    Hak języka Python SAPHanaSR można zaimplementować tylko dla platformy HANA 2.0. Pakiet SAPHanaSR musi być co najmniej w wersji 0.153.

    Element susChkSrv Python hook wymaga zainstalowania oprogramowania SAP HANA 2.0 SP5 i wersji SAPHanaSR w wersji 0.161.1_BF lub nowszej.

    1. Zatrzymaj platformę HANA w obu węzłach.

      Uruchom następujący kod jako <sapsid>adm:

      sapcontrol -nr <instance number> -function StopSystem
      
    2. Dostosuj global.ini w każdym węźle klastra. Jeśli wymagania dotyczące haka susChkSrv nie są spełnione, usuń cały [ha_dr_provider_suschksrv] blok z następujących parametrów.

      Zachowanie można dostosować susChkSrv za pomocą parametru action_on_lost . Prawidłowe wartości to [ ignorefence | | stop | kill].

      # add to global.ini
      [ha_dr_provider_SAPHanaSR]
      provider = SAPHanaSR
      path = /usr/share/SAPHanaSR
      execution_order = 1
      
      [ha_dr_provider_suschksrv]
      provider = susChkSrv
      path = /usr/share/SAPHanaSR
      execution_order = 3
      action_on_lost = fence
      
      [trace]
      ha_dr_saphanasr = info
      

      Jeśli wskażesz standardową lokalizację /usr/share/SAPHanaSR , kod zaczepienia języka Python zostanie automatycznie zaktualizowany za pośrednictwem aktualizacji systemu operacyjnego lub aktualizacji pakietów. Platforma HANA używa aktualizacji kodu zaczepienia po następnym ponownym uruchomieniu. W przypadku opcjonalnej własnej ścieżki, takiej jak /hana/shared/myHooks, można rozdzielić aktualizacje systemu operacyjnego z używanej wersji punktu zaczepienia.

  2. [A] Klaster wymaga konfiguracji sudoers w każdym węźle klastra dla <usługi SAP SID>adm. W tym przykładzie jest to osiągane przez utworzenie nowego pliku.

    Uruchom następujące polecenie jako katalog główny:

     cat << EOF > /etc/sudoers.d/20-saphana
     # Needed for SAPHanaSR and susChkSrv Python hooks
     hn1adm ALL=(ALL) NOPASSWD: /usr/sbin/crm_attribute -n hana_hn1_site_srHook_*
     hn1adm ALL=(ALL) NOPASSWD: /usr/sbin/SAPHanaSR-hookHelper --sid=HN1 --case=fenceMe
     EOF
    

    Aby uzyskać szczegółowe informacje na temat implementowania haka replikacji systemu SAP HANA, zobacz Konfigurowanie dostawców wysokiej dostępności/odzyskiwania po awarii platformy HANA.

  3. [A] Uruchom platformę SAP HANA w obu węzłach.

    Uruchom następujące polecenie jako <polecenie SAP SID>adm:

     sapcontrol -nr <instance number> -function StartSystem 
    
  4. [1] Sprawdź instalację haka.

    Uruchom następujące polecenie jako <adm identyfikatora SID>sap w aktywnej lokacji replikacji systemu HANA:

     cdtrace
     awk '/ha_dr_SAPHanaSR.*crm_attribute/ \
     { printf "%s %s %s %s\n",$2,$3,$5,$16 }' nameserver_*
     # Example output
     # 2021-04-08 22:18:15.877583 ha_dr_SAPHanaSR SFAIL
     # 2021-04-08 22:18:46.531564 ha_dr_SAPHanaSR SFAIL
     # 2021-04-08 22:21:26.816573 ha_dr_SAPHanaSR SOK
    

    Sprawdź instalację haka susChkSrv.

    Uruchom następujące polecenie jako <adm identyfikatora SID>sap na wszystkich maszynach wirtualnych HANA:

     cdtrace
     egrep '(LOST:|STOP:|START:|DOWN:|init|load|fail)' nameserver_suschksrv.trc
     # Example output
     # 2022-11-03 18:06:21.116728  susChkSrv.init() version 0.7.7, parameter info: action_on_lost=fence stop_timeout=20 kill_signal=9
     # 2022-11-03 18:06:27.613588  START: indexserver event looks like graceful tenant start
     # 2022-11-03 18:07:56.143766  START: indexserver event looks like graceful tenant start (indexserver started)
    

Tworzenie zasobów klastra SAP HANA

Najpierw utwórz topologię platformy HANA.

Uruchom następujące polecenia w jednym z węzłów klastra Pacemaker:

sudo crm configure property maintenance-mode=true

# Replace <placeholders> with your instance number and HANA system ID

sudo crm configure primitive rsc_SAPHanaTopology_<HANA SID>_HDB<instance number> ocf:suse:SAPHanaTopology \
  operations \$id="rsc_sap2_<HANA SID>_HDB<instance number>-operations" \
  op monitor interval="10" timeout="600" \
  op start interval="0" timeout="600" \
  op stop interval="0" timeout="300" \
  params SID="<HANA SID>" InstanceNumber="<instance number>"

sudo crm configure clone cln_SAPHanaTopology_<HANA SID>_HDB<instance number> rsc_SAPHanaTopology_<HANA SID>_HDB<instance number> \
  meta clone-node-max="1" target-role="Started" interleave="true"

Następnie utwórz zasoby platformy HANA:

Ważne

W ostatnich testach netcat przestają odpowiadać na żądania z powodu listy prac i z powodu ograniczenia obsługi tylko jednego połączenia. Zasób netcat przestaje nasłuchiwać żądań usługi Azure Load Balancer, a pływający adres IP staje się niedostępny.

W przypadku istniejących klastrów Pacemaker zalecamy wcześniej zastąpienie netcat elementem socat. Obecnie zalecamy użycie agenta azure-lb zasobów, który jest częścią pakietu programu resource-agents. Wymagane są następujące wersje pakietów:

  • W przypadku systemu SLES 12 SP4/SP5 wersja musi być co najmniej resource-agents-4.3.018.a7fb5035-3.30.1.
  • W przypadku systemu SLES 15/15 SP1 wersja musi być co najmniej resource-agents-4.3.0184.6ee15eb2-4.13.1.

Wprowadzenie tej zmiany wymaga krótkiego przestoju.

W przypadku istniejących klastrów Pacemaker, jeśli konfiguracja została już zmieniona tak, aby była używana socat zgodnie z opisem w artykule Azure Load Balancer Detection Hardening (Wzmacnianie zabezpieczeń wykrywania modułu równoważenia obciążenia platformy Azure), nie musisz natychmiast przełączać się do agenta azure-lb zasobów.

Uwaga

Ten artykuł zawiera odwołania do terminów, których firma Microsoft już nie używa. Po usunięciu tych warunków z oprogramowania usuniemy je z tego artykułu.

# Replace <placeholders> with your instance number, HANA system ID, and the front-end IP address of the Azure load balancer. 

sudo crm configure primitive rsc_SAPHana_<HANA SID>_HDB<instance number> ocf:suse:SAPHana \
  operations \$id="rsc_sap_<HANA SID>_HDB<instance number>-operations" \
  op start interval="0" timeout="3600" \
  op stop interval="0" timeout="3600" \
  op promote interval="0" timeout="3600" \
  op monitor interval="60" role="Master" timeout="700" \
  op monitor interval="61" role="Slave" timeout="700" \
  params SID="<HANA SID>" InstanceNumber="<instance number>" PREFER_SITE_TAKEOVER="true" \
  DUPLICATE_PRIMARY_TIMEOUT="7200" AUTOMATED_REGISTER="false"

sudo crm configure ms msl_SAPHana_<HANA SID>_HDB<instance number> rsc_SAPHana_<HANA SID>_HDB<instance number> \
  meta notify="true" clone-max="2" clone-node-max="1" \
  target-role="Started" interleave="true"

sudo crm resource meta msl_SAPHana_<HANA SID>_HDB<instance number> set priority 100

sudo crm configure primitive rsc_ip_<HANA SID>_HDB<instance number> ocf:heartbeat:IPaddr2 \
  meta target-role="Started" \
  operations \$id="rsc_ip_<HANA SID>_HDB<instance number>-operations" \
  op monitor interval="10s" timeout="20s" \
  params ip="<front-end IP address>"

sudo crm configure primitive rsc_nc_<HANA SID>_HDB<instance number> azure-lb port=625<instance number> \
  op monitor timeout=20s interval=10 \
  meta resource-stickiness=0

sudo crm configure group g_ip_<HANA SID>_HDB<instance number> rsc_ip_<HANA SID>_HDB<instance number> rsc_nc_<HANA SID>_HDB<instance number>

sudo crm configure colocation col_saphana_ip_<HANA SID>_HDB<instance number> 4000: g_ip_<HANA SID>_HDB<instance number>:Started \
  msl_SAPHana_<HANA SID>_HDB<instance number>:Master  

sudo crm configure order ord_SAPHana_<HANA SID>_HDB<instance number> Optional: cln_SAPHanaTopology_<HANA SID>_HDB<instance number> \
  msl_SAPHana_<HANA SID>_HDB<instance number>

# Clean up the HANA resources. The HANA resources might have failed because of a known issue.
sudo crm resource cleanup rsc_SAPHana_<HANA SID>_HDB<instance number>

sudo crm configure property priority-fencing-delay=30

sudo crm configure property maintenance-mode=false
sudo crm configure rsc_defaults resource-stickiness=1000
sudo crm configure rsc_defaults migration-threshold=5000

Ważne

Zalecamy ustawienie wartości AUTOMATED_REGISTER na false wartość tylko podczas wykonywania dokładnych testów pracy w trybie failover, aby zapobiec automatycznemu zarejestrowaniu wystąpienia podstawowego w trybie failed jako pomocniczego. Po pomyślnym zakończeniu testów trybu failover ustaw wartość AUTOMATED_REGISTERtrue, aby po przejęciu replikacja systemu została automatycznie wznowione.

Upewnij się, że stan klastra to OK i że uruchomiono wszystkie zasoby. Nie ma znaczenia, w którym węźle działają zasoby.

sudo crm_mon -r

# Online: [ hn1-db-0 hn1-db-1 ]
#
# Full list of resources:
#
# stonith-sbd     (stonith:external/sbd): Started hn1-db-0
# Clone Set: cln_SAPHanaTopology_HN1_HDB03 [rsc_SAPHanaTopology_HN1_HDB03]
#     Started: [ hn1-db-0 hn1-db-1 ]
# Master/Slave Set: msl_SAPHana_HN1_HDB03 [rsc_SAPHana_HN1_HDB03]
#     Masters: [ hn1-db-0 ]
#     Slaves: [ hn1-db-1 ]
# Resource Group: g_ip_HN1_HDB03
#     rsc_ip_HN1_HDB03   (ocf::heartbeat:IPaddr2):       Started hn1-db-0
#     rsc_nc_HN1_HDB03   (ocf::heartbeat:azure-lb):      Started hn1-db-0

Konfigurowanie replikacji systemu z obsługą aktywnego/odczytu platformy HANA w klastrze Pacemaker

W systemie SAP HANA 2.0 SPS 01 i nowszych wersjach system SAP umożliwia aktywną/odczytową konfigurację replikacji systemu SAP HANA. W tym scenariuszu pomocnicze systemy replikacji systemu SAP HANA mogą być aktywnie używane na potrzeby obciążeń intensywnie korzystających z odczytu.

Aby obsługiwać tę konfigurację w klastrze, wymagany jest drugi wirtualny adres IP, aby klienci mogli uzyskać dostęp do pomocniczej bazy danych SAP HANA z obsługą odczytu. Aby upewnić się, że lokacja replikacji dodatkowej będzie nadal dostępna po przejęciu, klaster musi przenieść wirtualny adres IP wokół z pomocniczym zasobem SAPHana.

W tej sekcji opisano dodatkowe kroki wymagane do zarządzania replikacją systemu z obsługą aktywnego/odczytu platformy HANA w klastrze wysokiej dostępności SUSE, który używa drugiego wirtualnego adresu IP.

Przed kontynuowaniem upewnij się, że został w pełni skonfigurowany klaster wysokiej dostępności SUSE, który zarządza bazą danych SAP HANA zgodnie z opisem we wcześniejszych sekcjach.

Diagram przedstawiający przykład wysokiej dostępności platformy SAP HANA z pomocniczym adresem IP obsługującym odczyt.

Konfigurowanie modułu równoważenia obciążenia na potrzeby replikacji systemu z włączoną obsługą aktywnego/odczytu

Aby wykonać dodatkowe kroki aprowizacji drugiego wirtualnego adresu IP, upewnij się, że skonfigurowano usługę Azure Load Balancer zgodnie z opisem w temacie Ręczne wdrażanie maszyn wirtualnych z systemem Linux za pośrednictwem witryny Azure Portal.

W przypadku modułu równoważenia obciążenia w warstwie Standardowa wykonaj te dodatkowe kroki dla tego samego modułu równoważenia obciążenia, który został utworzony wcześniej.

  1. Utwórz drugą pulę adresów IP frontonu:
    1. Otwórz moduł równoważenia obciążenia, wybierz pulę adresów IP frontonu i wybierz pozycję Dodaj.
    2. Wprowadź nazwę drugiej puli adresów IP frontonu (na przykład hana-secondaryIP).
    3. Ustaw wartość Przypisanie na Statyczne i wprowadź adres IP (na przykład 10.0.0.14).
    4. Wybierz przycisk OK.
    5. Po utworzeniu nowej puli adresów IP frontonu zanotuj adres IP frontonu.
  2. Utwórz sondę kondycji:
    1. W module równoważenia obciążenia wybierz pozycję Sondy kondycji i wybierz pozycję Dodaj.
    2. Wprowadź nazwę nowej sondy kondycji (na przykład hana-secondaryhp).
    3. Wybierz tcp jako protokół i numer> wystąpienia portu 626.< Zachowaj wartość Interwał ustawioną na 5, a wartość progu złej kondycji ustawiona na 2.
    4. Wybierz przycisk OK.
  3. Utwórz reguły równoważenia obciążenia:
    1. W module równoważenia obciążenia wybierz pozycję Reguły równoważenia obciążenia, a następnie wybierz pozycję Dodaj.
    2. Wprowadź nazwę nowej reguły modułu równoważenia obciążenia (na przykład hana-secondarylb).
    3. Wybierz adres IP frontonu, pulę zaplecza i utworzoną wcześniej sondę kondycji (na przykład hana-secondaryIP, hana-backend i hana-secondaryhp).
    4. Wybierz pozycję Porty wysokiej dostępności.
    5. Zwiększ limit czasu bezczynności do 30 minut.
    6. Upewnij się, że włączono pływający adres IP.
    7. Wybierz przycisk OK.

Konfigurowanie replikacji systemu z obsługą aktywnego/odczytu na platformie HANA

Kroki konfigurowania replikacji systemu HANA zostały opisane w temacie Konfigurowanie replikacji systemu SAP HANA 2.0. Jeśli wdrażasz pomocniczy scenariusz z obsługą odczytu, podczas konfigurowania replikacji systemu w drugim węźle uruchom następujące polecenie jako <adm identyfikatora SID>platformy HANA:

sapcontrol -nr <instance number> -function StopWait 600 10 

hdbnsutil -sr_register --remoteHost=hn1-db-0 --remoteInstance=<instance number> --replicationMode=sync --name=<site 2> --operationMode=logreplay_readaccess 

Dodawanie pomocniczego zasobu wirtualnego adresu IP

Drugi wirtualny adres IP i odpowiednie ograniczenie kolokacji można skonfigurować przy użyciu następujących poleceń:

crm configure property maintenance-mode=true

crm configure primitive rsc_secip_<HANA SID>_HDB<instance number> ocf:heartbeat:IPaddr2 \
 meta target-role="Started" \
 operations \$id="rsc_secip_<HANA SID>_HDB<instance number>-operations" \
 op monitor interval="10s" timeout="20s" \
 params ip="<secondary IP address>"

crm configure primitive rsc_secnc_<HANA SID>_HDB<instance number> azure-lb port=626<instance number> \
 op monitor timeout=20s interval=10 \
 meta resource-stickiness=0

crm configure group g_secip_<HANA SID>_HDB<instance number> rsc_secip_<HANA SID>_HDB<instance number> rsc_secnc_<HANA SID>_HDB<instance number>

crm configure colocation col_saphana_secip_<HANA SID>_HDB<instance number> 4000: g_secip_<HANA SID>_HDB<instance number>:Started \
 msl_SAPHana_<HANA SID>_HDB<instance number>:Slave 

crm configure property maintenance-mode=false

Upewnij się, że stan klastra to OK i że uruchomiono wszystkie zasoby. Drugi wirtualny adres IP działa w lokacji dodatkowej wraz z zasobem pomocniczym SAPHana.

sudo crm_mon -r

# Online: [ hn1-db-0 hn1-db-1 ]
#
# Full list of resources:
#
# stonith-sbd     (stonith:external/sbd): Started hn1-db-0
# Clone Set: cln_SAPHanaTopology_HN1_HDB03 [rsc_SAPHanaTopology_HN1_HDB03]
#     Started: [ hn1-db-0 hn1-db-1 ]
# Master/Slave Set: msl_SAPHana_HN1_HDB03 [rsc_SAPHana_HN1_HDB03]
#     Masters: [ hn1-db-0 ]
#     Slaves: [ hn1-db-1 ]
# Resource Group: g_ip_HN1_HDB03
#     rsc_ip_HN1_HDB03   (ocf::heartbeat:IPaddr2):       Started hn1-db-0
#     rsc_nc_HN1_HDB03   (ocf::heartbeat:azure-lb):      Started hn1-db-0
# Resource Group: g_secip_HN1_HDB03:
#     rsc_secip_HN1_HDB03       (ocf::heartbeat:IPaddr2):        Started hn1-db-1
#     rsc_secnc_HN1_HDB03       (ocf::heartbeat:azure-lb):       Started hn1-db-1

W następnej sekcji opisano typowy zestaw testów trybu failover do wykonania.

Zagadnienia dotyczące testowania klastra HANA skonfigurowanego przy użyciu pomocniczego z obsługą odczytu:

  • Podczas migracji zasobu klastra SAPHana_<HANA SID>_HDB<instance number> do hn1-db-1programu drugi wirtualny adres IP jest przenoszony do .hn1-db-0 Jeśli skonfigurowano AUTOMATED_REGISTER="false" i replikacja systemu HANA nie jest rejestrowana automatycznie, drugi wirtualny adres IP jest uruchamiany, hn1-db-0 ponieważ serwer jest dostępny, a usługi klastra są w trybie online.

  • Podczas testowania awarii serwera drugie zasoby wirtualnego adresu IP (rsc_secip_<HANA SID>_HDB<instance number>) i zasób portu modułu równoważenia obciążenia platformy Azure (rsc_secnc_<HANA SID>_HDB<instance number>) są uruchamiane na serwerze podstawowym wraz z podstawowymi zasobami wirtualnego adresu IP. Gdy serwer pomocniczy nie działa, aplikacje połączone z bazą danych HANA z włączoną obsługą odczytu łączą się z podstawową bazą danych HANA. Zachowanie jest oczekiwane, ponieważ nie chcesz, aby aplikacje połączone z bazą danych HANA z włączoną obsługą odczytu mogły być niedostępne, gdy serwer pomocniczy jest niedostępny.

  • Gdy serwer pomocniczy jest dostępny, a usługi klastra są w trybie online, drugi wirtualny adres IP i zasoby portów są automatycznie przenoszone do serwera pomocniczego, mimo że replikacja systemu HANA może nie być zarejestrowana jako pomocnicza. Przed uruchomieniem usług klastra na tym serwerze upewnij się, że zarejestrowano pomocniczą bazę danych HANA jako włączoną do odczytu. Zasób klastra wystąpień platformy HANA można skonfigurować tak, aby automatycznie zarejestrował pomocniczą, ustawiając parametr AUTOMATED_REGISTER="true".

  • Podczas pracy w trybie failover i powrotu istniejące połączenia dla aplikacji, które następnie używają drugiego wirtualnego adresu IP do nawiązania połączenia z bazą danych HANA, mogą zostać przerwane.

Testowanie konfiguracji klastra

W tej sekcji opisano sposób testowania konfiguracji. Każdy test zakłada, że użytkownik jest zalogowany jako użytkownik główny i że główny serwer sap HANA jest uruchomiony na maszynie hn1-db-0 wirtualnej.

Testowanie migracji

Przed rozpoczęciem testu upewnij się, że program Pacemaker nie ma żadnych nieudanych akcji (uruchom crm_mon -r), że nie ma żadnych nieoczekiwanych ograniczeń lokalizacji (na przykład pozostawienia testu migracji) i że platforma HANA jest w stanie synchronizacji, na przykład przez uruchomienie polecenia SAPHanaSR-showAttr.

hn1-db-0:~ # SAPHanaSR-showAttr
Sites    srHook
----------------
SITE2    SOK
Global cib-time
--------------------------------
global Mon Aug 13 11:26:04 2018
Hosts    clone_state lpa_hn1_lpt node_state op_mode   remoteHost    roles                            score site  srmode sync_state version                vhost
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------
hn1-db-0 PROMOTED    1534159564  online     logreplay nws-hana-vm-1 4:P:master1:master:worker:master 150   SITE1 sync   PRIM       2.00.030.00.1522209842 nws-hana-vm-0
hn1-db-1 DEMOTED     30          online     logreplay nws-hana-vm-0 4:S:master1:master:worker:master 100   SITE2 sync   SOK        2.00.030.00.1522209842 nws-hana-vm-1

Aby przeprowadzić migrację węzła głównego platformy SAP HANA, uruchom następujące polecenie:

crm resource move msl_SAPHana_<HANA SID>_HDB<instance number> hn1-db-1 force

Klaster przeprowadzi migrację węzła głównego platformy SAP HANA i grupy zawierającej wirtualny adres IP do hn1-db-1.

Po zakończeniu crm_mon -r migracji dane wyjściowe wyglądają następująco:

Online: [ hn1-db-0 hn1-db-1 ]

Full list of resources:
stonith-sbd     (stonith:external/sbd): Started hn1-db-1
 Clone Set: cln_SAPHanaTopology_HN1_HDB03 [rsc_SAPHanaTopology_HN1_HDB03]
     Started: [ hn1-db-0 hn1-db-1 ]
 Master/Slave Set: msl_SAPHana_HN1_HDB03 [rsc_SAPHana_HN1_HDB03]
     Masters: [ hn1-db-1 ]
     Stopped: [ hn1-db-0 ]
 Resource Group: g_ip_HN1_HDB03
     rsc_ip_HN1_HDB03   (ocf::heartbeat:IPaddr2):       Started hn1-db-1
     rsc_nc_HN1_HDB03   (ocf::heartbeat:azure-lb):      Started hn1-db-1
Failed Actions:
* rsc_SAPHana_HN1_HDB03_start_0 on hn1-db-0 'not running' (7): call=84, status=complete, exitreason='none',
    last-rc-change='Mon Aug 13 11:31:37 2018', queued=0ms, exec=2095ms

W przypadku AUTOMATED_REGISTER="false"klastra nie można ponownie uruchomić bazy danych HANA, która zakończyła się niepowodzeniem, ani zarejestrować jej względem nowej bazy podstawowej w systemie hn1-db-0. W takim przypadku skonfiguruj wystąpienie platformy HANA jako pomocnicze, uruchamiając następujące polecenie:

su - <hana sid>adm

# Stop the HANA instance, just in case it is running
hn1adm@hn1-db-0:/usr/sap/HN1/HDB03> sapcontrol -nr <instance number> -function StopWait 600 10
hn1adm@hn1-db-0:/usr/sap/HN1/HDB03> hdbnsutil -sr_register --remoteHost=hn1-db-1 --remoteInstance=<instance number> --replicationMode=sync --name=<site 1>

Migracja tworzy ograniczenia lokalizacji, które należy usunąć ponownie:

# Switch back to root and clean up the failed state
exit
hn1-db-0:~ # crm resource clear msl_SAPHana_<HANA SID>_HDB<instance number>

Należy również wyczyścić stan zasobu węzła pomocniczego:

hn1-db-0:~ # crm resource cleanup msl_SAPHana_<HANA SID>_HDB<instance number> hn1-db-0

Monitoruj stan zasobu platformy HANA przy użyciu polecenia crm_mon -r. Po uruchomieniu platformy hn1-db-0HANA dane wyjściowe wyglądają następująco:

Online: [ hn1-db-0 hn1-db-1 ]

Full list of resources:
stonith-sbd     (stonith:external/sbd): Started hn1-db-1
 Clone Set: cln_SAPHanaTopology_HN1_HDB03 [rsc_SAPHanaTopology_HN1_HDB03]
     Started: [ hn1-db-0 hn1-db-1 ]
 Master/Slave Set: msl_SAPHana_HN1_HDB03 [rsc_SAPHana_HN1_HDB03]
     Masters: [ hn1-db-1 ]
     Slaves: [ hn1-db-0 ]
 Resource Group: g_ip_HN1_HDB03
     rsc_ip_HN1_HDB03   (ocf::heartbeat:IPaddr2):       Started hn1-db-1
     rsc_nc_HN1_HDB03   (ocf::heartbeat:azure-lb):      Started hn1-db-1

Blokowanie komunikacji sieciowej

Stan zasobu przed rozpoczęciem testu:

Online: [ hn1-db-0 hn1-db-1 ]

Full list of resources:
stonith-sbd     (stonith:external/sbd): Started hn1-db-1
 Clone Set: cln_SAPHanaTopology_HN1_HDB03 [rsc_SAPHanaTopology_HN1_HDB03]
     Started: [ hn1-db-0 hn1-db-1 ]
 Master/Slave Set: msl_SAPHana_HN1_HDB03 [rsc_SAPHana_HN1_HDB03]
     Masters: [ hn1-db-1 ]
     Slaves: [ hn1-db-0 ]
 Resource Group: g_ip_HN1_HDB03
     rsc_ip_HN1_HDB03   (ocf::heartbeat:IPaddr2):       Started hn1-db-1
     rsc_nc_HN1_HDB03   (ocf::heartbeat:azure-lb):      Started hn1-db-1

Wykonaj regułę zapory, aby zablokować komunikację w jednym z węzłów.

# Execute iptable rule on hn1-db-1 (10.0.0.6) to block the incoming and outgoing traffic to hn1-db-0 (10.0.0.5)
iptables -A INPUT -s 10.0.0.5 -j DROP; iptables -A OUTPUT -d 10.0.0.5 -j DROP

Gdy węzły klastra nie mogą komunikować się ze sobą, istnieje ryzyko scenariusza podzielonego mózgu. W takich sytuacjach węzły klastra będą próbować jednocześnie ogrodzenia, co spowoduje wyścig ogrodzenia.

Podczas konfigurowania urządzenia ogrodzeniowego zaleca się skonfigurowanie pcmk_delay_max właściwości. Dlatego w przypadku scenariusza podziału mózgu klaster wprowadza losowe opóźnienie do pcmk_delay_max wartości, do akcji ogrodzenia w każdym węźle. Węzeł z najkrótszym opóźnieniem zostanie wybrany do ogrodzenia.

Ponadto, aby upewnić się, że węzeł z systemem głównym platformy HANA ma priorytet i wygra wyścig ogrodzenia w scenariuszu podzielonym mózgu, zaleca się ustawienie priority-fencing-delay właściwości w konfiguracji klastra. Dzięki włączeniu właściwości priority-fencing-delay klaster może wprowadzić dodatkowe opóźnienie w akcji ogrodzenia specjalnie na węźle hostujący zasób główny HANA, dzięki czemu węzeł może wygrać wyścig ogrodzenia.

Wykonaj poniższe polecenie, aby usunąć regułę zapory.

# If the iptables rule set on the server gets reset after a reboot, the rules will be cleared out. In case they have not been reset, please proceed to remove the iptables rule using the following command.
iptables -D INPUT -s 10.0.0.5 -j DROP; iptables -D OUTPUT -d 10.0.0.5 -j DROP

Testowanie ogrodzenia SBD

Konfigurację usługi SBD można przetestować, zabijając proces inquisitor:

hn1-db-0:~ # ps aux | grep sbd
root       1912  0.0  0.0  85420 11740 ?        SL   12:25   0:00 sbd: inquisitor
root       1929  0.0  0.0  85456 11776 ?        SL   12:25   0:00 sbd: watcher: /dev/disk/by-id/scsi-360014056f268462316e4681b704a9f73 - slot: 0 - uuid: 7b862dba-e7f7-4800-92ed-f76a4e3978c8
root       1930  0.0  0.0  85456 11776 ?        SL   12:25   0:00 sbd: watcher: /dev/disk/by-id/scsi-360014059bc9ea4e4bac4b18808299aaf - slot: 0 - uuid: 5813ee04-b75c-482e-805e-3b1e22ba16cd
root       1931  0.0  0.0  85456 11776 ?        SL   12:25   0:00 sbd: watcher: /dev/disk/by-id/scsi-36001405b8dddd44eb3647908def6621c - slot: 0 - uuid: 986ed8f8-947d-4396-8aec-b933b75e904c
root       1932  0.0  0.0  90524 16656 ?        SL   12:25   0:00 sbd: watcher: Pacemaker
root       1933  0.0  0.0 102708 28260 ?        SL   12:25   0:00 sbd: watcher: Cluster
root      13877  0.0  0.0   9292  1572 pts/0    S+   12:27   0:00 grep sbd

hn1-db-0:~ # kill -9 1912

Węzeł klastra <HANA SID>-db-<database 1> zostanie uruchomiony ponownie. Usługa Pacemaker może nie zostać ponownie uruchomiona. Upewnij się, że uruchamiasz go ponownie.

Testowanie ręcznego przejścia w tryb failover

Ręczne przejście w tryb failover można przetestować, zatrzymując usługę Pacemaker w węźle hn1-db-0 :

service pacemaker stop

Po przejściu w tryb failover możesz ponownie uruchomić usługę. Jeśli ustawisz wartość AUTOMATED_REGISTER="false", zasób SAP HANA w węźle hn1-db-0 nie może uruchomić się jako pomocniczy.

W takim przypadku skonfiguruj wystąpienie platformy HANA jako pomocnicze, uruchamiając następujące polecenie:

service pacemaker start
su - <hana sid>adm

# Stop the HANA instance, just in case it is running
sapcontrol -nr <instance number> -function StopWait 600 10
hdbnsutil -sr_register --remoteHost=hn1-db-1 --remoteInstance=<instance number> --replicationMode=sync --name=<site 1> 

# Switch back to root and clean up the failed state
exit
crm resource cleanup msl_SAPHana_<HANA SID>_HDB<instance number> hn1-db-0

Testy SUSE

Ważne

Upewnij się, że wybrany system operacyjny ma certyfikat SAP dla platformy SAP HANA na określonych typach maszyn wirtualnych, których planujesz użyć. Możesz wyszukać typy maszyn wirtualnych z certyfikatem SAP HANA i ich wersje systemu operacyjnego na platformach IaaS certyfikowanych na platformie SAP HANA. Upewnij się, że zapoznasz się ze szczegółami typu maszyny wirtualnej, którego planujesz użyć, aby uzyskać pełną listę wersji systemu operacyjnego obsługiwanych przez platformę SAP HANA dla tego typu maszyny wirtualnej.

Uruchom wszystkie przypadki testowe wymienione w przewodniku Scenariusz zoptymalizowany pod kątem wydajności programu SAP HANA lub Przewodnik scenariusza zoptymalizowanego pod kątem kosztów platformy SAP HANA w zależności od scenariusza. Przewodniki wymienione w usłudze SLES można znaleźć na potrzeby najlepszych rozwiązań dotyczących oprogramowania SAP.

Poniższe testy to kopia opisów testów przewodnika SAP HANA SR Performance Optimized Scenario SUSE Linux Enterprise Server for SAP Applications 12 z dodatkiem SP1. Aby zapoznać się z aktualną wersją, zapoznaj się również z przewodnikiem. Przed rozpoczęciem testu upewnij się, że platforma HANA jest zsynchronizowana i upewnij się, że konfiguracja programu Pacemaker jest poprawna.

W poniższych opisach testów zakładamy PREFER_SITE_TAKEOVER="true" , że i AUTOMATED_REGISTER="false".

Uwaga

Następujące testy są przeznaczone do uruchamiania w sekwencji. Każdy test zależy od stanu wyjścia poprzedniego testu.

  1. Test 1. Zatrzymaj podstawową bazę danych w węźle 1.

    Stan zasobu przed rozpoczęciem testu:

    Clone Set: cln_SAPHanaTopology_HN1_HDB03 [rsc_SAPHanaTopology_HN1_HDB03]
       Started: [ hn1-db-0 hn1-db-1 ]
    Master/Slave Set: msl_SAPHana_HN1_HDB03 [rsc_SAPHana_HN1_HDB03]
       Masters: [ hn1-db-0 ]
       Slaves: [ hn1-db-1 ]
    Resource Group: g_ip_HN1_HDB03
       rsc_ip_HN1_HDB03   (ocf::heartbeat:IPaddr2):       Started hn1-db-0
       rsc_nc_HN1_HDB03   (ocf::heartbeat:azure-lb):      Started hn1-db-0
    

    Uruchom następujące polecenia jako <hana sid>adm w węźle hn1-db-0 :

    hn1adm@hn1-db-0:/usr/sap/HN1/HDB03> HDB stop
    

    Program Pacemaker wykrywa zatrzymane wystąpienie platformy HANA i przechodzi w tryb failover do innego węzła. Po zakończeniu pracy w trybie failover wystąpienie platformy HANA w węźle hn1-db-0 zostanie zatrzymane, ponieważ program Pacemaker nie rejestruje węzła automatycznie jako pomocniczego oprogramowania HANA.

    Uruchom następujące polecenia, aby zarejestrować hn1-db-0 węzeł jako pomocniczy i wyczyścić zasób, który zakończył się niepowodzeniem:

    hn1adm@hn1-db-0:/usr/sap/HN1/HDB03> hdbnsutil -sr_register --remoteHost=hn1-db-1 --remoteInstance=<instance number> --replicationMode=sync --name=<site 1>
    
    # run as root
    hn1-db-0:~ # crm resource cleanup msl_SAPHana_<HANA SID>_HDB<instance number> hn1-db-0
    

    Stan zasobu po teście:

    Clone Set: cln_SAPHanaTopology_HN1_HDB03 [rsc_SAPHanaTopology_HN1_HDB03]
       Started: [ hn1-db-0 hn1-db-1 ]
    Master/Slave Set: msl_SAPHana_HN1_HDB03 [rsc_SAPHana_HN1_HDB03]
       Masters: [ hn1-db-1 ]
       Slaves: [ hn1-db-0 ]
    Resource Group: g_ip_HN1_HDB03
       rsc_ip_HN1_HDB03   (ocf::heartbeat:IPaddr2):       Started hn1-db-1
       rsc_nc_HN1_HDB03   (ocf::heartbeat:azure-lb):      Started hn1-db-1
    
  2. Test 2. Zatrzymaj podstawową bazę danych w węźle 2.

    Stan zasobu przed rozpoczęciem testu:

    Clone Set: cln_SAPHanaTopology_HN1_HDB03 [rsc_SAPHanaTopology_HN1_HDB03]
       Started: [ hn1-db-0 hn1-db-1 ]
    Master/Slave Set: msl_SAPHana_HN1_HDB03 [rsc_SAPHana_HN1_HDB03]
       Masters: [ hn1-db-1 ]
       Slaves: [ hn1-db-0 ]
    Resource Group: g_ip_HN1_HDB03
       rsc_ip_HN1_HDB03   (ocf::heartbeat:IPaddr2):       Started hn1-db-1
       rsc_nc_HN1_HDB03   (ocf::heartbeat:azure-lb):      Started hn1-db-1
    

    Uruchom następujące polecenia jako <hana sid>adm w węźle hn1-db-1 :

    hn1adm@hn1-db-1:/usr/sap/HN1/HDB01> HDB stop
    

    Program Pacemaker wykrywa zatrzymane wystąpienie platformy HANA i przechodzi w tryb failover do innego węzła. Po zakończeniu pracy w trybie failover wystąpienie platformy HANA w węźle hn1-db-1 zostanie zatrzymane, ponieważ program Pacemaker nie rejestruje węzła automatycznie jako pomocniczego oprogramowania HANA.

    Uruchom następujące polecenia, aby zarejestrować hn1-db-1 węzeł jako pomocniczy i wyczyścić zasób, który zakończył się niepowodzeniem:

    hn1adm@hn1-db-1:/usr/sap/HN1/HDB03> hdbnsutil -sr_register --remoteHost=hn1-db-0 --remoteInstance=<instance number> --replicationMode=sync --name=<site 2>
    
    # run as root
    hn1-db-1:~ # crm resource cleanup msl_SAPHana_<HANA SID>_HDB<instance number> hn1-db-1
    

    Stan zasobu po teście:

    Clone Set: cln_SAPHanaTopology_HN1_HDB03 [rsc_SAPHanaTopology_HN1_HDB03]
       Started: [ hn1-db-0 hn1-db-1 ]
    Master/Slave Set: msl_SAPHana_HN1_HDB03 [rsc_SAPHana_HN1_HDB03]
       Masters: [ hn1-db-0 ]
       Slaves: [ hn1-db-1 ]
    Resource Group: g_ip_HN1_HDB03
       rsc_ip_HN1_HDB03   (ocf::heartbeat:IPaddr2):       Started hn1-db-0
       rsc_nc_HN1_HDB03   (ocf::heartbeat:azure-lb):      Started hn1-db-0
    
  3. Test 3. Awaria podstawowej bazy danych w węźle 1.

    Stan zasobu przed rozpoczęciem testu:

    Clone Set: cln_SAPHanaTopology_HN1_HDB03 [rsc_SAPHanaTopology_HN1_HDB03]
       Started: [ hn1-db-0 hn1-db-1 ]
    Master/Slave Set: msl_SAPHana_HN1_HDB03 [rsc_SAPHana_HN1_HDB03]
       Masters: [ hn1-db-0 ]
       Slaves: [ hn1-db-1 ]
    Resource Group: g_ip_HN1_HDB03
       rsc_ip_HN1_HDB03   (ocf::heartbeat:IPaddr2):       Started hn1-db-0
       rsc_nc_HN1_HDB03   (ocf::heartbeat:azure-lb):      Started hn1-db-0
    

    Uruchom następujące polecenia jako <hana sid>adm w węźle hn1-db-0 :

    hn1adm@hn1-db-0:/usr/sap/HN1/HDB03> HDB kill-9
    

    Program Pacemaker wykrywa zabite wystąpienie platformy HANA i przechodzi w tryb failover do innego węzła. Po zakończeniu pracy w trybie failover wystąpienie platformy HANA w węźle hn1-db-0 zostanie zatrzymane, ponieważ program Pacemaker nie rejestruje węzła automatycznie jako pomocniczego oprogramowania HANA.

    Uruchom następujące polecenia, aby zarejestrować hn1-db-0 węzeł jako pomocniczy i wyczyścić zasób, który zakończył się niepowodzeniem:

    hn1adm@hn1-db-0:/usr/sap/HN1/HDB03> hdbnsutil -sr_register --remoteHost=hn1-db-1 --remoteInstance=<instance number> --replicationMode=sync --name=<site 1>
    
    # run as root
    hn1-db-0:~ # crm resource cleanup msl_SAPHana_<HANA SID>_HDB<instance number> hn1-db-0
    

    Stan zasobu po teście:

    Clone Set: cln_SAPHanaTopology_HN1_HDB03 [rsc_SAPHanaTopology_HN1_HDB03]
       Started: [ hn1-db-0 hn1-db-1 ]
    Master/Slave Set: msl_SAPHana_HN1_HDB03 [rsc_SAPHana_HN1_HDB03]
       Masters: [ hn1-db-1 ]
       Slaves: [ hn1-db-0 ]
    Resource Group: g_ip_HN1_HDB03
       rsc_ip_HN1_HDB03   (ocf::heartbeat:IPaddr2):       Started hn1-db-1
       rsc_nc_HN1_HDB03   (ocf::heartbeat:azure-lb):      Started hn1-db-1
    
  4. Test 4. Awaria podstawowej bazy danych w węźle 2.

    Stan zasobu przed rozpoczęciem testu:

    Clone Set: cln_SAPHanaTopology_HN1_HDB03 [rsc_SAPHanaTopology_HN1_HDB03]
       Started: [ hn1-db-0 hn1-db-1 ]
    Master/Slave Set: msl_SAPHana_HN1_HDB03 [rsc_SAPHana_HN1_HDB03]
       Masters: [ hn1-db-1 ]
       Slaves: [ hn1-db-0 ]
    Resource Group: g_ip_HN1_HDB03
       rsc_ip_HN1_HDB03   (ocf::heartbeat:IPaddr2):       Started hn1-db-1
       rsc_nc_HN1_HDB03   (ocf::heartbeat:azure-lb):      Started hn1-db-1
    

    Uruchom następujące polecenia jako <hana sid>adm w węźle hn1-db-1 :

    hn1adm@hn1-db-1:/usr/sap/HN1/HDB03> HDB kill-9
    

    Program Pacemaker wykrywa zabite wystąpienie platformy HANA i przechodzi w tryb failover do innego węzła. Po zakończeniu pracy w trybie failover wystąpienie platformy HANA w węźle hn1-db-1 zostanie zatrzymane, ponieważ program Pacemaker nie rejestruje węzła automatycznie jako pomocniczego oprogramowania HANA.

    Uruchom następujące polecenia, aby zarejestrować hn1-db-1 węzeł jako pomocniczy i wyczyścić zasób, który zakończył się niepowodzeniem.

    hn1adm@hn1-db-1:/usr/sap/HN1/HDB03> hdbnsutil -sr_register --remoteHost=hn1-db-0 --remoteInstance=<instance number> --replicationMode=sync --name=<site 2>
    
    # run as root
    hn1-db-1:~ # crm resource cleanup msl_SAPHana_<HANA SID>_HDB<instance number> hn1-db-1
    

    Stan zasobu po teście:

    Clone Set: cln_SAPHanaTopology_HN1_HDB03 [rsc_SAPHanaTopology_HN1_HDB03]
       Started: [ hn1-db-0 hn1-db-1 ]
    Master/Slave Set: msl_SAPHana_HN1_HDB03 [rsc_SAPHana_HN1_HDB03]
       Masters: [ hn1-db-0 ]
       Slaves: [ hn1-db-1 ]
    Resource Group: g_ip_HN1_HDB03
       rsc_ip_HN1_HDB03   (ocf::heartbeat:IPaddr2):       Started hn1-db-0
       rsc_nc_HN1_HDB03   (ocf::heartbeat:azure-lb):      Started hn1-db-0
    
  5. Test 5. Awaria węzła lokacji głównej (węzeł 1).

    Stan zasobu przed rozpoczęciem testu:

    Clone Set: cln_SAPHanaTopology_HN1_HDB03 [rsc_SAPHanaTopology_HN1_HDB03]
       Started: [ hn1-db-0 hn1-db-1 ]
    Master/Slave Set: msl_SAPHana_HN1_HDB03 [rsc_SAPHana_HN1_HDB03]
       Masters: [ hn1-db-0 ]
       Slaves: [ hn1-db-1 ]
    Resource Group: g_ip_HN1_HDB03
       rsc_ip_HN1_HDB03   (ocf::heartbeat:IPaddr2):       Started hn1-db-0
       rsc_nc_HN1_HDB03   (ocf::heartbeat:azure-lb):      Started hn1-db-0
    

    Uruchom następujące polecenia jako katalog główny w węźle hn1-db-0 :

    hn1-db-0:~ #  echo 'b' > /proc/sysrq-trigger
    

    Program Pacemaker wykrywa zabity węzeł klastra i ogrodzenia węzła. Gdy węzeł jest ogrodzony, program Pacemaker wyzwala przejęcie wystąpienia platformy HANA. Po ponownym uruchomieniu ogrodzonego węzła program Pacemaker nie uruchamia się automatycznie.

    Uruchom następujące polecenia, aby uruchomić narzędzie Pacemaker, wyczyścić komunikaty SBD dla hn1-db-0 węzła, zarejestrować hn1-db-0 węzeł jako pomocniczy i wyczyścić zasób, który zakończył się niepowodzeniem:

    # run as root
    # list the SBD device(s)
    hn1-db-0:~ # cat /etc/sysconfig/sbd | grep SBD_DEVICE=
    # SBD_DEVICE="/dev/disk/by-id/scsi-36001405772fe8401e6240c985857e116;/dev/disk/by-id/scsi-36001405034a84428af24ddd8c3a3e9e1;/dev/disk/by-id/scsi-36001405cdd5ac8d40e548449318510c3"
    
    hn1-db-0:~ # sbd -d /dev/disk/by-id/scsi-36001405772fe8401e6240c985857e116 -d /dev/disk/by-id/scsi-36001405034a84428af24ddd8c3a3e9e1 -d /dev/disk/by-id/scsi-36001405cdd5ac8d40e548449318510c3 message hn1-db-0 clear
    
    hn1-db-0:~ # systemctl start pacemaker
    
    # run as <hana sid>adm
    hn1adm@hn1-db-0:/usr/sap/HN1/HDB03> hdbnsutil -sr_register --remoteHost=hn1-db-1 --remoteInstance=<instance number> --replicationMode=sync --name=<site 1>
    
    # run as root
    hn1-db-0:~ # crm resource cleanup msl_SAPHana_<HANA SID>_HDB<instance number> hn1-db-0
    

    Stan zasobu po teście:

    Clone Set: cln_SAPHanaTopology_HN1_HDB03 [rsc_SAPHanaTopology_HN1_HDB03]
       Started: [ hn1-db-0 hn1-db-1 ]
    Master/Slave Set: msl_SAPHana_HN1_HDB03 [rsc_SAPHana_HN1_HDB03]
       Masters: [ hn1-db-1 ]
       Slaves: [ hn1-db-0 ]
    Resource Group: g_ip_HN1_HDB03
       rsc_ip_HN1_HDB03   (ocf::heartbeat:IPaddr2):       Started hn1-db-1
       rsc_nc_HN1_HDB03   (ocf::heartbeat:azure-lb):      Started hn1-db-1
    
  6. Test 6. Awaria węzła lokacji dodatkowej (węzeł 2).

    Stan zasobu przed rozpoczęciem testu:

    Clone Set: cln_SAPHanaTopology_HN1_HDB03 [rsc_SAPHanaTopology_HN1_HDB03]
       Started: [ hn1-db-0 hn1-db-1 ]
    Master/Slave Set: msl_SAPHana_HN1_HDB03 [rsc_SAPHana_HN1_HDB03]
       Masters: [ hn1-db-1 ]
       Slaves: [ hn1-db-0 ]
    Resource Group: g_ip_HN1_HDB03
       rsc_ip_HN1_HDB03   (ocf::heartbeat:IPaddr2):       Started hn1-db-1
       rsc_nc_HN1_HDB03   (ocf::heartbeat:azure-lb):      Started hn1-db-1
    

    Uruchom następujące polecenia jako katalog główny w węźle hn1-db-1 :

    hn1-db-1:~ #  echo 'b' > /proc/sysrq-trigger
    

    Program Pacemaker wykrywa zabity węzeł klastra i ogrodzenia węzła. Gdy węzeł jest ogrodzony, program Pacemaker wyzwala przejęcie wystąpienia platformy HANA. Po ponownym uruchomieniu ogrodzonego węzła program Pacemaker nie uruchamia się automatycznie.

    Uruchom następujące polecenia, aby uruchomić narzędzie Pacemaker, wyczyścić komunikaty SBD dla hn1-db-1 węzła, zarejestrować hn1-db-1 węzeł jako pomocniczy i wyczyścić zasób, który zakończył się niepowodzeniem:

    # run as root
    # list the SBD device(s)
    hn1-db-1:~ # cat /etc/sysconfig/sbd | grep SBD_DEVICE=
    # SBD_DEVICE="/dev/disk/by-id/scsi-36001405772fe8401e6240c985857e116;/dev/disk/by-id/scsi-36001405034a84428af24ddd8c3a3e9e1;/dev/disk/by-id/scsi-36001405cdd5ac8d40e548449318510c3"
    
    hn1-db-1:~ # sbd -d /dev/disk/by-id/scsi-36001405772fe8401e6240c985857e116 -d /dev/disk/by-id/scsi-36001405034a84428af24ddd8c3a3e9e1 -d /dev/disk/by-id/scsi-36001405cdd5ac8d40e548449318510c3 message hn1-db-1 clear
    
    hn1-db-1:~ # systemctl start pacemaker
    
    # run as <hana sid>adm
    hn1adm@hn1-db-1:/usr/sap/HN1/HDB03> hdbnsutil -sr_register --remoteHost=hn1-db-0 --remoteInstance=<instance number> --replicationMode=sync --name=<site 2>
    
    # run as root
    hn1-db-1:~ # crm resource cleanup msl_SAPHana_<HANA SID>_HDB<instance number> hn1-db-1
    

    Stan zasobu po teście:

    Clone Set: cln_SAPHanaTopology_HN1_HDB03 [rsc_SAPHanaTopology_HN1_HDB03]
       Started: [ hn1-db-0 hn1-db-1 ]
    Master/Slave Set: msl_SAPHana_HN1_HDB03 [rsc_SAPHana_HN1_HDB03]
       Masters: [ hn1-db-0 ]
       Slaves: [ hn1-db-1 ]
    Resource Group: g_ip_HN1_HDB03
       rsc_ip_HN1_HDB03   (ocf::heartbeat:IPaddr2):       Started hn1-db-0
       rsc_nc_HN1_HDB03   (ocf::heartbeat:azure-lb):      Started hn1-db-0
    </code></pre>
    
  7. Test 7. Zatrzymaj pomocniczą bazę danych w węźle 2.

    Stan zasobu przed rozpoczęciem testu:

    Clone Set: cln_SAPHanaTopology_HN1_HDB03 [rsc_SAPHanaTopology_HN1_HDB03]
       Started: [ hn1-db-0 hn1-db-1 ]
    Master/Slave Set: msl_SAPHana_HN1_HDB03 [rsc_SAPHana_HN1_HDB03]
       Masters: [ hn1-db-0 ]
       Slaves: [ hn1-db-1 ]
    Resource Group: g_ip_HN1_HDB03
       rsc_ip_HN1_HDB03   (ocf::heartbeat:IPaddr2):       Started hn1-db-0
       rsc_nc_HN1_HDB03   (ocf::heartbeat:azure-lb):      Started hn1-db-0
    

    Uruchom następujące polecenia jako <hana sid>adm w węźle hn1-db-1 :

    hn1adm@hn1-db-1:/usr/sap/HN1/HDB03> HDB stop
    

    Narzędzie Pacemaker wykrywa zatrzymane wystąpienie platformy HANA i oznacza zasób jako niepowodzenie w węźle hn1-db-1 . Program Pacemaker automatycznie uruchamia ponownie wystąpienie platformy HANA.

    Uruchom następujące polecenie, aby wyczyścić stan niepowodzenia:

    # run as root
    hn1-db-1>:~ # crm resource cleanup msl_SAPHana_<HANA SID>_HDB<instance number> hn1-db-1
    

    Stan zasobu po teście:

    Clone Set: cln_SAPHanaTopology_HN1_HDB03 [rsc_SAPHanaTopology_HN1_HDB03]
       Started: [ hn1-db-0 hn1-db-1 ]
    Master/Slave Set: msl_SAPHana_HN1_HDB03 [rsc_SAPHana_HN1_HDB03]
       Masters: [ hn1-db-0 ]
       Slaves: [ hn1-db-1 ]
    Resource Group: g_ip_HN1_HDB03
       rsc_ip_HN1_HDB03   (ocf::heartbeat:IPaddr2):       Started hn1-db-0
       rsc_nc_HN1_HDB03   (ocf::heartbeat:azure-lb):      Started hn1-db-0
    
  8. Test 8. Awaria pomocniczej bazy danych w węźle 2.

    Stan zasobu przed rozpoczęciem testu:

    Clone Set: cln_SAPHanaTopology_HN1_HDB03 [rsc_SAPHanaTopology_HN1_HDB03]
       Started: [ hn1-db-0 hn1-db-1 ]
    Master/Slave Set: msl_SAPHana_HN1_HDB03 [rsc_SAPHana_HN1_HDB03]
       Masters: [ hn1-db-0 ]
       Slaves: [ hn1-db-1 ]
    Resource Group: g_ip_HN1_HDB03
       rsc_ip_HN1_HDB03   (ocf::heartbeat:IPaddr2):       Started hn1-db-0
       rsc_nc_HN1_HDB03   (ocf::heartbeat:azure-lb):      Started hn1-db-0
    

    Uruchom następujące polecenia jako <hana sid>adm w węźle hn1-db-1 :

    hn1adm@hn1-db-1:/usr/sap/HN1/HDB03> HDB kill-9
    

    Narzędzie Pacemaker wykrywa zabite wystąpienie platformy HANA i oznacza zasób jako niepowodzenie w węźle hn1-db-1 . Uruchom następujące polecenie, aby wyczyścić stan niepowodzenia. Program Pacemaker automatycznie uruchamia ponownie wystąpienie platformy HANA.

    # run as root
    hn1-db-1:~ # crm resource cleanup msl_SAPHana_<HANA SID>_HDB<instance number> HN1-db-1
    

    Stan zasobu po teście:

    Clone Set: cln_SAPHanaTopology_HN1_HDB03 [rsc_SAPHanaTopology_HN1_HDB03]
       Started: [ hn1-db-0 hn1-db-1 ]
    Master/Slave Set: msl_SAPHana_HN1_HDB03 [rsc_SAPHana_HN1_HDB03]
       Masters: [ hn1-db-0 ]
       Slaves: [ hn1-db-1 ]
    Resource Group: g_ip_HN1_HDB03
       rsc_ip_HN1_HDB03   (ocf::heartbeat:IPaddr2):       Started hn1-db-0
       rsc_nc_HN1_HDB03   (ocf::heartbeat:azure-lb):      Started hn1-db-0
    
  9. Test 9. Awaria węzła lokacji dodatkowej (węzeł 2) z dodatkową bazą danych HANA.

    Stan zasobu przed rozpoczęciem testu:

    Clone Set: cln_SAPHanaTopology_HN1_HDB03 [rsc_SAPHanaTopology_HN1_HDB03]
       Started: [ hn1-db-0 hn1-db-1 ]
    Master/Slave Set: msl_SAPHana_HN1_HDB03 [rsc_SAPHana_HN1_HDB03]
       Masters: [ hn1-db-0 ]
       Slaves: [ hn1-db-1 ]
    Resource Group: g_ip_HN1_HDB03
       rsc_ip_HN1_HDB03   (ocf::heartbeat:IPaddr2):       Started hn1-db-0
       rsc_nc_HN1_HDB03   (ocf::heartbeat:azure-lb):      Started hn1-db-0
    

    Uruchom następujące polecenia jako katalog główny w węźle hn1-db-1 :

    hn1-db-1:~ # echo b > /proc/sysrq-trigger
    

    Program Pacemaker wykrywa zabity węzeł klastra i ogrodzony węzeł. Po ponownym uruchomieniu ogrodzonego węzła program Pacemaker nie uruchamia się automatycznie.

    Uruchom następujące polecenia, aby uruchomić narzędzie Pacemaker, wyczyścić komunikaty SBD dla hn1-db-1 węzła i wyczyścić zasób, który zakończył się niepowodzeniem:

    # run as root
    # list the SBD device(s)
    hn1-db-1:~ # cat /etc/sysconfig/sbd | grep SBD_DEVICE=
    # SBD_DEVICE="/dev/disk/by-id/scsi-36001405772fe8401e6240c985857e116;/dev/disk/by-id/scsi-36001405034a84428af24ddd8c3a3e9e1;/dev/disk/by-id/scsi-36001405cdd5ac8d40e548449318510c3"
    
    hn1-db-1:~ # sbd -d /dev/disk/by-id/scsi-36001405772fe8401e6240c985857e116 -d /dev/disk/by-id/scsi-36001405034a84428af24ddd8c3a3e9e1 -d /dev/disk/by-id/scsi-36001405cdd5ac8d40e548449318510c3 message hn1-db-1 clear
    
    hn1-db-1:~ # systemctl start pacemaker  
    
    hn1-db-1:~ # crm resource cleanup msl_SAPHana_<HANA SID>_HDB<instance number> hn1-db-1
    

    Stan zasobu po teście:

    Clone Set: cln_SAPHanaTopology_HN1_HDB03 [rsc_SAPHanaTopology_HN1_HDB03]
       Started: [ hn1-db-0 hn1-db-1 ]
    Master/Slave Set: msl_SAPHana_HN1_HDB03 [rsc_SAPHana_HN1_HDB03]
       Masters: [ hn1-db-0 ]
       Slaves: [ hn1-db-1 ]
    Resource Group: g_ip_HN1_HDB03
       rsc_ip_HN1_HDB03   (ocf::heartbeat:IPaddr2):       Started hn1-db-0
       rsc_nc_HN1_HDB03   (ocf::heartbeat:azure-lb):      Started hn1-db-0
    
  10. Test 10: Awaria podstawowego serwera indeksowania bazy danych

    Ten test jest istotny tylko wtedy, gdy skonfigurowano hak susChkSrv zgodnie z opisem w temacie Implement HANA hooks SAPHanaSR i susChkSrv.

    Stan zasobu przed rozpoczęciem testu:

    Clone Set: cln_SAPHanaTopology_HN1_HDB03 [rsc_SAPHanaTopology_HN1_HDB03]
       Started: [ hn1-db-0 hn1-db-1 ]
    Master/Slave Set: msl_SAPHana_HN1_HDB03 [rsc_SAPHana_HN1_HDB03]
       Masters: [ hn1-db-0 ]
       Slaves: [ hn1-db-1 ]
    Resource Group: g_ip_HN1_HDB03
       rsc_ip_HN1_HDB03   (ocf::heartbeat:IPaddr2):       Started hn1-db-0
       rsc_nc_HN1_HDB03   (ocf::heartbeat:azure-lb):      Started hn1-db-0
    

    Uruchom następujące polecenia jako katalog główny w węźle hn1-db-0 :

    hn1-db-0:~ # killall -9 hdbindexserver
    

    Po zakończeniu indeksowania serwer susChkSrv wykrywa zdarzenie i wyzwala akcję w węźle "hn1-db-0" i inicjuje proces przejęcia.

    Uruchom następujące polecenia, aby zarejestrować hn1-db-0 węzeł jako pomocniczy i wyczyścić zasób, który zakończył się niepowodzeniem:

    # run as <hana sid>adm
    hn1adm@hn1-db-0:/usr/sap/HN1/HDB03> hdbnsutil -sr_register --remoteHost=hn1-db-1 --remoteInstance=<instance number> --replicationMode=sync --name=<site 1>
    
    # run as root
    hn1-db-0:~ # crm resource cleanup msl_SAPHana_<HANA SID>_HDB<instance number> hn1-db-0
    

    Stan zasobu po teście:

    Clone Set: cln_SAPHanaTopology_HN1_HDB03 [rsc_SAPHanaTopology_HN1_HDB03]
       Started: [ hn1-db-0 hn1-db-1 ]
    Master/Slave Set: msl_SAPHana_HN1_HDB03 [rsc_SAPHana_HN1_HDB03]
       Masters: [ hn1-db-1 ]
       Slaves: [ hn1-db-0 ]
    Resource Group: g_ip_HN1_HDB03
       rsc_ip_HN1_HDB03   (ocf::heartbeat:IPaddr2):       Started hn1-db-1
       rsc_nc_HN1_HDB03   (ocf::heartbeat:azure-lb):      Started hn1-db-1
    

    Można wykonać porównywalny przypadek testowy, powodując awarię serwera indexserver w węźle pomocniczym. W przypadku awarii serwera indexserver hak susChkSrv rozpozna wystąpienie i zainicjuje akcję w celu ogrodzenia węzła pomocniczego.

Następne kroki