Wdrażanie systemu SAP HANA skalowalnego w poziomie z węzłem rezerwowym na maszynach wirtualnych platformy Azure przy użyciu usługi Azure NetApp Files w systemie Red Hat Enterprise Linux

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 z systemem Linux w usłudze Azure Red Hat Enterprise Linux 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 Red Hat Enterprise Linux dla oprogramowania SAP 7.6.

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.

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.

SAP NetWeaver High Availability overview

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.9.1.0/26
  • storage 10.9.3.0/26
  • hana 10.9.2.0/26
  • anf 10.9.0.0/26 (podsieć delegowana do usługi Azure NetApp Files)

Konfigurowanie infrastruktury usługi Azure NetApp Files

Przed przystąpieniem do 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 woluminów usługi Azure NetApp Files dla skalowanego w poziomie oprogramowania SAP HANA z autonomicznymi węzłami należy pamiętać o ważnych zagadnieniach opisanych w woluminach NFS w wersji 4.1 w usłudze Azure NetApp Files dla platformy 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 dla platformy 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 . 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.9.0.4/ HN1-data-mnt00001, nfs://10.9.0.4/ HN1-log-mnt00001 itd., to ścieżki plików woluminów usługi Azure NetApp Files.

    • wolumin HN1-data-mnt00001 (nfs://10.9.0.4/ HN1-data-mnt00001)
    • wolumin HN1-data-mnt00002 (nfs://10.9.0.4/ HN1-data-mnt00002)
    • wolumin HN1-log-mnt00001 (nfs://10.9.0.4/ HN1-log-mnt00001)
    • wolumin HN1-log-mnt00002 (nfs://10.9.0.4/ HN1-log-mnt00002)
    • wolumin HN1 współużytkowany (nfs://10.9.0.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 na jednym woluminie i wszystkie instalacje dzienników na innym 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 storagehana. 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 systemu Red Hat Enterprise Linux w galerii platformy Azure obsługiwanej przez platformę SAP HANA. W tym przykładzie użyliśmy obrazu RHEL-SAP-HA 7.6.

    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:

    a. Przejdź do maszyny wirtualnej w witrynie Azure Portal.

    b. W okienku po lewej stronie wybierz pozycję Maszyny wirtualne. Odfiltruj nazwę maszyny wirtualnej (na przykład hanadb1), a następnie wybierz maszynę wirtualną.

    c. W okienku Przegląd wybierz pozycję Zatrzymaj , aby cofnąć przydział maszyny wirtualnej.

    d. 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 .

    e. Wybierz pozycję Zapisz.

    f. Powtórz kroki b przez e dla pozostałych maszyn wirtualnych (w naszym przykładzie hanadb2 i hanadb3).

    g. 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:

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

    b. 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:

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

    b. 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.9.3.4   hanadb1-storage
     10.9.3.5   hanadb2-storage
     10.9.3.6   hanadb3-storage
     # Client
     10.9.1.5   hanadb1
     10.9.1.6   hanadb2
     10.9.1.7   hanadb3
     # Hana
     10.9.2.4   hanadb1-hana
     10.9.2.5   hanadb2-hana
     10.9.2.6   hanadb3-hana
     
  2. [A] Dodaj trasę sieciową, aby komunikacja z usługą Azure NetApp Files odbywała się za pośrednictwem interfejsu sieciowego magazynu.

    W tym przykładzie zostanie użyta Networkmanager do skonfigurowania dodatkowej trasy sieciowej. W poniższych instrukcjach przyjęto założenie, że interfejs sieciowy magazynu to eth1.
    Najpierw określ nazwę połączenia dla urządzenia eth1. W tym przykładzie nazwa połączenia dla urządzenia eth1 to Wired connection 1.

    
     # Execute as root
     nmcli connection
     # Result
     #NAME                UUID                                  TYPE      DEVICE
     #System eth0         5fb06bd0-0bb0-7ffb-45f1-d6edd65f3e03  ethernet  eth0
     #Wired connection 1  4b0789d1-6146-32eb-83a1-94d61f8d60a7  ethernet  eth1
     

    Następnie skonfiguruj dodatkową trasę do sieci delegowanej usługi Azure NetApp Files za pośrednictwem polecenia eth1.

    
     # Add the following route 
     # ANFDelegatedSubnet/cidr via StorageSubnetGW dev StorageNetworkInterfaceDevice
     nmcli connection modify "Wired connection 1" +ipv4.routes "10.9.0.0/26 10.9.3.1"
     

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

  3. [A] Zainstaluj pakiet klienta NFS.

    
     yum install nfs-utils
     
  4. [A] Przygotowanie systemu operacyjnego do uruchamiania oprogramowania SAP HANA w usłudze Azure NetApp przy użyciu systemu plików NFS zgodnie z opisem w temacie Sap note 3024346 — Linux Kernel Ustawienia for 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 dodatkowymi ustawieniami optymalizacji.

    
     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
     

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 2382421 uwagi SAP.

  1. [A] Dostosuj ustawienia sunrpc zgodnie z zaleceniami w notatce SAP 3024346 — Jądra systemu Linux Ustawienia dla systemu plików NetApp NFS.

    
     vi /etc/modprobe.d/sunrpc.conf
     # Insert the following line
     options sunrpc tcp_max_slot_table_entries=128
     
  2. [A] Red Hat dla konfiguracji platformy HANA.

    Skonfiguruj system RHEL zgodnie z opisem w 2292690 SAP Note, 2455582, 2593824 i notatce Red Hat 2447641.

    Uwaga

    W przypadku instalowania programu HANA 2.0 SP04 konieczne będzie zainstalowanie pakietu compat-sap-c++-7 zgodnie z opisem w temacie SAP note 2593824, zanim będzie można zainstalować oprogramowanie SAP HANA.

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.9.0.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.9.0.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]
     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.9.0.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
     

    Aby uzyskać więcej informacji na temat zmiany nfs4_disable_idmapping parametru, zobacz https://access.redhat.com/solutions/1749883.

  5. [A] Instalowanie udostępnionych woluminów usługi Azure NetApp Files.

    
     sudo vi /etc/fstab
     # Add the following entries
     10.9.0.4:/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.9.0.4:/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.9.0.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.9.0.4:/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.9.0.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.

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

    
     sudo vi /etc/fstab
     # Add the following entries
     10.9.0.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 
     
  7. [2] Zainstaluj woluminy specyficzne dla węzła w bazie danych hanadb2.

    
     sudo vi /etc/fstab
     # Add the following entries
     10.9.0.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 
     
  8. [3] Zainstaluj woluminy specyficzne dla węzła w bazie danych hanadb3.

    
     sudo vi /etc/fstab
     # Add the following entries
     10.9.0.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 
     
  9. [A] Sprawdź, czy wszystkie woluminy HANA są zainstalowane przy użyciu protokołu NFS w wersji NFSv4.

    
    sudo nfsstat -m
    # Verify that flag vers is set to 4.1 
    # Example from hanadb1
    /hana/data/HN1/mnt00001 from 10.9.0.4:/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.9.3.4,local_lock=none,addr=10.9.0.4
    /hana/log/HN1/mnt00002 from 10.9.0.4:/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.9.3.4,local_lock=none,addr=10.9.0.4
    /hana/data/HN1/mnt00002 from 10.9.0.4:/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.9.3.4,local_lock=none,addr=10.9.0.4
    /hana/log/HN1/mnt00001 from 10.9.0.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.9.3.4,local_lock=none,addr=10.9.0.4
    /usr/sap/HN1 from 10.9.0.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.9.3.4,local_lock=none,addr=10.9.0.4
    /hana/shared from 10.9.0.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.9.3.4,local_lock=none,addr=10.9.0.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 rootpasswd.

  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.

    
     yum install libgcc_s1 libstdc++6 compat-sap-c++-7 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
     
  5. [A] Tymczasowo wyłącz zaporę, aby nie zakłócała instalacji platformy HANA. Można ją ponownie włączyć po zakończeniu instalacji platformy HANA.

    
     # Execute as root
     systemctl stop firewalld
     systemctl disable firewalld
    

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.

    a. 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.9.2.0/26
     

    b. 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 klawisz Enter (domyślnie /hana/shared)
    • W polu Nazwa hosta lokalnego: naciśnij klawisz 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 klawisz Enter, aby zaakceptować wartość domyślną
    • 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 klawisz Enter, aby zaakceptować wartość domyślną
    • W polu Numer partycji magazynu dla hosta hanadb2 [<<przypisz automatycznie>>]: naciśnij klawisz Enter, aby zaakceptować wartość domyślną
    • W przypadku grupy procesów roboczych dla hosta hanadb2 [domyślne]: naciśnij klawisz 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 klawisz Enter, aby zaakceptować wartość domyślną
    • W przypadku grupy procesów roboczych dla hosta hanadb3 [domyślne]: naciśnij klawisz 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 klawisz 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 klawisz Enter, aby zaakceptować wartość domyślną
    • W polu Lokalizacja woluminów dziennika [/hana/log/HN1]: naciśnij klawisz 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 klawisz Enter, aby zaakceptować wartość domyślną
    • W polu Nazwa hosta certyfikatu dla hosta hanadb2 [hanadb2]: naciśnij klawisz Enter, aby zaakceptować wartość domyślną
    • W polu Nazwa hosta certyfikatu dla hosta hanadb3 [hanadb3]: naciśnij klawisz Enter, aby zaakceptować wartość domyślną
    • W polu System Administracja istrator (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] Weryfikowanie pliku global.ini

    Wyświetl plik 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.9.2.0/26
     listeninterface = .internal
     [internal_hostname_resolution]
     10.9.2.4 = hanadb1
     10.9.2.5 = hanadb2
     10.9.2.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.9.1.5
     map_hanadb2 = 10.9.1.6
     map_hanadb3 = 10.9.1.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.

    
     # Execute as 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.9.1.7"
     "hanadb2","net_publicname","10.9.1.6"
     "hanadb1","net_publicname","10.9.1.5"
    

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

  6. [A] Ponownie włącz zaporę.

    • Zatrzymywanie platformy HANA

      
         sudo -u hn1adm /usr/sap/hostctrl/exe/sapcontrol -nr 03 -function StopSystem HDB
        
    • Ponowne włączanie zapory

      
         # Execute as root
         systemctl start firewalld
         systemctl enable firewalld
        
    • Otwieranie niezbędnych portów zapory

      Ważne

      Utwórz reguły zapory, aby zezwolić na komunikację między węzłami platformy HANA i ruch klienta. Wymagane porty są wyświetlane na liście portów TCP/IP wszystkich produktów SAP. Poniższe polecenia są tylko przykładem. W tym scenariuszu z używanym numerem systemowym 03.

      
         # Execute as root
         sudo firewall-cmd --zone=public --add-port={30301,30303,30306,30307,30313,30315,30317,30340,30341,30342,1128,1129,40302,40301,40307,40303,40340,50313,50314,30310,30302}/tcp --permanent
         sudo firewall-cmd --zone=public --add-port={30301,30303,30306,30307,30313,30315,30317,30340,30341,30342,1128,1129,40302,40301,40307,40303,40340,50313,50314,30310,30302}/tcp
        
    • Uruchamianie platformy HANA

      
         sudo -u hn1adm /usr/sap/hostctrl/exe/sapcontrol -nr 03 -function StartSystem HDB
        
  7. 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_submitwykonania
    • async_write_submit_activewykonania
    • async_write_submit_blockswszystkie

    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.

  8. 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

  1. Symulowanie awarii węzła w węźle roboczym sap HANA. Wykonaj następujące czynności:

    a. 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
    

    b. 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
    

    c. 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
     hanadb2, 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 | 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:

    a. 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 | 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
     hanadb3, 3, 50313, 50314, 0.3, HDB|HDB_STANDBY, GREEN
     hanadb1, 3, 50313, 50314, 0.3, HDB|HDB_WORKER, GREEN
    

    b. 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
      hanadb3, 3, 50313, 50314, 0.3, HDB|HDB_STANDBY, GREEN
      hanadb1, 3, 50313, 50314, 0.3, HDB|HDB_WORKER, 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 | 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 |
     

    c. 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
     hanadb2, 3, 50313, 50314, 0.3, HDB|HDB_WORKER, GREEN
     hanadb3, 3, 50313, 50314, 0.3, HDB|HDB_STANDBY, GREEN
     hanadb1, 3, 50313, 50314, 0.3, HDB|HDB_WORKER, 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 |
    

    d. 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
     GetSystemInstanceList
     OK
     hostname, instanceNr, httpPort, httpsPort, startPriority, features, dispstatus
     hanadb2, 3, 50313, 50314, 0.3, HDB|HDB_WORKER, GREEN
     hanadb3, 3, 50313, 50314, 0.3, HDB|HDB_STANDBY, GRAY
     hanadb1, 3, 50313, 50314, 0.3, HDB|HDB_WORKER, 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    | 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 | -       |
    

    e. 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
     hanadb2, 3, 50313, 50314, 0.3, HDB|HDB_WORKER, GREEN
     hanadb3, 3, 50313, 50314, 0.3, HDB|HDB_STANDBY, GREEN
     hanadb1, 3, 50313, 50314, 0.3, HDB|HDB_WORKER, 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    | 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