Wysoka dostępność oprogramowania SAP HANA skalowana w górę za pomocą usługi Azure NetApp Files w systemie SUSE Enterprise Linux

W tym artykule opisano sposób konfigurowania replikacji systemu SAP HANA we wdrożeniu skalowalnym w górę, gdy systemy plików HANA są instalowane za pośrednictwem systemu plików NFS przy użyciu usługi Azure NetApp Files. W przykładowych konfiguracjach i poleceniach instalacji używane są wystąpienia o numerze 03 i identyfikatorze systemu HANA HN1. Replikacja sap HANA składa się z jednego węzła podstawowego i co najmniej jednego węzła pomocniczego.

Gdy kroki w tym dokumencie są oznaczone następującymi prefiksami, oznaczają:

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

Najpierw przeczytaj następujące uwagi i dokumenty SAP:

Uwaga

Ten artykuł zawiera odwołania do terminu, którego firma Microsoft już nie używa. Po usunięciu terminu z oprogramowania usuniemy go z tego artykułu.

Omówienie

Tradycyjnie w środowisku skalowalnym w górę wszystkie systemy plików platformy SAP HANA są instalowane z magazynu lokalnego. Konfigurowanie wysokiej dostępności replikacji systemu SAP HANA w systemie SUSE Enterprise Linux jest publikowane w temacie Konfigurowanie replikacji systemu SAP HANA w systemie SLES.

Aby osiągnąć wysoką dostępność platformy SAP HANA systemu skalowania w górę w udziałach NFS usługi Azure NetApp Files, potrzebujemy dodatkowej konfiguracji zasobów w klastrze. Ta konfiguracja jest wymagana, aby zasoby platformy HANA mogły być odzyskiwane, gdy jeden węzeł utraci dostęp do udziałów NFS w usłudze Azure NetApp Files.

Diagram that shows SAP HANA HA scale-up on Azure NetApp Files.

Systemy plików SAP HANA są instalowane w udziałach NFS przy użyciu usługi Azure NetApp Files w każdym węźle. Systemy plików /hana/data, /hana/log i /hana/shared są unikatowe dla każdego węzła.

Zainstalowane w węźle Node1 (hanadb1):

  • 10.3.1.4:/hanadb1-data-mnt00001 na /hana/data
  • 10.3.1.4:/hanadb1-log-mnt00001 w witrynie /hana/log
  • 10.3.1.4:/hanadb1-shared-mnt00001 w witrynie /hana/shared

Zainstalowane w węźle Node2 (hanadb2):

  • 10.3.1.4:/hanadb2-data-mnt00001 na /hana/data
  • 10.3.1.4:/hanadb2-log-mnt00001 w witrynie /hana/log
  • 10.3.1.4:/hanadb2-shared-mnt0001 w witrynie /hana/shared

Uwaga

Systemy plików /hana/shared, /hana/data i /hana/log nie są współdzielone między dwoma węzłami. Każdy węzeł klastra ma własne oddzielne systemy plików.

Konfiguracja replikacji systemu SAP HA HANA używa dedykowanej wirtualnej nazwy hosta i wirtualnych adresów IP. Na platformie Azure moduł równoważenia obciążenia jest wymagany do korzystania z wirtualnego adresu IP. Przedstawiona konfiguracja przedstawia moduł równoważenia obciążenia z:

  • Adres IP konfiguracji frontonu: 10.3.0.50 dla hn1-db
  • Port sondy: 62503

Konfigurowanie infrastruktury usługi Azure NetApp Files

Przed kontynuowaniem konfigurowania infrastruktury usługi Azure NetApp Files zapoznaj się z dokumentacją usługi Azure NetApp Files.

Usługa Azure NetApp Files jest dostępna w kilku regionach świadczenia usługi Azure. Sprawdź, czy wybrany region platformy Azure oferuje usługę Azure NetApp Files.

Aby uzyskać informacje na temat dostępności usługi Azure NetApp Files według regionu platformy Azure, zobacz Dostępność usługi Azure NetApp Files według regionu świadczenia usługi Azure.

Ważne uwagi

Podczas tworzenia systemów skalowania sap HANA w usłudze Azure NetApp Files należy pamiętać o ważnych zagadnieniach opisanych w woluminach NFS w wersji 4.1 w usłudze Azure NetApp Files for SAP HANA.

Ustalanie rozmiaru bazy danych HANA w usłudze Azure NetApp Files

Przepływność woluminu usługi Azure NetApp Files jest funkcją rozmiaru woluminu i poziomu usługi, zgodnie z opisem w artykule Poziom usługi dla usługi Azure NetApp Files.

Podczas projektowania infrastruktury dla platformy SAP HANA na platformie Azure za pomocą usługi Azure NetApp Files należy pamiętać o zaleceniach w woluminach NFS w wersji 4.1 w usłudze Azure NetApp Files for SAP HANA.

Konfiguracja w tym artykule jest przedstawiona z prostymi woluminami usługi Azure NetApp Files.

Ważne

W przypadku systemów produkcyjnych, w których wydajność jest kluczowa, zalecamy ocenę i rozważenie użycia grupy woluminów aplikacji usługi Azure NetApp Files dla platformy SAP HANA.

Wszystkie polecenia instalacji /hana/shared w tym artykule są prezentowane dla woluminów NFSv4.1 /hana/shared. Jeśli woluminy /hana/shared zostały wdrożone jako woluminy NFSv3, nie zapomnij dostosować poleceń instalacji dla /hana/shared dla systemu plików NFSv3.

Wdrażanie zasobów usługi Azure NetApp Files

W poniższych instrukcjach założono, że sieć wirtualna platformy Azure została już wdrożona. Zasoby i maszyny wirtualne usługi Azure NetApp Files, w których są zainstalowane zasoby usługi Azure NetApp Files, muszą zostać wdrożone w tej samej sieci wirtualnej platformy Azure lub w równorzędnych sieciach wirtualnych platformy Azure.

  1. Utwórz konto usługi NetApp w wybranym regionie platformy Azure, postępując zgodnie z instrukcjami w temacie Tworzenie konta usługi NetApp.

  2. Skonfiguruj pulę pojemności usługi Azure NetApp Files, postępując zgodnie z instrukcjami w temacie Konfigurowanie puli pojemności usługi Azure NetApp Files.

    Architektura platformy HANA przedstawiona w tym artykule używa pojedynczej puli pojemności usługi Azure NetApp Files na poziomie usługi Ultra. W przypadku obciążeń platformy HANA na platformie Azure zalecamy użycie poziomu usługi Azure NetApp Files Ultra lub Premium.

  3. Delegowanie podsieci do usługi Azure NetApp Files zgodnie z opisem w instrukcjach w temacie Delegowanie podsieci do usługi Azure NetApp Files.

  4. Wdróż woluminy usługi Azure NetApp Files, postępując zgodnie z instrukcjami w temacie Tworzenie woluminu NFS dla usługi Azure NetApp Files.

    Podczas wdrażania woluminów pamiętaj, aby wybrać wersję NFSv4.1. Wdróż woluminy w wyznaczonej podsieci usługi Azure NetApp Files. Adresy IP woluminów usługi Azure NetApp Files są przypisywane automatycznie.

    Zasoby usługi Azure NetApp Files i maszyny wirtualne platformy Azure muszą znajdować się w tej samej sieci wirtualnej platformy Azure lub w równorzędnych sieciach wirtualnych platformy Azure. Na przykład hanadb1-data-mnt00001, hanadb1-log-mnt00001 itd. to nazwy woluminów, a nfs://10.3.1.4/hanadb1-data-mnt00001, nfs://10.3.1.4/hanadb1-log-mnt00001 itd. to ścieżki plików dla woluminów usługi Azure NetApp Files.

    W bazie danych hanadb1:

    • Volume hanadb1-data-mnt00001 (nfs://10.3.1.4:/hanadb1-data-mnt00001)
    • Volume hanadb1-log-mnt00001 (nfs://10.3.1.4:/hanadb1-log-mnt00001)
    • Volume hanadb1-shared-mnt00001 (nfs://10.3.1.4:/hanadb1-shared-mnt00001)

    W bazie danych hanadb2:

    • Volume hanadb2-data-mnt00001 (nfs://10.3.1.4:/hanadb2-data-mnt00001)
    • Volume hanadb2-log-mnt00001 (nfs://10.3.1.4:/hanadb2-log-mnt00001)
    • Volume hanadb2-shared-mnt00001 (nfs://10.3.1.4:/hanadb2-shared-mnt00001)

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 Azure Load Balancer

Podczas konfigurowania maszyny wirtualnej masz możliwość utworzenia lub wybrania istniejącego modułu równoważenia obciążenia w sekcji sieci. Wykonaj następne kroki, aby skonfigurować standardowy moduł równoważenia obciążenia dla konfiguracji wysokiej dostępności bazy danych HANA.

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 dla 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ć więcej informacji, zobacz Ograniczenia usługi Azure Load Balancer. Jeśli potrzebujesz więcej adresów IP dla maszyny wirtualnej, wdróż drugą kartę sieciową.

Jeśli maszyny wirtualne bez publicznych adresów IP są umieszczane w puli zaplecza wewnętrznej (bez publicznego adresu IP) usługi Azure Load Balancer w warstwie Standardowa, nie ma wychodzącej łączności z Internetem, chyba że zostanie wykonana więcej konfiguracji, aby umożliwić routing do publicznych punktów końcowych. Aby uzyskać więcej informacji na temat uzyskiwania łączności wychodzącej, zobacz Publiczna łączność punktów końcowych dla maszyn wirtualnych korzystających z 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 TCP na maszynach wirtualnych platformy Azure umieszczonych za modułem równoważenia obciążenia. Włączenie sygnatur czasowych protokołu TCP powoduje niepowodzenie sond kondycji. Ustaw parametr net.ipv4.tcp_timestamps na 0. Aby uzyskać więcej informacji, zobacz Load Balancer health probes (Sondy kondycji usługi Load Balancer) i SAP Note 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ć?.

Instalowanie woluminu usługi Azure NetApp Files

  1. [A] Tworzenie punktów instalacji dla woluminów bazy danych HANA.

    sudo mkdir -p /hana/data/HN1/mnt00001
    sudo mkdir -p /hana/log/HN1/mnt00001
    sudo mkdir -p /hana/shared/HN1
    
  2. [A] Sprawdź ustawienie domeny NFS. Upewnij się, że domena jest skonfigurowana jako domyślna domena usługi Azure NetApp Files, czyli defaultv4iddomain.com, a mapowanie jest ustawione na nikogo.

    sudo cat /etc/idmapd.conf
    

    Przykładowe wyjście:

    [General]
    Domain = defaultv4iddomain.com
    [Mapping]
    Nobody-User = nobody
    Nobody-Group = nobody
    

    Ważne

    Upewnij się, że na maszynie wirtualnej ustawiono domenę NFS w folderze /etc/idmapd.conf, aby dopasować domyślną konfigurację domeny w usłudze Azure NetApp Files: defaultv4iddomain.com. W przypadku niezgodności konfiguracji domeny na kliencie NFS (czyli maszynie wirtualnej) i serwerze NFS (czyli konfiguracji usługi Azure NetApp Files), uprawnienia do plików na woluminach usługi Azure NetApp Files zainstalowanych na maszynach wirtualnych są wyświetlane jako nikt.

  3. [A] Edytuj /etc/fstab w obu węzłach, aby trwale zainstalować woluminy istotne dla każdego węzła. W poniższym przykładzie pokazano, jak trwale zainstalować woluminy.

    sudo vi /etc/fstab
    

    Dodaj następujące wpisy w /etc/fstab obu węzłach.

    Przykład dla hanadb1:

    10.3.1.4:/hanadb1-data-mnt00001 /hana/data/HN1/mnt00001  nfs   rw,nfsvers=4.1,hard,timeo=600,rsize=262144,wsize=262144,noatime,lock,_netdev,sec=sys  0  0
    10.3.1.4:/hanadb1-log-mnt00001 /hana/log/HN1/mnt00001  nfs   rw,nfsvers=4.1,hard,timeo=600,rsize=262144,wsize=262144,noatime,lock,_netdev,sec=sys  0  0
    10.3.1.4:/hanadb1-shared-mnt00001 /hana/shared/HN1  nfs   rw,nfsvers=4.1,hard,timeo=600,rsize=262144,wsize=262144,noatime,lock,_netdev,sec=sys  0  0
    

    Przykład dla bazy danych hanadb2:

    10.3.1.4:/hanadb2-data-mnt00001 /hana/data/HN1/mnt00001  nfs   rw,nfsvers=4.1,hard,timeo=600,rsize=262144,wsize=262144,noatime,lock,_netdev,sec=sys  0  0
    10.3.1.4:/hanadb2-log-mnt00001 /hana/log/HN1/mnt00001  nfs   rw,nfsvers=4.1,hard,timeo=600,rsize=262144,wsize=262144,noatime,lock,_netdev,sec=sys  0  0
    10.3.1.4:/hanadb2-shared-mnt00001 /hana/shared/HN1  nfs   rw,nfsvers=4.1,hard,timeo=600,rsize=262144,wsize=262144,noatime,lock,_netdev,sec=sys  0  0
    

    Zainstaluj wszystkie woluminy.

    sudo mount -a
    

    W przypadku obciążeń wymagających wyższej przepływności rozważ użycie nconnect opcji instalacji zgodnie z opisem w woluminach NFS w wersji 4.1 w usłudze Azure NetApp Files dla platformy SAP HANA. Sprawdź, czy nconnect usługa Azure NetApp Files jest obsługiwana w wersji systemu Linux.

  4. [A] Sprawdź, czy wszystkie woluminy HANA są zainstalowane przy użyciu protokołu NFS w wersji NFSv4.

    sudo nfsstat -m
    

    Sprawdź, czy flaga vers jest ustawiona na 4.1.

    Przykład z bazy danych hanadb1:

    /hana/log/HN1/mnt00001 from 10.3.1.4:/hanadb1-log-mnt00001
    Flags: rw,noatime,vers=4.1,rsize=262144,wsize=262144,namlen=255,hard,proto=tcp,timeo=600,retrans=2,sec=sys,clientaddr=10.3.0.4,local_lock=none,addr=10.3.1.4
    /hana/data/HN1/mnt00001 from 10.3.1.4:/hanadb1-data-mnt00001
    Flags: rw,noatime,vers=4.1,rsize=262144,wsize=262144,namlen=255,hard,proto=tcp,timeo=600,retrans=2,sec=sys,clientaddr=10.3.0.4,local_lock=none,addr=10.3.1.4
    /hana/shared/HN1 from 10.3.1.4:/hanadb1-shared-mnt00001
    Flags: rw,noatime,vers=4.1,rsize=262144,wsize=262144,namlen=255,hard,proto=tcp,timeo=600,retrans=2,sec=sys,clientaddr=10.3.0.4,local_lock=none,addr=10.3.1.4
    
  5. [A] Sprawdź nfs4_disable_idmapping. Powinna być ustawiona wartość Y. Aby utworzyć strukturę katalogów, w której znajduje się nfs4_disable_idmapping , uruchom polecenie instalacji. Nie będzie można ręcznie utworzyć katalogu, /sys/modules ponieważ dostęp jest zarezerwowany dla jądra/sterowników.

    #Check nfs4_disable_idmapping
    sudo cat /sys/module/nfs/parameters/nfs4_disable_idmapping
    
    #If you need to set nfs4_disable_idmapping to Y
    sudo echo "Y" > /sys/module/nfs/parameters/nfs4_disable_idmapping
    
    #Make the configuration permanent
    sudo echo "options nfs nfs4_disable_idmapping=Y" >> /etc/modprobe.d/nfs.conf
    

Instalacja oprogramowania SAP HANA

  1. [A] Skonfiguruj rozpoznawanie nazw hostów dla wszystkich hostów.

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

    sudo vi /etc/hosts
    

    Wstaw następujące wiersze w /etc/hosts pliku. Zmień adres IP i nazwę hosta, aby pasować do twojego środowiska.

    10.3.0.4   hanadb1
    10.3.0.5   hanadb2
    
  2. [A] Przygotowanie systemu operacyjnego do uruchamiania oprogramowania SAP HANA w usłudze Azure NetApp z systemem plików NFS zgodnie z opisem w artykule SAP Note 3024346 — Linux Kernel Ustawienia for NetApp NFS. Utwórz plik /etc/sysctl.d/91-NetApp-HANA.conf konfiguracji dla ustawień konfiguracji usługi NetApp.

    sudo vi /etc/sysctl.d/91-NetApp-HANA.conf
    

    Dodaj następujące wpisy w pliku konfiguracji:

    net.core.rmem_max = 16777216
    net.core.wmem_max = 16777216
    net.ipv4.tcp_rmem = 4096 131072 16777216
    net.ipv4.tcp_wmem = 4096 16384 16777216
    net.core.netdev_max_backlog = 300000
    net.ipv4.tcp_slow_start_after_idle=0
    net.ipv4.tcp_no_metrics_save = 1
    net.ipv4.tcp_moderate_rcvbuf = 1
    net.ipv4.tcp_window_scaling = 1
    net.ipv4.tcp_sack = 1
    
  3. [A] Utwórz plik /etc/sysctl.d/ms-az.conf konfiguracji z bardziej ustawieniami optymalizacji.

    sudo vi /etc/sysctl.d/ms-az.conf
    

    Dodaj następujące wpisy w pliku konfiguracji:

    net.ipv6.conf.all.disable_ipv6 = 1
    net.ipv4.tcp_max_syn_backlog = 16348
    net.ipv4.conf.all.rp_filter = 0
    sunrpc.tcp_slot_table_entries = 128
    vm.swappiness=10
    

    Napiwek

    Unikaj ustawiania net.ipv4.ip_local_port_range i net.ipv4.ip_local_reserved_ports jawnie w plikach konfiguracji sysctl, aby umożliwić agentowi hosta SAP zarządzanie zakresami portów. Aby uzyskać więcej informacji, zobacz sap Note 2382421.

  4. [A] Dostosuj sunrpc ustawienia zgodnie z zaleceniami w temacie SAP Note 3024346 — Linux Kernel Ustawienia for NetApp NFS (Ustawienia jądra systemu plików NetApp).

    sudo vi /etc/modprobe.d/sunrpc.conf
    

    Wstaw następujący wiersz:

    options sunrpc tcp_max_slot_table_entries=128
    
  5. [A] Skonfiguruj usługę SLES dla platformy HANA.

    Skonfiguruj usługę SLES zgodnie z opisem w następujących informacjach SAP Na podstawie wersji SLES:

  6. [A] Zainstaluj oprogramowanie SAP HANA.

    Począwszy od wersji HANA 2.0 SPS 01, kontenery wielodostępnych baz danych (MDC) są opcją domyślną. Podczas instalowania systemu HANA system SYSTEMDB i dzierżawa z tym samym identyfikatorem SID są tworzone razem. W niektórych przypadkach nie chcesz, aby dzierżawa domyślna. Jeśli nie chcesz tworzyć początkowej dzierżawy wraz z instalacją, postępuj zgodnie z instrukcjami w artykule SAP Note 2629711.

    1. hdblcm Uruchom program z katalogu oprogramowania instalacyjnego HANA.

      ./hdblcm
      
    2. W wierszu polecenia wprowadź następujące wartości:

      • W polu Wybierz instalację: wprowadź wartość 1 (w przypadku instalacji).
      • W obszarze Wybierz dodatkowe składniki do instalacji: wprowadź wartość 1.
      • W polu Wprowadź ścieżkę instalacji [/hana/shared]: naciśnij klawisz Enter, aby zaakceptować wartość domyślną.
      • W polu Wprowadź nazwę hosta lokalnego [..]: Naciśnij klawisz Enter, aby zaakceptować wartość domyślną.
      • W obszarze Czy chcesz dodać dodatkowe hosty do systemu? (y/n) [n]: Wybierz n.
      • W polu Wprowadź identyfikator systemu SAP HANA: wprowadź wartość HN1.
      • W polu Wprowadź numer wystąpienia [00]: wprowadź wartość 03.
      • W obszarze Wybierz tryb bazy danych / Wprowadź indeks [1]: naciśnij klawisz Enter, aby zaakceptować wartość domyślną.
      • W obszarze Wybierz użycie systemu / Wprowadź indeks [4]: wprowadź wartość 4 (dla niestandardowego).
      • W polu Wprowadź lokalizację woluminów danych [/hana/data]: naciśnij klawisz Enter, aby zaakceptować wartość domyślną.
      • W polu Wprowadź lokalizację woluminów dziennika [/hana/log]: naciśnij klawisz Enter, aby zaakceptować wartość domyślną.
      • Czy ograniczyć maksymalną alokację pamięci? [n]: Naciśnij klawisz Enter, aby zaakceptować wartość domyślną.
      • W polu Wprowadź nazwę hosta certyfikatu dla hosta '...' [...]: Naciśnij klawisz Enter, aby zaakceptować wartość domyślną.
      • W polu Wprowadź hasło użytkownika agenta hosta SAP (sapadm): wprowadź hasło użytkownika agenta hosta.
      • W polu Potwierdź hasło użytkownika agenta hosta SAP (sapadm): wprowadź ponownie hasło użytkownika agenta hosta, aby potwierdzić.
      • W polu Enter System Administracja istrator (hn1adm) Hasło: wprowadź hasło administratora systemu.
      • W polu Potwierdź hasło administratora systemu Administracja istrator (hn1adm): wprowadź ponownie hasło administratora systemu, aby potwierdzić.
      • W polu Enter System Administracja istrator Home Directory [/usr/sap/HN1/home]: Naciśnij klawisz Enter, aby zaakceptować wartość domyślną.
      • W polu Enter System Administracja istrator Login Shell [/bin/sh]: naciśnij klawisz Enter, aby zaakceptować wartość domyślną.
      • W polu Enter System Administracja istrator User ID [1001]: Naciśnij klawisz Enter, aby zaakceptować wartość domyślną.
      • W polu Wprowadź identyfikator grupy użytkowników (sapsys) [79]: naciśnij klawisz Enter, aby zaakceptować wartość domyślną.
      • W polu Wprowadź hasło użytkownika bazy danych (SYSTEM): wprowadź hasło użytkownika bazy danych.
      • W polu Potwierdź hasło użytkownika bazy danych (SYSTEM): wprowadź ponownie hasło użytkownika bazy danych, aby potwierdzić.
      • W przypadku ponownego uruchomienia systemu po ponownym uruchomieniu maszyny? [n]: Naciśnij klawisz Enter, aby zaakceptować wartość domyślną.
      • Czy chcesz kontynuować? (y/n): Zweryfikuj podsumowanie. Wprowadź y , aby kontynuować.
  7. [A] Uaktualnij agenta hosta SAP.

    Pobierz najnowsze archiwum agenta hosta SAP z centrum oprogramowania SAP i 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

Wykonaj kroki opisane w temacie Replikacja systemu SAP HANA, aby skonfigurować replikację systemu SAP HANA.

Konfiguracja klastra

W tej sekcji opisano niezbędne kroki wymagane do bezproblemowego działania klastra, gdy platforma SAP HANA jest zainstalowana w udziałach NFS przy użyciu usługi Azure NetApp Files.

Tworzenie klastra Pacemaker

Wykonaj kroki opisane w temacie Konfigurowanie programu Pacemaker w systemie SUSE Enterprise Linux na platformie Azure, aby utworzyć podstawowy klaster Pacemaker dla tego serwera HANA.

Implementowanie zaczepień platformy HANA SAPHanaSR i susChkSrv

Ten ważny krok optymalizuje integrację z klastrem i poprawia wykrywanie, gdy potrzebny jest tryb failover klastra. Zdecydowanie zalecamy skonfigurowanie zarówno elementów SAPHanaSR, jak i susChkSrv Python hooks. Wykonaj kroki opisane w temacie Implement the Python system replication hooks SAPHanaSR and susChkSrv (Implementowanie przypinania replikacji systemu Python SAPHanaSR i susChkSrv).

Konfigurowanie zasobów klastra SAP HANA

W tej sekcji opisano niezbędne kroki wymagane do skonfigurowania zasobów klastra SAP HANA.

Tworzenie zasobów klastra SAP HANA

Wykonaj kroki opisane w temacie Tworzenie zasobów klastra SAP HANA, aby utworzyć zasoby klastra dla serwera HANA. Po utworzeniu zasobów powinien zostać wyświetlony stan klastra za pomocą następującego polecenia:

sudo crm_mon -r

Przykładowe wyjście:

# 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

Tworzenie zasobów systemu plików

Utwórz fikcyjny zasób klastra systemu plików. Monitoruje i zgłasza błędy, jeśli występuje problem podczas uzyskiwania dostępu do zainstalowanego systemu plików NFS /hana/shared. Umożliwia to klastrowi wyzwolenie trybu failover, jeśli występuje problem z dostępem do /hana/shared. Aby uzyskać więcej informacji, zobacz Obsługa nieudanego udziału NFS w klastrze SUSE HA na potrzeby replikacji systemu HANA.

  1. [A] Utwórz strukturę katalogów w obu węzłach.

    sudo mkdir -p /hana/shared/HN1/check
    sudo mkdir -p /hana/shared/check
    
  2. [1] Skonfiguruj klaster, aby dodać strukturę katalogów do monitorowania.

    sudo crm configure primitive rsc_fs_check_HN1_HDB03 Filesystem params \
        device="/hana/shared/HN1/check/" \
        directory="/hana/shared/check/" fstype=nfs  \
        options="bind,defaults,rw,hard,rsize=262144,wsize=262144,proto=tcp,noatime,_netdev,nfsvers=4.1,lock,sec=sys" \
        op monitor interval=120 timeout=120 on-fail=fence \
        op_params OCF_CHECK_LEVEL=20 \
        op start interval=0 timeout=120 \
        op stop interval=0 timeout=120
    
  3. [1] Sklonuj i sprawdź nowo skonfigurowany wolumin w klastrze.

    sudo crm configure clone cln_fs_check_HN1_HDB03 rsc_fs_check_HN1_HDB03 meta clone-node-max=1 interleave=true
    

    Przykładowe wyjście:

    sudo crm status
    
    # Cluster Summary:
    # Stack: corosync
    # Current DC: hanadb1 (version 2.0.5+20201202.ba59be712-4.9.1-2.0.5+20201202.ba59be712) - partition with quorum
    # Last updated: Tue Nov  2 17:57:39 2021
    # Last change:  Tue Nov  2 17:57:38 2021 by root via crm_attribute on hanadb1
    # 2 nodes configured
    # 11 resource instances configured
    
    # Node List:
    # Online: [ hanadb1 hanadb2 ]
    
    # Full List of Resources:
    # Clone Set: cln_azure-events [rsc_azure-events]:
    #  Started: [ hanadb1 hanadb2 ]
    # Clone Set: cln_SAPHanaTopology_HN1_HDB03 [rsc_SAPHanaTopology_HN1_HDB03]:
    #  rsc_SAPHanaTopology_HN1_HDB03     (ocf::suse:SAPHanaTopology):     Started hanadb1 (Monitoring)
    #  rsc_SAPHanaTopology_HN1_HDB03     (ocf::suse:SAPHanaTopology):     Started hanadb2 (Monitoring)
    # Clone Set: msl_SAPHana_HN1_HDB03 [rsc_SAPHana_HN1_HDB03] (promotable):
    #  rsc_SAPHana_HN1_HDB03     (ocf::suse:SAPHana):     Master hanadb1 (Monitoring)
    #  Slaves: [ hanadb2 ]
    # Resource Group: g_ip_HN1_HDB03:
    #  rsc_ip_HN1_HDB03  (ocf::heartbeat:IPaddr2):        Started hanadb1
    #  rsc_nc_HN1_HDB03  (ocf::heartbeat:azure-lb):       Started hanadb1
    # rsc_st_azure        (stonith:fence_azure_arm):       Started hanadb2
    # Clone Set: cln_fs_check_HN1_HDB03 [rsc_fs_check_HN1_HDB03]:
    #  Started: [ hanadb1 hanadb2 ]
    

    Atrybut OCF_CHECK_LEVEL=20 jest dodawany do operacji monitorowania, aby monitorować operacje wykonywania testu odczytu/zapisu w systemie plików. Bez tego atrybutu operacja monitorowania sprawdza tylko, czy system plików jest zainstalowany. Może to być problem, ponieważ w przypadku utraty łączności system plików może pozostać zainstalowany, mimo że jest niedostępny.

    Atrybut on-fail=fence jest również dodawany do operacji monitorowania. W przypadku tej opcji, jeśli operacja monitorowania zakończy się niepowodzeniem w węźle, ten węzeł jest natychmiast ogrodzony.

Ważne

Może być konieczne dostosowanie limitów czasu w poprzedniej konfiguracji do określonej konfiguracji platformy HANA, aby uniknąć niepotrzebnych akcji ogrodzenia. Nie ustawiaj zbyt niskich wartości limitu czasu. Należy pamiętać, że monitor systemu plików nie jest związany z replikacją systemu HANA. Aby uzyskać więcej informacji, zobacz dokumentację systemu SUSE.

Testowanie konfiguracji klastra

W tej sekcji opisano sposób testowania konfiguracji.

  1. Przed rozpoczęciem testu upewnij się, że program Pacemaker nie ma żadnych nieudanych akcji (za pośrednictwem stanu crm) i nie ma nieoczekiwanych ograniczeń lokalizacji (na przykład pozostawienia testu migracji). Upewnij się również, że replikacja systemu HANA jest w stanie synchronizacji, na przykład za pomocą polecenia systemReplicationStatus.

    sudo su - hn1adm -c "python /usr/sap/HN1/HDB03/exe/python_support/systemReplicationStatus.py"
    
  2. Sprawdź stan zasobów platformy HANA przy użyciu tego polecenia:

    SAPHanaSR-showAttr
    
    # You should see something like below
    # hanadb1:~ SAPHanaSR-showAttr
    # Global cib-time                 maintenance
    # --------------------------------------------
    # global Mon Nov  8 22:50:30 2021 false
    # Sites srHook
    # -------------
    # SITE1 PRIM
    # SITE2 SOK
    # Site2 SOK
    # Hosts   clone_state lpa_hn1_lpt node_state op_mode   remoteHost roles                            score site  srmode sync_state version                vhost
    # --------------------------------------------------------------------------------------------------------------------------------------------------------------
    # hanadb1 PROMOTED    1636411810  online     logreplay hanadb2    4:P:master1:master:worker:master 150   SITE1 sync   PRIM       2.00.058.00.1634122452 hanadb1
    # hanadb2 DEMOTED     30          online     logreplay hanadb1    4:S:master1:master:worker:master 100   SITE2 sync   SOK        2.00.058.00.1634122452 hanadb2
    
  3. Sprawdź konfigurację klastra pod kątem scenariusza awarii po zamknięciu węzła. W poniższym przykładzie pokazano zamknięcie węzła 1:

    sudo crm status
    sudo crm resource move msl_SAPHana_HN1_HDB03 hanadb2 force
    sudo crm resource cleanup
    

    Przykładowe wyjście:

    sudo crm status
    
    #Cluster Summary:
    # Stack: corosync
    # Current DC: hanadb2 (version 2.0.5+20201202.ba59be712-4.9.1-2.0.5+20201202.ba59be712) - partition with quorum
    # Last updated: Mon Nov  8 23:25:36 2021
    # Last change:  Mon Nov  8 23:25:19 2021 by root via crm_attribute on hanadb2
    # 2 nodes configured
    # 11 resource instances configured
    
    # Node List:
    # Online: [ hanadb1 hanadb2 ]
    # Full List of Resources:
    # Clone Set: cln_azure-events [rsc_azure-events]:
    #  Started: [ hanadb1 hanadb2 ]
    # Clone Set: cln_SAPHanaTopology_HN1_HDB03 [rsc_SAPHanaTopology_HN1_HDB03]:
    #  Started: [ hanadb1 hanadb2 ]
    # Clone Set: msl_SAPHana_HN1_HDB03 [rsc_SAPHana_HN1_HDB03] (promotable):
    #  Masters: [ hanadb2 ]
    #  Stopped: [ hanadb1 ]
    # Resource Group: g_ip_HN1_HDB03:
    #  rsc_ip_HN1_HDB03  (ocf::heartbeat:IPaddr2):        Started hanadb2
    #  rsc_nc_HN1_HDB03  (ocf::heartbeat:azure-lb):       Started hanadb2
    # rsc_st_azure        (stonith:fence_azure_arm):       Started hanadb2
    # Clone Set: cln_fs_check_HN1_HDB03 [rsc_fs_check_HN1_HDB03]:
    #  Started: [ hanadb1 hanadb2 ]
    

    Zatrzymaj platformę HANA w środowisku Node1:

    sudo su - hn1adm
    sapcontrol -nr 03 -function StopWait 600 10
    

    Zarejestruj węzeł 1 jako węzeł pomocniczy i sprawdź stan:

    hdbnsutil -sr_register --remoteHost=hanadb2 --remoteInstance=03 --replicationMode=sync --name=SITE1 --operationMode=logreplay
    

    Przykładowe wyjście:

    #adding site ...
    #nameserver hanadb1:30301 not responding.
    #collecting information ...
    #updating local ini files ...
    #done.
    
    sudo crm status
    
    sudo SAPHanaSR-showAttr
    
  4. Sprawdź konfigurację klastra pod kątem scenariusza awarii, gdy węzeł utraci dostęp do udziału NFS (/hana/shared).

    Agenci zasobów SAP HANA zależą od plików binarnych przechowywanych na /hana/shared w celu wykonywania operacji podczas pracy w trybie failover. System plików /hana/shared jest instalowany za pośrednictwem systemu plików NFS w przedstawionym scenariuszu.

    Trudno jest zasymulować awarię, w której jeden z serwerów traci dostęp do udziału NFS. Jako test można ponownie zainstalować system plików jako tylko do odczytu. To podejście sprawdza, czy klaster może przejść w tryb failover, jeśli dostęp do /hana/shared zostanie utracony w aktywnym węźle.

    Oczekiwany wynik: Podczas tworzenia /hana/udostępnionego jako systemu plików tylko do odczytu atrybut OCF_CHECK_LEVEL zasobu hana_shared1, który wykonuje operacje odczytu/zapisu w systemie plików, kończy się niepowodzeniem. Kończy się to niepowodzeniem, ponieważ nie może zapisać niczego w systemie plików i wykonuje tryb failover zasobu HANA. Ten sam wynik jest oczekiwany, gdy węzeł HANA utraci dostęp do udziałów NFS.

    Stan zasobu przed rozpoczęciem testu:

    sudo crm  status
    
    #Cluster Summary:
     # Stack: corosync
     # Current DC: hanadb2 (version 2.0.5+20201202.ba59be712-4.9.1-2.0.5+20201202.ba59be712) - partition with quorum
     # Last updated: Mon Nov  8 23:01:27 2021
     # Last change:  Mon Nov  8 23:00:46 2021 by root via crm_attribute on hanadb1
     # 2 nodes configured
     # 11 resource instances configured
    
     #Node List:
     # Online: [ hanadb1 hanadb2 ]
    
     #Full List of Resources:
     # Clone Set: cln_azure-events [rsc_azure-events]:
       # Started: [ hanadb1 hanadb2 ]
     # Clone Set: cln_SAPHanaTopology_HN1_HDB03 [rsc_SAPHanaTopology_HN1_HDB03]:
       # Started: [ hanadb1 hanadb2 ]
     # Clone Set: msl_SAPHana_HN1_HDB03 [rsc_SAPHana_HN1_HDB03] (promotable):
       # Masters: [ hanadb1 ]
       # Slaves: [ hanadb2 ]
     # Resource Group: g_ip_HN1_HDB03:
       # rsc_ip_HN1_HDB03  (ocf::heartbeat:IPaddr2):        Started hanadb1
       # rsc_nc_HN1_HDB03  (ocf::heartbeat:azure-lb):       Started hanadb1
     # rsc_st_azure        (stonith:fence_azure_arm):       Started hanadb2
     # Clone Set: cln_fs_check_HN1_HDB03 [rsc_fs_check_HN1_HDB03]:
       # Started: [ hanadb1 hanadb2 ]
    

    Narzędzie /hana/shared można umieścić w trybie tylko do odczytu w aktywnym węźle klastra przy użyciu tego polecenia:

    sudo mount -o ro 10.3.1.4:/hanadb1-shared-mnt00001 /hana/sharedb
    

    Serwer hanadb1 jest uruchamiany ponownie lub wyłącza się na podstawie zestawu akcji. Po dół serwera hanadb1 zasób platformy HANA zostanie przeniesiony do .hanadb2 Stan klastra można sprawdzić z poziomu hanadb2.

    sudo crm status
    
    #Cluster Summary:
     # Stack: corosync
     # Current DC: hanadb2 (version 2.0.5+20201202.ba59be712-4.9.1-2.0.5+20201202.ba59be712) - partition with quorum
     # Last updated: Wed Nov 10 22:00:27 2021
     # Last change:  Wed Nov 10 21:59:47 2021 by root via crm_attribute on hanadb2
     # 2 nodes configured
     # 11 resource instances configured
    
     #Node List:
     # Online: [ hanadb1 hanadb2 ]
    
     #Full List of Resources:
     # Clone Set: cln_azure-events [rsc_azure-events]:
       # Started: [ hanadb1 hanadb2 ]
     # Clone Set: cln_SAPHanaTopology_HN1_HDB03 [rsc_SAPHanaTopology_HN1_HDB03]:
       # Started: [ hanadb1 hanadb2 ]
     # Clone Set: msl_SAPHana_HN1_HDB03 [rsc_SAPHana_HN1_HDB03] (promotable):
       # Masters: [ hanadb2 ]
       # Stopped: [ hanadb1 ]
     # Resource Group: g_ip_HN1_HDB03:
          # rsc_ip_HN1_HDB03  (ocf::heartbeat:IPaddr2):        Started hanadb2
       # rsc_nc_HN1_HDB03  (ocf::heartbeat:azure-lb):       Started hanadb2
     # rsc_st_azure        (stonith:fence_azure_arm):       Started hanadb2
     # Clone Set: cln_fs_check_HN1_HDB03 [rsc_fs_check_HN1_HDB03]:
       # Started: [ hanadb1 hanadb2 ]
    

    Zalecamy dokładne przetestowanie konfiguracji klastra SAP HANA przez przeprowadzenie testów opisanych w temacie Replikacja systemu SAP HANA.

Następne kroki