Udostępnij za pośrednictwem


Wdrażanie skalowanego w poziomie oprogramowania SAP HANA z węzłem rezerwowym na maszynach wirtualnych platformy Azure przy użyciu usługi Azure NetApp Files w systemie SUSE Linux Enterprise Server

W tym artykule opisano sposób wdrażania systemu SAP HANA o wysokiej dostępności w konfiguracji skalowalnego w poziomie z rezerwą na maszynach wirtualnych platformy Azure przy użyciu usługi Azure NetApp Files dla udostępnionych woluminów magazynu.

W przykładowych konfiguracjach polecenia instalacji itd. wystąpienie platformy HANA ma wartość 03 , a identyfikator systemu HANA to HN1. Przykłady są oparte na systemach HANA 2.0 SP4 i SUSE Linux Enterprise Server dla systemu SAP 12 z dodatkiem SP4.

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

Omówienie

Jedną z metod osiągnięcia wysokiej dostępności platformy HANA jest skonfigurowanie automatycznego trybu failover hosta. Aby skonfigurować automatyczne przełączanie hosta w tryb failover, należy dodać co najmniej jedną maszynę wirtualną do systemu HANA i skonfigurować je jako węzły rezerwowe. Gdy aktywny węzeł ulegnie awarii, węzeł rezerwowy automatycznie przejmuje. W przedstawionej konfiguracji z maszynami wirtualnymi platformy Azure uzyskujesz automatyczne przejście w tryb failover przy użyciu systemu plików NFS w usłudze Azure NetApp Files.

Uwaga

Węzeł rezerwowy musi mieć dostęp do wszystkich woluminów bazy danych. Woluminy HANA muszą być zainstalowane jako woluminy NFSv4. Ulepszony mechanizm blokowania oparty na dzierżawie plików w protokole NFSv4 jest używany do I/O ogrodzenia.

Ważne

Aby utworzyć obsługiwaną konfigurację, należy wdrożyć woluminy danych i dziennika HANA jako woluminy NFSv4.1 i zainstalować je przy użyciu protokołu NFSv4.1. Konfiguracja automatycznego trybu failover hosta HANA z węzłem rezerwowym nie jest obsługiwana w systemie plików NFSv3.

Omówienie wysokiej dostępności oprogramowania SAP NetWeaver

Na powyższym diagramie, który jest zgodny z zaleceniami sieci sap HANA, trzy podsieci są reprezentowane w jednej sieci wirtualnej platformy Azure:

  • W przypadku komunikacji klienta
  • Komunikacja z systemem magazynowania
  • Wewnętrzna komunikacja między węzłami platformy HANA

Woluminy usługi Azure NetApp znajdują się w oddzielnej podsieci delegowanej do usługi Azure NetApp Files.

Na potrzeby tej przykładowej konfiguracji podsieci to:

  • client 10.23.0.0/24
  • storage 10.23.2.0/24
  • hana 10.23.3.0/24
  • anf 10.23.1.0/26

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 platformy Azure.

Ważne uwagi

Podczas tworzenia usługi Azure NetApp Files dla oprogramowania SAP NetWeaver w architekturze wysokiej dostępności SUSE 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 przy użyciu 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 kluczem, zalecamy ocenę i rozważenie użycia grupy woluminów aplikacji usługi Azure NetApp Files dla platformy SAP HANA.

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 zostaną 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 HANA przedstawiona w tym artykule używa pojedynczej puli pojemności usługi Azure NetApp Files na poziomie usługi Ultra Service. W przypadku obciążeń HANA na platformie Azure zalecamy użycie warstwy 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 . Obecnie dostęp do systemu plików NFSv4.1 wymaga dodania do listy dozwolonych. Wdróż woluminy w wyznaczonej podsieci usługi Azure NetApp Files. Adresy IP woluminów usługi Azure NetApp są przypisywane automatycznie.

    Należy pamiętać, że 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 HN1-data-mnt00001, HN1-log-mnt00001 itd. to nazwy woluminów i nfs://10.23.1.5/ HN1-data-mnt00001, nfs://10.23.1.4/ HN1-log-mnt00001 itd., to ścieżki plików dla woluminów usługi Azure NetApp Files.

    • wolumin HN1-data-mnt00001 (nfs://10.23.1.5/ HN1-data-mnt00001)
    • wolumin HN1-data-mnt00002 (nfs://10.23.1.6/ HN1-data-mnt00002)
    • wolumin HN1-log-mnt00001 (nfs://10.23.1.4/ HN1-log-mnt00001)
    • wolumin HN1-log-mnt00002 (nfs://10.23.1.6/ HN1-log-mnt00002)
    • wolumin HN1 współużytkowany (nfs://10.23.1.4/ HN1-shared)

    W tym przykładzie użyliśmy oddzielnego woluminu usługi Azure NetApp Files dla każdego woluminu danych i dziennika platformy HANA. W przypadku bardziej zoptymalizowanej pod kątem kosztów konfiguracji w mniejszych lub nieprodukcyjnych systemach można umieścić wszystkie instalacje danych i wszystkie instalacje dzienników na jednym woluminie.

Wdrażanie maszyn wirtualnych z systemem Linux za pośrednictwem witryny Azure Portal

Najpierw należy utworzyć woluminy usługi Azure NetApp Files. Następnie wykonaj następujące czynności:

  1. Utwórz podsieci sieci wirtualnej platformy Azure w sieci wirtualnej platformy Azure.

  2. Wdrażanie maszyn wirtualnych.

  3. Utwórz dodatkowe interfejsy sieciowe i dołącz interfejsy sieciowe do odpowiednich maszyn wirtualnych.

    Każda maszyna wirtualna ma trzy interfejsy sieciowe, które odpowiadają trzem podsieciom sieci wirtualnej platformy Azure (clientstoragei hana).

    Aby uzyskać więcej informacji, zobacz Tworzenie maszyny wirtualnej z systemem Linux na platformie Azure z wieloma kartami interfejsu sieciowego.

Ważne

W przypadku obciążeń SAP HANA małe opóźnienia mają krytyczne znaczenie. Aby zapewnić małe opóźnienia, należy we współpracy z przedstawicielem firmy Microsoft upewnić się, że maszyny wirtualne i woluminy usługi Azure NetApp Files są wdrożone w pobliżu. W przypadku dołączania nowego systemu SAP HANA, który korzysta z usługi SAP HANA Azure NetApp Files, prześlij niezbędne informacje.

W następnych instrukcjach założono, że grupa zasobów, sieć wirtualna platformy Azure i trzy podsieci sieci wirtualnej platformy Azure: clienti storage hana. Podczas wdrażania maszyn wirtualnych wybierz podsieć klienta, aby interfejs sieciowy klienta był podstawowym interfejsem na maszynach wirtualnych. Należy również skonfigurować jawną trasę do delegowanej podsieci usługi Azure NetApp Files za pośrednictwem bramy podsieci magazynu.

Ważne

Upewnij się, że wybrany system operacyjny jest certyfikowany dla oprogramowania SAP HANA na określonych typach maszyn wirtualnych, których używasz. Aby uzyskać listę certyfikowanych typów maszyn wirtualnych i wydań systemu operacyjnego SAP HANA dla tych typów, przejdź do witryny platform IaaS certyfikowanych na platformie SAP HANA. Kliknij szczegóły wymienionego typu maszyny wirtualnej, aby uzyskać pełną listę wersji systemu operacyjnego obsługiwanych przez platformę SAP HANA dla tego typu.

  1. Utwórz zestaw dostępności dla platformy SAP HANA. Upewnij się, że ustawiono maksymalną domenę aktualizacji.

  2. Utwórz trzy maszyny wirtualne (hanadb1, hanadb2, hanadb3), wykonując następujące czynności:

    a. Użyj obrazu SLES4SAP w galerii platformy Azure obsługiwanej przez platformę SAP HANA.

    b. Wybierz utworzony wcześniej zestaw dostępności dla platformy SAP HANA.

    c. Wybierz podsieć sieci wirtualnej platformy Azure klienta. Wybierz pozycję Przyspieszona sieć.

    Podczas wdrażania maszyn wirtualnych nazwa interfejsu sieciowego jest generowana automatycznie. W tych instrukcjach dla uproszczenia odwołujemy się do automatycznie generowanych interfejsów sieciowych dołączonych do podsieci sieci wirtualnej platformy Azure klienta jako hanadb1-client, hanadb2-client i hanadb3-client.

  3. Utwórz trzy interfejsy sieciowe, po jednym dla każdej maszyny wirtualnej, dla storage podsieci sieci wirtualnej (w tym przykładzie hanadb1-storage, hanadb2-storage i hanadb3-storage).

  4. Utwórz trzy interfejsy sieciowe, po jednym dla każdej maszyny wirtualnej, dla hana podsieci sieci wirtualnej (w tym przykładzie hanadb1-hana, hanadb2-hana i hanadb3-hana).

  5. Dołącz nowo utworzone interfejsy sieciowe wirtualne do odpowiednich maszyn wirtualnych, wykonując następujące czynności:

    1. Przejdź do maszyny wirtualnej w witrynie Azure Portal.
    2. W okienku po lewej stronie wybierz pozycję Maszyny wirtualne. Odfiltruj nazwę maszyny wirtualnej (na przykład hanadb1), a następnie wybierz maszynę wirtualną.
    3. W okienku Przegląd wybierz pozycję Zatrzymaj , aby cofnąć przydział maszyny wirtualnej.
    4. Wybierz pozycję Sieć, a następnie dołącz interfejs sieciowy. Z listy rozwijanej Dołączanie interfejsu sieciowego wybierz już utworzone interfejsy sieciowe dla storage podsieci i hana .
    5. Wybierz pozycję Zapisz.
    6. Powtórz kroki b przez e dla pozostałych maszyn wirtualnych (w naszym przykładzie hanadb2 i hanadb3).
    7. Pozostaw maszyny wirtualne w stanie zatrzymany na razie. Następnie włączymy przyspieszoną sieć dla wszystkich nowo dołączonych interfejsów sieciowych.
  6. Włącz przyspieszoną sieć dla dodatkowych interfejsów sieciowych dla storage podsieci i hana , wykonując następujące czynności:

    1. Otwórz usługę Azure Cloud Shell w witrynie Azure Portal.

    2. Wykonaj następujące polecenia, aby włączyć przyspieszoną sieć dla dodatkowych interfejsów sieciowych dołączonych do storage podsieci i hana .

      az network nic update --id /subscriptions/your subscription/resourceGroups/your resource group/providers/Microsoft.Network/networkInterfaces/hanadb1-storage --accelerated-networking true
       az network nic update --id /subscriptions/your subscription/resourceGroups/your resource group/providers/Microsoft.Network/networkInterfaces/hanadb2-storage --accelerated-networking true
       az network nic update --id /subscriptions/your subscription/resourceGroups/your resource group/providers/Microsoft.Network/networkInterfaces/hanadb3-storage --accelerated-networking true
      
       az network nic update --id /subscriptions/your subscription/resourceGroups/your resource group/providers/Microsoft.Network/networkInterfaces/hanadb1-hana --accelerated-networking true
       az network nic update --id /subscriptions/your subscription/resourceGroups/your resource group/providers/Microsoft.Network/networkInterfaces/hanadb2-hana --accelerated-networking true
       az network nic update --id /subscriptions/your subscription/resourceGroups/your resource group/providers/Microsoft.Network/networkInterfaces/hanadb3-hana --accelerated-networking true
      
  7. Uruchom maszyny wirtualne, wykonując następujące czynności:

    1. W okienku po lewej stronie wybierz pozycję Maszyny wirtualne. Odfiltruj nazwę maszyny wirtualnej (na przykład hanadb1), a następnie wybierz ją.
    2. W okienku Przegląd wybierz pozycję Uruchom.

Konfiguracja i przygotowanie systemu operacyjnego

Instrukcje w następnych sekcjach są poprzedzone jednym z następujących elementów:

  • [A]: Dotyczy wszystkich węzłów
  • [1]: Dotyczy tylko węzła 1
  • [2]: Dotyczy tylko węzła 2
  • [3]: Dotyczy tylko węzła 3

Skonfiguruj i przygotuj system operacyjny, wykonując następujące czynności:

  1. [A] Obsługa plików hosta na maszynach wirtualnych. Uwzględnij wpisy dla wszystkich podsieci. W tym przykładzie dodano /etc/hosts następujące wpisy.

    # Storage
     10.23.2.4   hanadb1-storage
     10.23.2.5   hanadb2-storage
     10.23.2.6   hanadb3-storage
     # Client
     10.23.0.5   hanadb1
     10.23.0.6   hanadb2
     10.23.0.7   hanadb3
     # Hana
     10.23.3.4   hanadb1-hana
     10.23.3.5   hanadb2-hana
     10.23.3.6   hanadb3-hana
    
  2. [A] Zmień ustawienia konfiguracji DHCP i chmury dla interfejsu sieciowego dla magazynu, aby uniknąć niezamierzonych zmian nazwy hosta.

    W poniższych instrukcjach przyjęto założenie, że interfejs sieciowy magazynu to eth1.

    vi /etc/sysconfig/network/dhcp 
    # Change the following DHCP setting to "no"
    DHCLIENT_SET_HOSTNAME="no"
    
    vi /etc/sysconfig/network/ifcfg-eth1
    # Edit ifcfg-eth1 
    #Change CLOUD_NETCONFIG_MANAGE='yes' to "no"
    CLOUD_NETCONFIG_MANAGE='no'
    
  3. [A] Dodaj trasę sieciową, aby komunikacja z usługą Azure NetApp Files odbywała się za pośrednictwem interfejsu sieciowego magazynu.

    W poniższych instrukcjach przyjęto założenie, że interfejs sieciowy magazynu to eth1.

    vi /etc/sysconfig/network/ifroute-eth1
    
    # Add the following routes 
    # RouterIPforStorageNetwork - - -
    # ANFNetwork/cidr RouterIPforStorageNetwork - -
    10.23.2.1 - - -
    10.23.1.0/26 10.23.2.1 - -
    

    Uruchom ponownie maszynę wirtualną, aby aktywować zmiany.

  4. [A] Przygotowanie systemu operacyjnego do uruchamiania oprogramowania SAP HANA w systemach NetApp z systemem plików NFS zgodnie z opisem w temacie Sap note 3024346 — Linux Kernel Settings for NetApp NFS (Ustawienia jądra systemu Linux dla systemu plików NetApp NFS). Utwórz plik konfiguracji /etc/sysctl.d/91-NetApp-HANA.conf dla ustawień konfiguracji usługi NetApp.

    vi /etc/sysctl.d/91-NetApp-HANA.conf
    
    # Add the following entries in the configuration file
    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_timestamps = 1
    net.ipv4.tcp_sack = 1
    
  5. [A] Utwórz plik konfiguracji /etc/sysctl.d/ms-az.conf z firmą Microsoft dla ustawień konfiguracji platformy Azure.

    vi /etc/sysctl.d/ms-az.conf
    
    # Add the following entries in the configuration file
    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
    

    [! PORADA] 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 2382421 uwagi SAP.

  6. [A] Dostosuj ustawienia sunrpc dla woluminów NFSv3, zgodnie z zaleceniami w uwagach sap 3024346 — Ustawienia jądra systemu Linux dla netApp NFS.

    vi /etc/modprobe.d/sunrpc.conf
    
    # Insert the following line
    options sunrpc tcp_max_slot_table_entries=128
    

Instalowanie woluminów usługi Azure NetApp Files

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

    mkdir -p /hana/data/HN1/mnt00001
    mkdir -p /hana/data/HN1/mnt00002
    mkdir -p /hana/log/HN1/mnt00001
    mkdir -p /hana/log/HN1/mnt00002
    mkdir -p /hana/shared
    mkdir -p /usr/sap/HN1
    
  2. [1] Tworzenie katalogów specyficznych dla węzła dla /usr/sap w lokalizacji udostępnionej HN1.

    # Create a temporary directory to mount HN1-shared
    mkdir /mnt/tmp
    
    # if using NFSv3 for this volume, mount with the following command
    mount 10.23.1.4:/HN1-shared /mnt/tmp
    
    # if using NFSv4.1 for this volume, mount with the following command
    mount -t nfs -o sec=sys,nfsvers=4.1 10.23.1.4:/HN1-shared /mnt/tmp
    
    cd /mnt/tmp
    mkdir shared usr-sap-hanadb1 usr-sap-hanadb2 usr-sap-hanadb3
    
    # unmount /hana/shared
    cd
    umount /mnt/tmp
    
  3. [A] Sprawdź ustawienie domeny NFS. Upewnij się, że domena jest skonfigurowana jako domyślna domena usługi Azure NetApp Files, tj. defaultv4iddomain.com mapowanie jest ustawione na nikogo.

    Ważne

    Upewnij się, że domena NFS na /etc/idmapd.conf maszynie wirtualnej jest zgodna z domyślną konfiguracją domeny w usłudze Azure NetApp Files: defaultv4iddomain.com. W przypadku niezgodności konfiguracji domeny na kliencie NFS (tj. maszynie wirtualnej) i serwerze NFS, tj. konfiguracji usługi Azure NetApp, uprawnienia do plików na woluminach usługi Azure NetApp zainstalowanych na maszynach wirtualnych będą wyświetlane jako nobody.

    sudo cat /etc/idmapd.conf
    
    # Example
    [General]
    Verbosity = 0
    Pipefs-Directory = /var/lib/nfs/rpc_pipefs
    Domain = defaultv4iddomain.com
    [Mapping]
    Nobody-User = nobody
    Nobody-Group = nobody
    
  4. [A] Zweryfikuj nfs4_disable_idmappingelement . Powinna być ustawiona wartość Y. Aby utworzyć strukturę katalogów, w której nfs4_disable_idmapping się znajduje, wykonaj polecenie instalacji. Nie będzie można ręcznie utworzyć katalogu w katalogu /sys/modules, ponieważ dostęp jest zarezerwowany dla jądra /sterowników.

    # Check nfs4_disable_idmapping 
    cat /sys/module/nfs/parameters/nfs4_disable_idmapping
    
    # If you need to set nfs4_disable_idmapping to Y
    mkdir /mnt/tmp
    mount 10.23.1.4:/HN1-shared /mnt/tmp
    umount  /mnt/tmp
    echo "Y" > /sys/module/nfs/parameters/nfs4_disable_idmapping
    
    # Make the configuration permanent
    echo "options nfs nfs4_disable_idmapping=Y" >> /etc/modprobe.d/nfs.conf
    
  5. [A] Ręcznie utwórz grupę i użytkownika SAP HANA. Identyfikatory grup sapsys i user hn1adm muszą być ustawione na te same identyfikatory, które są udostępniane podczas dołączania. (W tym przykładzie identyfikatory są ustawione na 1001). Jeśli identyfikatory nie są poprawnie ustawione, nie będzie można uzyskać dostępu do woluminów. Identyfikatory grup sapsys i kont użytkowników hn1adm i sapadm muszą być takie same na wszystkich maszynach wirtualnych.

    # Create user group 
    sudo groupadd -g 1001 sapsys
    
    # Create  users 
    sudo useradd hn1adm -u 1001 -g 1001 -d /usr/sap/HN1/home -c "SAP HANA Database System" -s /bin/sh
    sudo useradd sapadm -u 1002 -g 1001 -d /home/sapadm -c "SAP Local Administrator" -s /bin/sh
    
    # Set the password  for both user ids
    sudo passwd hn1adm
    sudo passwd sapadm
    
  6. [A] Instalowanie udostępnionych woluminów usługi Azure NetApp Files.

    sudo vi /etc/fstab
    
    # Add the following entries
    10.23.1.5:/HN1-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.23.1.6:/HN1-data-mnt00002 /hana/data/HN1/mnt00002  nfs   rw,nfsvers=4.1,hard,timeo=600,rsize=262144,wsize=262144,noatime,lock,_netdev,sec=sys  0  0
    10.23.1.4:/HN1-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.23.1.6:/HN1-log-mnt00002 /hana/log/HN1/mnt00002  nfs   rw,nfsvers=4.1,hard,timeo=600,rsize=262144,wsize=262144,noatime,lock,_netdev,sec=sys  0  0
    10.23.1.4:/HN1-shared/shared /hana/shared  nfs   rw,nfsvers=4.1,hard,timeo=600,rsize=262144,wsize=262144,noatime,lock,_netdev,sec=sys  0  0
    
    # Mount all volumes
    sudo mount -a
    

    W przypadku obciążeń, które wymagają 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.

  7. [1] Zainstaluj woluminy specyficzne dla węzła na bazie hanadb1.

    sudo vi /etc/fstab
    
    # Add the following entries
    10.23.1.4:/HN1-shared/usr-sap-hanadb1 /usr/sap/HN1  nfs   rw,nfsvers=4.1,hard,timeo=600,rsize=262144,wsize=262144,noatime,lock,_netdev,sec=sys  0  0
    
    # Mount the volume
    sudo mount -a
    
  8. [2] Zainstaluj woluminy specyficzne dla węzła w bazie danych hanadb2.

    sudo vi /etc/fstab
    
    # Add the following entries
    10.23.1.4:/HN1-shared/usr-sap-hanadb2 /usr/sap/HN1  nfs   rw,nfsvers=4.1,hard,timeo=600,rsize=262144,wsize=262144,noatime,lock,_netdev,sec=sys  0  0
    
    # Mount the volume
    sudo mount -a
    
  9. [3] Zainstaluj woluminy specyficzne dla węzła w bazie danych hanadb3.

    sudo vi /etc/fstab
    
    # Add the following entries
    10.23.1.4:/HN1-shared/usr-sap-hanadb3 /usr/sap/HN1  nfs   rw,nfsvers=4.1,hard,timeo=600,rsize=262144,wsize=262144,noatime,lock,_netdev,sec=sys  0  0
    
    # Mount the volume
    sudo mount -a
    
  10. [A] Sprawdź, czy wszystkie woluminy HANA są zainstalowane przy użyciu protokołu NFS w wersji NFSv4.1.

    sudo nfsstat -m
    
    # Verify that flag vers is set to 4.1 
    # Example from hanadb1
    /hana/data/HN1/mnt00001 from 10.23.1.5:/HN1-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.23.2.4,local_lock=none,addr=10.23.1.5
    /hana/log/HN1/mnt00002 from 10.23.1.6:/HN1-log-mnt00002
     Flags: rw,noatime,vers=4.1,rsize=262144,wsize=262144,namlen=255,hard,proto=tcp,timeo=600,retrans=2,sec=sys,clientaddr=10.23.2.4,local_lock=none,addr=10.23.1.6
    /hana/data/HN1/mnt00002 from 10.23.1.6:/HN1-data-mnt00002
     Flags: rw,noatime,vers=4.1,rsize=262144,wsize=262144,namlen=255,hard,proto=tcp,timeo=600,retrans=2,sec=sys,clientaddr=10.23.2.4,local_lock=none,addr=10.23.1.6
    /hana/log/HN1/mnt00001 from 10.23.1.4:/HN1-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.23.2.4,local_lock=none,addr=10.23.1.4
    /usr/sap/HN1 from 10.23.1.4:/HN1-shared/usr-sap-hanadb1
     Flags: rw,noatime,vers=4.1,rsize=262144,wsize=262144,namlen=255,hard,proto=tcp,timeo=600,retrans=2,sec=sys,clientaddr=10.23.2.4,local_lock=none,addr=10.23.1.4
    /hana/shared from 10.23.1.4:/HN1-shared/shared
     Flags: rw,noatime,vers=4.1,rsize=262144,wsize=262144,namlen=255,hard,proto=tcp,timeo=600,retrans=2,sec=sys,clientaddr=10.23.2.4,local_lock=none,addr=10.23.1.4
    

Instalacja

W tym przykładzie na potrzeby wdrażania platformy SAP HANA w konfiguracji skalowanej w poziomie z węzłem rezerwowym na platformie Azure użyliśmy platformy HANA 2.0 z dodatkiem SP4.

Przygotowanie do instalacji platformy HANA

  1. [A] Przed instalacją platformy HANA ustaw hasło główne. Po zakończeniu instalacji można wyłączyć hasło główne. Wykonaj polecenie jako root passwd.

  2. [1] Sprawdź, czy możesz zalogować się za pośrednictwem protokołu SSH do bazy danych hanadb2 i hanadb3 bez monitowania o podanie hasła.

    ssh root@hanadb2
    ssh root@hanadb3
    
  3. [A] Zainstaluj dodatkowe pakiety, które są wymagane dla platformy HANA 2.0 z dodatkiem SP4. Aby uzyskać więcej informacji, zobacz sap Note 2593824.

    sudo zypper install libgcc_s1 libstdc++6 libatomic1
    
  4. [2], [3] Zmiana własności oprogramowania SAP HANA data i log katalogów na hn1adm.

    # Execute as root
    sudo chown hn1adm:sapsys /hana/data/HN1
    sudo chown hn1adm:sapsys /hana/log/HN1
    

Instalacja platformy HANA

  1. [1] Zainstaluj oprogramowanie SAP HANA, postępując zgodnie z instrukcjami w przewodniku instalacji i aktualizacji oprogramowania SAP HANA 2.0. W tym przykładzie instalujemy oprogramowanie SAP HANA skalowane w poziomie za pomocą wzorca, jednego procesu roboczego i jednego węzła rezerwowego.

    1. Uruchom program hdblcm z katalogu oprogramowania instalacyjnego HANA. Użyj parametru internal_network i przekaż przestrzeń adresową dla podsieci, która jest używana do wewnętrznej komunikacji między węzłami platformy HANA.

      ./hdblcm --internal_network=10.23.3.0/24
      
    2. W wierszu polecenia wprowadź następujące wartości:

      • W polu Wybierz akcję: wprowadź wartość 1 (w przypadku instalacji)
      • W przypadku dodatkowych składników instalacji: wprowadź wartość 2, 3
      • Dla ścieżki instalacji: naciśnij Enter (domyślnie /hana/shared)
      • W polu Nazwa hosta lokalnego: naciśnij Enter, aby zaakceptować wartość domyślną
      • W obszarze Czy chcesz dodać hosty do systemu?: wprowadź y
      • Aby dodać nazwy hostów rozdzielonych przecinkami: wprowadź wartość hanadb2, hanadb3
      • W polu Nazwa użytkownika głównego [root]: naciśnij Enter, aby zaakceptować wartość domyślną
      • W polu Hasło użytkownika głównego: wprowadź hasło użytkownika głównego
      • W przypadku ról dla hosta hanadb2: wprowadź wartość 1 (dla procesu roboczego)
      • W przypadku grupy trybu failover hosta dla hosta hanadb2 [domyślne]: naciśnij Enter, aby zaakceptować wartość domyślną
      • W polu Numer partycji magazynu dla hosta hanadb2 [<<przypisz automatycznie>>]: naciśnij Enter, aby zaakceptować wartość domyślną
      • W przypadku grupy procesów roboczych dla hosta hanadb2 [domyślne]: naciśnij Enter, aby zaakceptować wartość domyślną
      • W obszarze Wybierz role dla hosta hanadb3: wprowadź wartość 2 (w przypadku wstrzymania)
      • W przypadku grupy trybu failover hosta dla hosta hanadb3 [domyślne]: naciśnij Enter, aby zaakceptować wartość domyślną
      • W przypadku grupy procesów roboczych dla hosta hanadb3 [domyślne]: naciśnij Enter, aby zaakceptować wartość domyślną
      • W przypadku identyfikatora systemu SAP HANA wprowadź wartość HN1
      • W polu Numer wystąpienia [00]: wprowadź wartość 03
      • W przypadku lokalnej grupy procesów roboczych hosta [domyślne]: naciśnij Enter, aby zaakceptować wartość domyślną
      • W obszarze Wybierz użycie systemu / Wprowadź indeks [4]: wprowadź wartość 4 (dla niestandardowego)
      • W polu Lokalizacja woluminów danych [/hana/data/HN1]: naciśnij Enter, aby zaakceptować wartość domyślną
      • W polu Lokalizacja woluminów dziennika [/hana/log/HN1]: naciśnij Enter, aby zaakceptować wartość domyślną
      • W polu Ogranicz maksymalną alokację pamięci? [n]: wprowadź n
      • W polu Nazwa hosta certyfikatu dla hosta hanadb1 [hanadb1]: naciśnij Enter, aby zaakceptować wartość domyślną
      • W polu Nazwa hosta certyfikatu dla hosta hanadb2 [hanadb2]: naciśnij Enter, aby zaakceptować wartość domyślną
      • W polu Nazwa hosta certyfikatu dla hosta hanadb3 [hanadb3]: naciśnij Enter, aby zaakceptować wartość domyślną
      • W polu Administrator systemu (hn1adm) Hasło: wprowadź hasło
      • W polu System Database User (system) Password (Hasło użytkownika bazy danych systemu): wprowadź hasło systemu
      • Aby potwierdzić hasło użytkownika (systemu) bazy danych systemu: wprowadź hasło systemu
      • W przypadku ponownego uruchamiania systemu po ponownym uruchomieniu maszyny? [n]: wprowadź n
      • W obszarze Czy chcesz kontynuować (y/n): zweryfikuj podsumowanie i jeśli wszystko wygląda dobrze, wprowadź y
  2. [1] Sprawdź global.ini.

    Wyświetl global.ini i upewnij się, że konfiguracja wewnętrznej komunikacji między węzłami sap HANA jest włączona. Sprawdź sekcję komunikacji . Powinna mieć przestrzeń adresową podsieci hana i listeninterface powinna być ustawiona na .internal. Sprawdź sekcję internal_hostname_resolution . Powinien mieć adresy IP maszyn wirtualnych HANA należących do podsieci hana .

    sudo cat /usr/sap/HN1/SYS/global/hdb/custom/config/global.ini
    
    # Example 
    #global.ini last modified 2019-09-10 00:12:45.192808 by hdbnameserve
    [communication]
    internal_network = 10.23.3/24
    listeninterface = .internal
    [internal_hostname_resolution]
    10.23.3.4 = hanadb1
    10.23.3.5 = hanadb2
    10.23.3.6 = hanadb3
    
  3. [1] Dodaj mapowanie hosta, aby upewnić się, że adresy IP klienta są używane do komunikacji klienta. Dodaj sekcję public_host_resolutioni dodaj odpowiednie adresy IP z podsieci klienta.

    sudo vi /usr/sap/HN1/SYS/global/hdb/custom/config/global.ini
    
    #Add the section
    [public_hostname_resolution]
    map_hanadb1 = 10.23.0.5
    map_hanadb2 = 10.23.0.6
    map_hanadb3 = 10.23.0.7
    
  4. [1] Uruchom ponownie platformę SAP HANA, aby aktywować zmiany.

    sudo -u hn1adm /usr/sap/hostctrl/exe/sapcontrol -nr 03 -function StopSystem HDB
    sudo -u hn1adm /usr/sap/hostctrl/exe/sapcontrol -nr 03 -function StartSystem HDB
    
  5. [1] Sprawdź, czy interfejs klienta będzie używać adresów IP z podsieci client do komunikacji.

    sudo -u hn1adm /usr/sap/HN1/HDB03/exe/hdbsql -u SYSTEM -p "password" -i 03 -d SYSTEMDB 'select * from SYS.M_HOST_INFORMATION'|grep net_publicname
    
    # Expected result
    "hanadb3","net_publicname","10.23.0.7"
    "hanadb2","net_publicname","10.23.0.6"
    "hanadb1","net_publicname","10.23.0.5"
    

    Aby uzyskać informacje o sposobie weryfikowania konfiguracji, zobacz Artykuł SAP Note 2183363 — konfiguracja sieci wewnętrznej SAP HANA.

  6. Aby zoptymalizować platformę SAP HANA dla bazowego magazynu usługi Azure NetApp Files, ustaw następujące parametry platformy SAP HANA:

    • max_parallel_io_requests128
    • async_read_submitna
    • async_write_submit_activena
    • async_write_submit_blockscały

    Aby uzyskać więcej informacji, zobacz Konfiguracja stosu we/wy dla oprogramowania SAP HANA.

    Począwszy od systemów SAP HANA 2.0, można ustawić parametry w pliku global.ini. Aby uzyskać więcej informacji, zobacz sap Note 1999930.

    W przypadku systemów SAP HANA 1.0 w wersjach SPS12 i starszych można ustawić te parametry podczas instalacji, zgodnie z opisem w artykule SAP Note 2267798.

  7. Magazyn używany przez usługę Azure NetApp Files ma ograniczenie rozmiaru pliku o rozmiarze 16 terabajtów (TB). Platforma SAP HANA nie jest niejawnie świadoma ograniczenia magazynu i nie utworzy automatycznie nowego pliku danych po osiągnięciu limitu rozmiaru pliku o rozmiarze 16 TB. Gdy platforma SAP HANA próbuje zwiększyć rozmiar pliku powyżej 16 TB, próba spowoduje błędy i ostatecznie awarię serwera indeksowania.

    Ważne

    Aby zapobiec próbie zwiększenia liczby plików danych przez platformę SAP HANA poza limitem 16 TB podsystemu magazynowania, ustaw następujące parametry w pliku global.ini.

    • datavolume_striping = true
    • datavolume_striping_size_gb = 15000 Aby uzyskać więcej informacji, zobacz sap Note 2400005. Należy pamiętać o 2631285 sap Note.

Testowanie trybu failover platformy SAP HANA

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.

  1. Symulowanie awarii węzła w węźle roboczym sap HANA. Należy wykonać następujące czynności:

    1. Przed symulowanie awarii węzła uruchom następujące polecenia jako hn1adm, aby przechwycić stan środowiska:

      # Check the landscape status
      python /usr/sap/HN1/HDB03/exe/python_support/landscapeHostConfiguration.py
      | Host    | Host   | Host   | Failover | Remove | Storage   | Storage   | Failover | Failover | NameServer | NameServer | IndexServer | IndexServer | Host    | Host    | Worker  | Worker  |
      |         | Active | Status | Status   | Status | Config    | Actual    | Config   | Actual   | Config     | Actual     | Config      | Actual      | Config  | Actual  | Config  | Actual  |
      |         |        |        |          |        | Partition | Partition | Group    | Group    | Role       | Role       | Role        | Role        | Roles   | Roles   | Groups  | Groups  |
      | ------- | ------ | ------ | -------- | ------ | --------- | --------- | -------- | -------- | ---------- | ---------- | ----------- | ----------- | ------- | ------- | ------- | ------- |
      | hanadb1 | yes    | ok     |          |        |         1 |         1 | default  | default  | master 1   | master     | worker      | master      | worker  | worker  | default | default |
      | hanadb2 | yes    | ok     |          |        |         2 |         2 | default  | default  | master 2   | slave      | worker      | slave       | worker  | worker  | default | default |
      | hanadb3 | yes    | ignore |          |        |         0 |         0 | default  | default  | master 3   | slave      | standby     | standby     | standby | standby | default | -       |
      
      # Check the instance status
      sapcontrol -nr 03  -function GetSystemInstanceList
      GetSystemInstanceList
      OK
      hostname, instanceNr, httpPort, httpsPort, startPriority, features, dispstatus
      hanadb2, 3, 50313, 50314, 0.3, HDB|HDB_WORKER, GREEN
      hanadb1, 3, 50313, 50314, 0.3, HDB|HDB_WORKER, GREEN
      hanadb3, 3, 50313, 50314, 0.3, HDB|HDB_STANDBY, GREEN
      
    2. Aby zasymulować awarię węzła, uruchom następujące polecenie jako katalog główny w węźle procesu roboczego, czyli hanadb2 w tym przypadku:

      echo b > /proc/sysrq-trigger
      
    3. Monitoruj system pod kątem ukończenia pracy w trybie failover. Po zakończeniu pracy w trybie failover przechwyć stan, który powinien wyglądać następująco:

      # Check the instance status
      sapcontrol -nr 03  -function GetSystemInstanceList
      GetSystemInstanceList
      OK
      hostname, instanceNr, httpPort, httpsPort, startPriority, features, dispstatus
      hanadb1, 3, 50313, 50314, 0.3, HDB|HDB_WORKER, GREEN
      hanadb3, 3, 50313, 50314, 0.3, HDB|HDB_STANDBY, GREEN
      hanadb2, 3, 50313, 50314, 0.3, HDB|HDB_WORKER, GRAY
      
      # Check the landscape status
      /usr/sap/HN1/HDB03/exe/python_support> python landscapeHostConfiguration.py
      | Host    | Host   | Host   | Failover | Remove | Storage   | Storage   | Failover | Failover | NameServer | NameServer | IndexServer | IndexServer | Host    | Host    | Worker  | Worker  |
      |         | Active | Status | Status   | Status | Config    | Actual    | Config   | Actual   | Config     | Actual     | Config      | Actual      | Config  | Actual  | Config  | Actual  |
      |         |        |        |          |        | Partition | Partition | Group    | Group    | Role       | Role       | Role        | Role        | Roles   | Roles   | Groups  | Groups  |
      | ------- | ------ | ------ | -------- | ------ | --------- | --------- | -------- | -------- | ---------- | ---------- | ----------- | ----------- | ------- | ------- | ------- | ------- |
      | hanadb1 | yes    | ok     |          |        |         1 |         1 | default  | default  | master 1   | master     | worker      | master      | worker  | worker  | default | default |
      | hanadb2 | no     | info   |          |        |         2 |         0 | default  | default  | master 2   | slave      | worker      | standby     | worker  | standby | default | -       |
      | hanadb3 | yes    | info   |          |        |         0 |         2 | default  | default  | master 3   | slave      | standby     | slave       | standby | worker  | default | default |
      

      Ważne

      Gdy węzeł doświadcza paniki jądra, unikaj opóźnień w trybie failover platformy SAP HANA, ustawiając wartość kernel.panic 20 sekund na wszystkich maszynach wirtualnych HANA. Konfiguracja jest wykonywana w pliku /etc/sysctl. Uruchom ponownie maszyny wirtualne, aby aktywować zmianę. Jeśli ta zmiana nie zostanie wykonana, przejście w tryb failover może potrwać 10 lub więcej minut, gdy w węźle występuje panika jądra.

  2. Zabij serwer nazw, wykonując następujące czynności:

    1. Przed testem sprawdź stan środowiska, uruchamiając następujące polecenia jako hn1adm:

      #Landscape status 
      python /usr/sap/HN1/HDB03/exe/python_support/landscapeHostConfiguration.py
      | Host    | Host   | Host   | Failover | Remove | Storage   | Storage   | Failover | Failover | NameServer | NameServer | IndexServer | IndexServer | Host    | Host    | Worker | Worker  |
      |         | Active | Status | Status   | Status | Config    | Actual    | Config   | Actual   | Config     | Actual     | Config      | Actual      | Config  | Actual  | Config  | Actual  |
      |         |        |        |          |        | Partition | Partition | Group    | Group    | Role       | Role       | Role        | Role        | Roles   | Roles   | Groups  | Groups  |
      | ------- | ------ | ------ | -------- | ------ | --------- | --------- | -------- | -------- | ---------- | ---------- | ----------- | ----------- | ------- | ------- | ------- | ------- |
      | hanadb1 | yes    | ok     |          |        |         1 |         1 | default  | default  | master 1   | master     | worker      | master      | worker  | worker  | default | default |
      | hanadb2 | yes    | ok     |          |        |         2 |         2 | default  | default  | master 2   | slave      | worker      | slave       | worker  | worker  | default | default |
      | hanadb3 | no     | ignore |          |        |         0 |         0 | default  | default  | master 3   | slave      | standby     | standby     | standby | standby | default | -       |
      
      # Check the instance status
      sapcontrol -nr 03  -function GetSystemInstanceList
      GetSystemInstanceList
      OK
      hostname, instanceNr, httpPort, httpsPort, startPriority, features, dispstatus
      hanadb2, 3, 50313, 50314, 0.3, HDB|HDB_WORKER, GREEN
      hanadb1, 3, 50313, 50314, 0.3, HDB|HDB_WORKER, GREEN
      hanadb3, 3, 50313, 50314, 0.3, HDB|HDB_STANDBY, GRAY
      
    2. Uruchom następujące polecenia jako hn1adm w aktywnym węźle głównym, czyli hanadb1 w tym przypadku:

      hn1adm@hanadb1:/usr/sap/HN1/HDB03> HDB kill
      

      Węzeł rezerwowy hanadb3 przejmuje funkcję węzła głównego. Oto stan zasobu po zakończeniu testu pracy w trybie failover:

      # Check the instance status
      sapcontrol -nr 03 -function GetSystemInstanceList
      GetSystemInstanceList
      OK
      hostname, instanceNr, httpPort, httpsPort, startPriority, features, dispstatus
      hanadb2, 3, 50313, 50314, 0.3, HDB|HDB_WORKER, GREEN
      hanadb1, 3, 50313, 50314, 0.3, HDB|HDB_WORKER, GRAY
      hanadb3, 3, 50313, 50314, 0.3, HDB|HDB_STANDBY, GREEN
      
      # Check the landscape status
      python /usr/sap/HN1/HDB03/exe/python_support/landscapeHostConfiguration.py
      | Host    | Host   | Host   | Failover | Remove | Storage   | Storage   | Failover | Failover | NameServer | NameServer | IndexServer | IndexServer | Host    | Host    | Worker  | Worker  |
      |         | Active | Status | Status   | Status | Config    | Actual    | Config   | Actual   | Config     | Actual     | Config      | Actual      | Config  | Actual  | Config  | Actual  |
      |         |        |        |          |        | Partition | Partition | Group    | Group    | Role       | Role       | Role        | Role        | Roles   | Roles   | Groups  | Groups  |
      | ------- | ------ | ------ | -------- | ------ | --------- | --------- | -------- | -------- | ---------- | ---------- | ----------- | ----------- | ------- | ------- | ------- | ------- |
      | hanadb1 | no     | info   |          |        |         1 |         0 | default  | default  | master 1   | slave      | worker      | standby     | worker  | standby | default | -       |
      | hanadb2 | yes    | ok     |          |        |         2 |         2 | default  | default  | master 2   | slave      | worker      | slave       | worker  | worker  | default | default |
      | hanadb3 | yes    | info   |          |        |         0 |         1 | default  | default  | master 3   | master     | standby     | master      | standby | worker  | default | default |
      
    3. Uruchom ponownie wystąpienie HANA w bazie danych hanadb1 (czyli na tej samej maszynie wirtualnej, na której został zabity serwer nazw). Węzeł hanadb1 ponownie dołączy do środowiska i zachowa rolę rezerwową.

      hn1adm@hanadb1:/usr/sap/HN1/HDB03> HDB start
      

      Po uruchomieniu oprogramowania SAP HANA w bazie danych hanadb1 należy oczekiwać następującego stanu:

      # Check the instance status
      sapcontrol -nr 03 -function GetSystemInstanceList
      GetSystemInstanceList
      OK
      hostname, instanceNr, httpPort, httpsPort, startPriority, features, dispstatus
      hanadb1, 3, 50313, 50314, 0.3, HDB|HDB_WORKER, GREEN
      hanadb2, 3, 50313, 50314, 0.3, HDB|HDB_WORKER, GREEN
      hanadb3, 3, 50313, 50314, 0.3, HDB|HDB_STANDBY, GREEN
      # Check the landscape status
      python /usr/sap/HN1/HDB03/exe/python_support/landscapeHostConfiguration.py
      | Host    | Host   | Host   | Failover | Remove | Storage   | Storage   | Failover | Failover | NameServer | NameServer | IndexServer | IndexServer | Host    | Host    | Worker  | Worker  |
      |         | Active | Status | Status   | Status | Config    | Actual    | Config   | Actual   | Config     | Actual     | Config      | Actual      | Config  | Actual  | Config  | Actual  |
      |         |        |        |          |        | Partition | Partition | Group    | Group    | Role       | Role       | Role        | Role        | Roles   | Roles   | Groups  | Groups  |
      | ------- | ------ | ------ | -------- | ------ | --------- | --------- | -------- | -------- | ---------- | ---------- | ----------- | ----------- | ------- | ------- | ------- | ------- |
      | hanadb1 | yes    | info   |          |        |         1 |         0 | default  | default  | master 1   | slave      | worker      | standby     | worker  | standby | default | -       |
      | hanadb2 | yes    | ok     |          |        |         2 |         2 | default  | default  | master 2   | slave      | worker      | slave       | worker  | worker  | default | default |
      | hanadb3 | yes    | info   |          |        |         0 |         1 | default  | default  | master 3   | master     | standby     | master      | standby | worker  | default | default |
      
    4. Ponownie zabij serwer nazw w aktualnie aktywnym węźle głównym (czyli w węźle hanadb3).

      hn1adm@hanadb3:/usr/sap/HN1/HDB03> HDB kill
      

      Węzeł hanadb1 wznowi rolę węzła głównego. Po zakończeniu testu trybu failover stan będzie wyglądać następująco:

      # Check the instance status
      sapcontrol -nr 03  -function GetSystemInstanceList & python /usr/sap/HN1/HDB03/exe/python_support/landscapeHostConfiguration.py
      GetSystemInstanceList
      OK
      hostname, instanceNr, httpPort, httpsPort, startPriority, features, dispstatus
      GetSystemInstanceList
      OK
      hostname, instanceNr, httpPort, httpsPort, startPriority, features, dispstatus
      hanadb1, 3, 50313, 50314, 0.3, HDB|HDB_WORKER, GREEN
      hanadb2, 3, 50313, 50314, 0.3, HDB|HDB_WORKER, GREEN
      hanadb3, 3, 50313, 50314, 0.3, HDB|HDB_STANDBY, GRAY
      
      # Check the landscape status
      python /usr/sap/HN1/HDB03/exe/python_support/landscapeHostConfiguration.py
      | Host    | Host   | Host   | Failover | Remove | Storage   | Storage   | Failover | Failover | NameServer | NameServer | IndexServer | IndexServer | Host    | Host    | Worker  | Worker  |
      |         | Active | Status | Status   | Status | Config    | Actual    | Config   | Actual   | Config     | Actual     | Config      | Actual      | Config  | Actual  | Config  | Actual  |
      |         |        |        |          |        | Partition | Partition | Group    | Group    | Role       | Role       | Role        | Role        | Roles   | Roles   | Groups  | Groups  |
      | ------- | ------ | ------ | -------- | ------ | --------- | --------- | -------- | -------- | ---------- | ---------- | ----------- | ----------- | ------- | ------- | ------- | ------- |
      | hanadb1 | yes    | ok     |          |        |         1 |         1 | default  | default  | master 1   | master     | worker      | master      | worker  | worker  | default | default |
      | hanadb2 | yes    | ok     |          |        |         2 |         2 | default  | default  | master 2   | slave      | worker      | slave       | worker  | worker  | default | default |
      | hanadb3 | no     | ignore |          |        |         0 |         0 | default  | default  | master 3   | slave      | standby     | standby     | standby | standby | default | -       |
      
    5. Uruchom platformę SAP HANA w bazie danych hanadb3, która będzie gotowa do użycia jako węzeł rezerwowy.

      hn1adm@hanadb3:/usr/sap/HN1/HDB03> HDB start
      

      Po uruchomieniu oprogramowania SAP HANA w bazie danych hanadb3 stan wygląda następująco:

      # Check the instance status
      sapcontrol -nr 03  -function GetSystemInstanceList & python /usr/sap/HN1/HDB03/exe/python_support/landscapeHostConfiguration.py
      GetSystemInstanceList
      OK
      hostname, instanceNr, httpPort, httpsPort, startPriority, features, dispstatus
      GetSystemInstanceList
      OK
      hostname, instanceNr, httpPort, httpsPort, startPriority, features, dispstatus
      hanadb1, 3, 50313, 50314, 0.3, HDB|HDB_WORKER, GREEN
      hanadb2, 3, 50313, 50314, 0.3, HDB|HDB_WORKER, GREEN
      hanadb3, 3, 50313, 50314, 0.3, HDB|HDB_STANDBY, GRAY
      # Check the landscape status
      python /usr/sap/HN1/HDB03/exe/python_support/landscapeHostConfiguration.py
      | Host    | Host   | Host   | Failover | Remove | Storage   | Storage   | Failover | Failover | NameServer | NameServer | IndexServer | IndexServer | Host    | Host    | Worker  | Worker  |
      |         | Active | Status | Status   | Status | Config    | Actual    | Config   | Actual   | Config     | Actual     | Config      | Actual      | Config  | Actual  | Config  | Actual  |
      |         |        |        |          |        | Partition | Partition | Group    | Group    | Role       | Role       | Role        | Role        | Roles   | Roles   | Groups  | Groups  |
      | ------- | ------ | ------ | -------- | ------ | --------- | --------- | -------- | -------- | ---------- | ---------- | ----------- | ----------- | ------- | ------- | ------- | ------- |
      | hanadb1 | yes    | ok     |          |        |         1 |         1 | default  | default  | master 1   | master     | worker      | master      | worker  | worker  | default | default |
      | hanadb2 | yes    | ok     |          |        |         2 |         2 | default  | default  | master 2   | slave      | worker      | slave       | worker  | worker  | default | default |
      | hanadb3 | no     | ignore |          |        |         0 |         0 | default  | default  | master 3   | slave      | standby     | standby     | standby | standby | default | -       |
      

Następne kroki