Wysoka dostępność oprogramowania SAP HANA na maszynach wirtualnych platformy Azure w systemie Red Hat Enterprise Linux

W przypadku programowania lokalnego można użyć replikacji systemu HANA lub użyć magazynu udostępnionego do ustanowienia wysokiej dostępności dla platformy SAP HANA. Na maszynach wirtualnych platformy Azure replikacja systemu HANA na platformie Azure jest obecnie jedyną obsługiwaną funkcją wysokiej dostępności. Replikacja SAP HANA składa się z jednego węzła podstawowego i co najmniej jednego węzła pomocniczego. Zmiany danych w węźle podstawowym są replikowane do węzła pomocniczego synchronicznie lub asynchronicznie.

W tym artykule opisano sposób wdrażania i konfigurowania maszyn wirtualnych, instalowania struktury klastra oraz instalowania i konfigurowania replikacji systemu SAP HANA. W przykładowych konfiguracjach używane są polecenia instalacji, wystąpienie numer 03 i identyfikator systemu HANA HN1 .

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

Omówienie

Aby zapewnić wysoką dostępność, platforma SAP HANA jest zainstalowana na dwóch maszynach wirtualnych. Dane są replikowane przy użyciu replikacji systemu HANA.

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

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

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

Wdrażanie dla systemu Linux

Azure Marketplace zawiera obraz dla systemu Red Hat Enterprise Linux 7.4 dla platformy SAP HANA, którego można użyć do wdrażania nowych maszyn wirtualnych.

Wdrażanie za pomocą szablonu

Aby wdrożyć wszystkie wymagane zasoby, możesz użyć jednego z szablonów szybkiego startu, które znajdują się w usłudze GitHub. Szablon wdraża maszyny wirtualne, moduł równoważenia obciążenia, zestaw dostępności itd. Aby wdrożyć szablon, wykonaj następujące kroki:

  1. Otwórz szablon bazy danych w Azure Portal.
  2. Wprowadź następujące parametry:
    • Identyfikator systemu SAP: wprowadź identyfikator systemu SAP systemu SAP, który chcesz zainstalować. Identyfikator jest używany jako prefiks dla wdrożonych zasobów.
    • Typ systemu operacyjnego: wybierz jedną z dystrybucji systemu Linux. W tym przykładzie wybierz pozycję RHEL 7.
    • Typ bazy danych: wybierz pozycję HANA.
    • Rozmiar systemu SAP: wprowadź liczbę systemów SAPS, którą udostępni nowy system. Jeśli nie masz pewności, ile oprogramowania SAPS wymaga system, poproś partnera ds. technologii SAP lub integratora systemu.
    • Dostępność systemu: wybierz pozycję WYSOKA dostępność.
    • Administracja nazwa użytkownika, Administracja hasło lub klucz SSH: zostanie utworzony nowy użytkownik, który może służyć do logowania się na maszynie.
    • Identyfikator podsieci: jeśli chcesz wdrożyć maszynę wirtualną w istniejącej sieci wirtualnej, w której zdefiniowano podsieć, do której ma zostać przypisana maszyna wirtualna, nadaj identyfikatorowi tej konkretnej podsieci. Identyfikator zwykle wygląda następująco: /subscriptions/subscription ID>/<resourceGroups/<nazwa grupy> zasobów/providers/Microsoft.Network/virtualNetworks/<nazwa> sieci wirtualnej/podsieci/nazwa podsieci/<podsieci>. Pozostaw wartość pustą, jeśli chcesz utworzyć nową sieć wirtualną

Wdrożenie ręczne

  1. Utwórz grupę zasobów.
  2. Utwórz sieć wirtualną.
  3. Utwórz zestaw dostępności.
    Ustaw maksymalną domenę aktualizacji.
  4. Utwórz moduł równoważenia obciążenia (wewnętrzny). Zalecamy moduł równoważenia obciążenia w warstwie Standardowa.
    • Wybierz sieć wirtualną utworzoną w kroku 2.
  5. Utwórz maszynę wirtualną 1.
    Użyj co najmniej oprogramowania Red Hat Enterprise Linux 7.4 dla oprogramowania SAP HANA. W tym przykładzie użyto obrazu Red Hat Enterprise Linux 7.4 dla platformy SAP HANA. Wybierz zestaw dostępności utworzony w kroku 3.
  6. Utwórz maszynę wirtualną 2.
    Użyj co najmniej oprogramowania Red Hat Enterprise Linux 7.4 dla oprogramowania SAP HANA. W tym przykładzie użyto obrazu Red Hat Enterprise Linux 7.4 dla platformy SAP HANA. Wybierz zestaw dostępności utworzony w kroku 3.
  7. Dodawanie dysków danych.

Ważne

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

Uwaga

Jeśli maszyny wirtualne bez publicznych adresów IP są umieszczane w puli zaplecza wewnętrznego (bez publicznego adresu IP) standardowego modułu równoważenia obciążenia platformy Azure, nie będzie żadnych wychodzących połączeń internetowych, chyba że zostanie wykonana dodatkowa konfiguracja, aby umożliwić routing do publicznych punktów końcowych. Aby uzyskać szczegółowe informacje na temat sposobu osiągnięcia łączności wychodzącej, zobacz Łączność z publicznym punktem końcowym dla Virtual Machines przy użyciu usługi Azure usługa Load Balancer w warstwie Standardowa w scenariuszach wysokiej dostępności oprogramowania SAP.

  1. Aby skonfigurować standardowy moduł równoważenia obciążenia, wykonaj następujące kroki konfiguracji:

    1. Najpierw utwórz pulę adresów IP frontonu:

      1. Otwórz moduł równoważenia obciążenia, wybierz pulę adresów IP frontonu i wybierz pozycję Dodaj.
      2. Wprowadź nazwę nowej puli adresów IP frontonu (na przykład frontonu hana-fronton).
      3. Ustaw wartość Przypisanie na Statyczne i wprowadź adres IP (na przykład 10.0.0.13).
      4. Wybierz przycisk OK.
      5. Po utworzeniu nowej puli adresów IP frontonu zanotuj adres IP puli.
    2. Następnie utwórz pulę zaplecza:

      1. Otwórz moduł równoważenia obciążenia, wybierz pule zaplecza i wybierz pozycję Dodaj.
      2. Wprowadź nazwę nowej puli zaplecza (na przykład hana-backend).
      3. Wybierz pozycję Dodaj maszynę wirtualną.
      4. Wybierz pozycję ** Maszyna wirtualna**.
      5. Wybierz maszyny wirtualne klastra SAP HANA i ich adresy IP.
      6. Wybierz pozycję Dodaj.
    3. Następnie utwórz sondę kondycji:

      1. Otwórz moduł równoważenia obciążenia, wybierz pozycję Sondy kondycji i wybierz pozycję Dodaj.
      2. Wprowadź nazwę nowej sondy kondycji (na przykład hana-hp).
      3. Wybierz protokół TCP jako protokół i port 62503. Zachowaj wartość Interwał ustawioną na 5, a wartość progu złej kondycji ustawiona na 2.
      4. Wybierz przycisk OK.
    4. Następnie utwórz reguły równoważenia obciążenia:

      1. Otwórz moduł równoważenia obciążenia, wybierz pozycję Reguły równoważenia obciążenia, a następnie wybierz pozycję Dodaj.
      2. Wprowadź nazwę nowej reguły modułu równoważenia obciążenia (na przykład hana-lb).
      3. Wybierz adres IP frontonu, pulę zaplecza i utworzoną wcześniej sondę kondycji (na przykład hana-frontend, hana-backend i hana-hp).
      4. Wybierz pozycję Porty wysokiej dostępności.
      5. Zwiększ limit czasu bezczynności do 30 minut.
      6. Upewnij się, że włączono zmienny adres IP.
      7. Wybierz przycisk OK.
  2. Alternatywnie tylko wtedy, gdy scenariusz określa użycie podstawowego modułu równoważenia obciążenia, wykonaj następujące kroki konfiguracji:

    1. Skonfiguruj moduł równoważenia obciążenia. Najpierw utwórz pulę adresów IP frontonu:

      1. Otwórz moduł równoważenia obciążenia, wybierz pulę adresów IP frontonu i wybierz pozycję Dodaj.
      2. Wprowadź nazwę nowej puli adresów IP frontonu (na przykład frontonu hana-fronton).
      3. Ustaw wartość Przypisanie na Statyczne i wprowadź adres IP (na przykład 10.0.0.13).
      4. Wybierz przycisk OK.
      5. Po utworzeniu nowej puli adresów IP frontonu zanotuj adres IP puli.
    2. Następnie utwórz pulę zaplecza:

      1. Otwórz moduł równoważenia obciążenia, wybierz pule zaplecza i wybierz pozycję Dodaj.
      2. Wprowadź nazwę nowej puli zaplecza (na przykład hana-backend).
      3. Wybierz pozycję Dodaj maszynę wirtualną.
      4. Wybierz zestaw dostępności utworzony w kroku 3.
      5. Wybierz maszyny wirtualne klastra SAP HANA.
      6. Wybierz przycisk OK.
    3. Następnie utwórz sondę kondycji:

      1. Otwórz moduł równoważenia obciążenia, wybierz pozycję Sondy kondycji i wybierz pozycję Dodaj.
      2. Wprowadź nazwę nowej sondy kondycji (na przykład hana-hp).
      3. Wybierz protokół TCP jako protokół i port 62503. Zachowaj wartość Interwał ustawioną na 5, a wartość progu złej kondycji ustawiona na 2.
      4. Wybierz przycisk OK.
    4. W przypadku oprogramowania SAP HANA 1.0 utwórz reguły równoważenia obciążenia:

      1. Otwórz moduł równoważenia obciążenia, wybierz pozycję Reguły równoważenia obciążenia, a następnie wybierz pozycję Dodaj.
      2. Wprowadź nazwę nowej reguły modułu równoważenia obciążenia (na przykład hana-lb-30315).
      3. Wybierz adres IP frontonu, pulę zaplecza i utworzoną wcześniej sondę kondycji (na przykład hana-frontend).
      4. Pozostaw wartość ProtokółTCP i wprowadź port 30315.
      5. Zwiększ limit czasu bezczynności do 30 minut.
      6. Upewnij się, że włączono zmienny adres IP.
      7. Wybierz przycisk OK.
      8. Powtórz te kroki dla portu 30317.
    5. W przypadku oprogramowania SAP HANA 2.0 utwórz reguły równoważenia obciążenia dla systemowej bazy danych:

      1. Otwórz moduł równoważenia obciążenia, wybierz pozycję Reguły równoważenia obciążenia, a następnie wybierz pozycję Dodaj.
      2. Wprowadź nazwę nowej reguły modułu równoważenia obciążenia (na przykład hana-lb-30313).
      3. Wybierz adres IP frontonu, pulę zaplecza i utworzoną wcześniej sondę kondycji (na przykład hana-frontend).
      4. Pozostaw wartość ProtokółTCP i wprowadź port 30313.
      5. Zwiększ limit czasu bezczynności do 30 minut.
      6. Upewnij się, że włączono zmienny adres IP.
      7. Wybierz przycisk OK.
      8. Powtórz te kroki dla portu 30314.
    6. W przypadku oprogramowania SAP HANA 2.0 najpierw utwórz reguły równoważenia obciążenia dla bazy danych dzierżawy:

      1. Otwórz moduł równoważenia obciążenia, wybierz pozycję Reguły równoważenia obciążenia, a następnie wybierz pozycję Dodaj.
      2. Wprowadź nazwę nowej reguły modułu równoważenia obciążenia (na przykład hana-lb-30340).
      3. Wybierz wcześniej utworzony adres IP frontonu, pulę zaplecza i sondę kondycji (na przykład fronton hana).
      4. Pozostaw wartość ProtokółTCP i wprowadź port 30340.
      5. Zwiększ limit czasu bezczynności do 30 minut.
      6. Upewnij się, że włączono zmienny adres IP.
      7. Wybierz przycisk OK.
      8. Powtórz te kroki dla portów 30341 i 30342.

Aby uzyskać więcej informacji na temat wymaganych portów dla platformy SAP HANA, przeczytaj rozdział Połączenia z bazami danych dzierżawy oprogramowania SAP HANA w przewodniku dotyczącym baz danych dzierżawy oprogramowania SAP HANA lub uwaga sap 2388694.

Ważne

Nie należy włączać sygnatur czasowych TCP na maszynach wirtualnych platformy Azure umieszczonych za Azure Load Balancer. Włączenie sygnatur czasowych PROTOKOŁU TCP spowoduje niepowodzenie sond kondycji. Ustaw net.ipv4.tcp_timestamps parametru na wartość 0. Aby uzyskać szczegółowe informacje, zobacz Load Balancer sondy kondycji. Zobacz również 2382421 notatek SAP.

Instalowanie platformy SAP HANA

Kroki opisane w tej sekcji używają następujących prefiksów:

  • [A]: Krok dotyczy wszystkich węzłów.
  • [1]: Krok dotyczy tylko węzła 1.
  • [2]: Krok dotyczy tylko węzła 2 klastra Pacemaker.
  1. [A] Skonfiguruj układ dysku: Menedżer woluminów logicznych (LVM).

    Zalecamy używanie funkcji LVM dla woluminów, które przechowują pliki danych i dzienników. W poniższym przykładzie założono, że maszyny wirtualne mają dołączone cztery dyski danych używane do tworzenia dwóch woluminów.

    Wyświetl listę wszystkich dostępnych dysków:

    ls /dev/disk/azure/scsi1/lun*
    

    Przykładowe dane wyjściowe:

    
    /dev/disk/azure/scsi1/lun0  /dev/disk/azure/scsi1/lun1  /dev/disk/azure/scsi1/lun2  /dev/disk/azure/scsi1/lun3
    

    Utwórz woluminy fizyczne dla wszystkich dysków, których chcesz użyć:

    sudo pvcreate /dev/disk/azure/scsi1/lun0
    sudo pvcreate /dev/disk/azure/scsi1/lun1
    sudo pvcreate /dev/disk/azure/scsi1/lun2
    sudo pvcreate /dev/disk/azure/scsi1/lun3
    

    Utwórz grupę woluminów dla plików danych. Użyj jednej grupy woluminów dla plików dziennika i jednego katalogu udostępnionego oprogramowania SAP HANA:

    sudo vgcreate vg_hana_data_HN1 /dev/disk/azure/scsi1/lun0 /dev/disk/azure/scsi1/lun1
    sudo vgcreate vg_hana_log_HN1 /dev/disk/azure/scsi1/lun2
    sudo vgcreate vg_hana_shared_HN1 /dev/disk/azure/scsi1/lun3
    

    Utwórz woluminy logiczne. Wolumin liniowy jest tworzony podczas używania lvcreate bez przełącznika -i . Zalecamy utworzenie woluminu rozłożonego w celu uzyskania lepszej wydajności we/wy i wyrównanie rozmiarów pasków do wartości opisanych w konfiguracjach magazynu maszyn wirtualnych SAP HANA. Argument -i powinien być liczbą podstawowych woluminów fizycznych, a -I argumentem jest rozmiar paska. W tym dokumencie dla woluminu danych są używane dwa woluminy fizyczne, więc argument przełącznika -i jest ustawiony na 2. Rozmiar paska woluminu danych to 256KiB. Jeden wolumin fizyczny jest używany dla woluminu dziennika, więc żadne lub -I przełączniki nie -i są jawnie używane dla poleceń woluminu dziennika.

    Ważne

    Użyj przełącznika -i i ustaw go na liczbę bazowego woluminu fizycznego, gdy używasz więcej niż jednego woluminu fizycznego dla każdego woluminu danych, dziennika lub udostępnionych woluminów. Użyj przełącznika -I , aby określić rozmiar paska podczas tworzenia woluminu rozłożonego.
    Zobacz Konfiguracje magazynu maszyn wirtualnych SAP HANA , aby uzyskać zalecane konfiguracje magazynu, w tym rozmiary pasków i liczbę dysków.

    sudo lvcreate -i 2 -I 256 -l 100%FREE -n hana_data vg_hana_data_HN1
    sudo lvcreate -l 100%FREE -n hana_log vg_hana_log_HN1
    sudo lvcreate -l 100%FREE -n hana_shared vg_hana_shared_HN1
    sudo mkfs.xfs /dev/vg_hana_data_HN1/hana_data
    sudo mkfs.xfs /dev/vg_hana_log_HN1/hana_log
    sudo mkfs.xfs /dev/vg_hana_shared_HN1/hana_shared
    

    Utwórz katalogi instalacji i skopiuj identyfikator UUID wszystkich woluminów logicznych:

    sudo mkdir -p /hana/data/HN1
    sudo mkdir -p /hana/log/HN1
    sudo mkdir -p /hana/shared/HN1
    # Write down the ID of /dev/vg_hana_data_HN1/hana_data, /dev/vg_hana_log_HN1/hana_log, and /dev/vg_hana_shared_HN1/hana_shared
    sudo blkid
    

    Utwórz fstab wpisy dla trzech woluminów logicznych:

    sudo vi /etc/fstab
    

    Wstaw następujący wiersz w /etc/fstab pliku:

    /dev/disk/by-uuid/<UUID of /dev/mapper/vg_hana_data_HN1-hana_data> /hana/data/HN1 xfs  defaults,nofail  0  2
    /dev/disk/by-uuid/<UUID of /dev/mapper/vg_hana_log_HN1-hana_log> /hana/log/HN1 xfs  defaults,nofail  0  2
    /dev/disk/by-uuid/<UUID of /dev/mapper/vg_hana_shared_HN1-hana_shared> /hana/shared/HN1 xfs  defaults,nofail  0  2
    

    Zainstaluj nowe woluminy:

    sudo mount -a
    
  2. [A] Skonfiguruj układ dysku: Dyski zwykłe.

    W przypadku systemów demonstracyjnych można umieścić dane platformy HANA i pliki dziennika na jednym dysku. Utwórz partycję na /dev/disk/azure/scsi1/lun0 i sformatuj ją za pomocą plików xfs:

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

    Wstaw ten wiersz w pliku /etc/fstab:

    /dev/disk/by-uuid/<UUID> /hana xfs  defaults,nofail  0  2
    

    Utwórz katalog docelowy i zainstaluj dysk:

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

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

    sudo vi /etc/hosts
    

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

    10.0.0.5 hn1-db-0
    10.0.0.6 hn1-db-1
    
  4. [A] RHEL dla konfiguracji platformy HANA

    Skonfiguruj RHEL zgodnie z opisem w następujących uwagach:

  5. [A] Instalowanie oprogramowania SAP HANA

    Aby zainstalować replikację systemu SAP HANA, zobacz Automatyzowanie replikacji systemu SAP HANA Scale-Up przy użyciu dodatku RHEL HA.

    • Uruchom program hdblcm z dysku DVD platformy HANA. Wprowadź następujące wartości w wierszu polecenia:
    • Wybierz pozycję instalacja: wprowadź wartość 1.
    • Wybierz dodatkowe składniki instalacji: wprowadź wartość 1.
    • Wprowadź ścieżkę instalacji [/hana/shared]: wybierz klawisz Enter.
    • Wprowadź nazwę hosta lokalnego [..]: wybierz klawisz Enter.
    • Czy chcesz dodać dodatkowe hosty do systemu? (y/n) [n]: wybierz klawisz Enter.
    • Wprowadź identyfikator systemu SAP HANA: wprowadź identyfikator SID platformy HANA, na przykład: HN1.
    • Wprowadź numer wystąpienia [00]: wprowadź numer wystąpienia HANA. Wprowadź wartość 03 , jeśli użyto szablonu platformy Azure lub postępuj zgodnie z sekcją wdrażania ręcznego w tym artykule.
    • Wybierz pozycję Tryb bazy danych / Wprowadź indeks [1]: wybierz klawisz Enter.
    • Wybierz pozycję Użycie systemu / Wprowadź indeks [4]: wybierz wartość użycia systemu.
    • Wprowadź lokalizację woluminów danych [/hana/data/HN1]: wybierz klawisz Enter.
    • Wprowadź lokalizację woluminów dziennika [/hana/log/HN1]: wybierz klawisz Enter.
    • Czy ograniczyć maksymalną alokację pamięci? [n]: wybierz klawisz Enter.
    • Wprowadź nazwę hosta certyfikatu dla hosta "..." [...]: wybierz klawisz Enter.
    • Wprowadź hasło użytkownika agenta hosta SAP (sapadm): wprowadź hasło użytkownika agenta hosta.
    • Potwierdź hasło użytkownika agenta hosta SAP (sapadm): wprowadź ponownie hasło użytkownika agenta hosta, aby potwierdzić.
    • Wprowadź hasło administratora systemu (hdbadm): wprowadź hasło administratora systemu.
    • Potwierdź hasło administratora systemu (hdbadm): wprowadź ponownie hasło administratora systemu, aby potwierdzić.
    • Wprowadź katalog główny administratora systemu [/usr/sap/HN1/home]: wybierz klawisz Enter.
    • Wprowadź nazwę Powłoka logowania administratora systemu [/bin/sh]: wybierz klawisz Enter.
    • Wprowadź identyfikator użytkownika administratora systemu [1001]: wybierz klawisz Enter.
    • Wprowadź identyfikator grupy użytkowników (sapsys) [79]: wybierz klawisz Enter.
    • Wprowadź hasło użytkownika bazy danych (SYSTEM): wprowadź hasło użytkownika bazy danych.
    • Potwierdź hasło użytkownika bazy danych (SYSTEM): wprowadź ponownie hasło użytkownika bazy danych, aby potwierdzić.
    • Uruchom ponownie system po ponownym uruchomieniu maszyny? [n]: wybierz klawisz Enter.
    • Czy chcesz kontynuować? (y/n): Zweryfikuj podsumowanie. Wprowadź wartość y , aby kontynuować.
  6. [A] Uaktualnij agenta hosta SAP.

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

    sudo /usr/sap/hostctrl/exe/saphostexec -upgrade -archive <path to SAP Host Agent SAR>
    
  7. [A] Konfigurowanie zapory

    Utwórz regułę zapory dla portu sondy modułu równoważenia obciążenia platformy Azure.

    sudo firewall-cmd --zone=public --add-port=62503/tcp
    sudo firewall-cmd --zone=public --add-port=62503/tcp --permanent
    

Konfigurowanie replikacji systemu SAP HANA 2.0

Kroki opisane w tej sekcji używają następujących prefiksów:

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

    Utwórz reguły zapory, aby zezwolić na replikację systemu HANA i ruch klienta. Wymagane porty znajdują się na liście portów TCP/IP wszystkich produktów SAP. Poniższe polecenia są tylko przykładem zezwalania na replikację systemu HANA 2.0 i ruch klienta do bazy danych SYSTEMDB, HN1 i NW1.

    sudo firewall-cmd --zone=public --add-port=40302/tcp --permanent
    sudo firewall-cmd --zone=public --add-port=40302/tcp
    sudo firewall-cmd --zone=public --add-port=40301/tcp --permanent
    sudo firewall-cmd --zone=public --add-port=40301/tcp
    sudo firewall-cmd --zone=public --add-port=40307/tcp --permanent
    sudo firewall-cmd --zone=public --add-port=40307/tcp
    sudo firewall-cmd --zone=public --add-port=40303/tcp --permanent
    sudo firewall-cmd --zone=public --add-port=40303/tcp
    sudo firewall-cmd --zone=public --add-port=40340/tcp --permanent
    sudo firewall-cmd --zone=public --add-port=40340/tcp
    sudo firewall-cmd --zone=public --add-port=30340/tcp --permanent
    sudo firewall-cmd --zone=public --add-port=30340/tcp
    sudo firewall-cmd --zone=public --add-port=30341/tcp --permanent
    sudo firewall-cmd --zone=public --add-port=30341/tcp
    sudo firewall-cmd --zone=public --add-port=30342/tcp --permanent
    sudo firewall-cmd --zone=public --add-port=30342/tcp
    
  2. [1] Utwórz bazę danych dzierżawy.

    Jeśli używasz oprogramowania SAP HANA 2.0 lub MDC, utwórz bazę danych dzierżawy dla systemu SAP NetWeaver. Zastąp ciąg NW1 identyfikatorem SID systemu SAP.

    Wykonaj polecenie jako <hanasid>adm następujące polecenie:

    hdbsql -u SYSTEM -p "passwd" -i 03 -d SYSTEMDB 'CREATE DATABASE NW1 SYSTEM USER PASSWORD "passwd"'
    
  3. [1] Konfigurowanie replikacji systemu w pierwszym węźle:

    Utwórz kopię zapasową baz danych jako <adm hanasid>:

    hdbsql -d SYSTEMDB -u SYSTEM -p "passwd" -i 03 "BACKUP DATA USING FILE ('initialbackupSYS')"
    hdbsql -d HN1 -u SYSTEM -p "passwd" -i 03 "BACKUP DATA USING FILE ('initialbackupHN1')"
    hdbsql -d NW1 -u SYSTEM -p "passwd" -i 03 "BACKUP DATA USING FILE ('initialbackupNW1')"
    

    Skopiuj pliki infrastruktury kluczy publicznych systemu do lokacji dodatkowej:

    scp /usr/sap/HN1/SYS/global/security/rsecssfs/data/SSFS_HN1.DAT   hn1-db-1:/usr/sap/HN1/SYS/global/security/rsecssfs/data/
    scp /usr/sap/HN1/SYS/global/security/rsecssfs/key/SSFS_HN1.KEY  hn1-db-1:/usr/sap/HN1/SYS/global/security/rsecssfs/key/
    

    Utwórz lokację główną:

    hdbnsutil -sr_enable --name=SITE1
    
  4. [2] Konfigurowanie replikacji systemu w drugim węźle:

    Zarejestruj drugi węzeł, aby rozpocząć replikację systemu. Uruchom następujące polecenie jako <hanasid>adm:

    sapcontrol -nr 03 -function StopWait 600 10
    hdbnsutil -sr_register --remoteHost=hn1-db-0 --remoteInstance=03 --replicationMode=sync --name=SITE2
    
  5. [1] Sprawdzanie stanu replikacji

    Sprawdź stan replikacji i zaczekaj na synchronizację wszystkich baz danych. Jeśli stan pozostanie NIEZNANY, sprawdź ustawienia zapory.

    sudo su - hn1adm -c "python /usr/sap/HN1/HDB03/exe/python_support/systemReplicationStatus.py"
    # | Database | Host     | Port  | Service Name | Volume ID | Site ID | Site Name | Secondary | Secondary | Secondary | Secondary | Secondary     | Replication | Replication | Replication    |
    # |          |          |       |              |           |         |           | Host      | Port      | Site ID   | Site Name | Active Status | Mode        | Status      | Status Details |
    # | -------- | -------- | ----- | ------------ | --------- | ------- | --------- | --------- | --------- | --------- | --------- | ------------- | ----------- | ----------- | -------------- |
    # | SYSTEMDB | hn1-db-0 | 30301 | nameserver   |         1 |       1 | SITE1     | hn1-db-1  |     30301 |         2 | SITE2     | YES           | SYNC        | ACTIVE      |                |
    # | HN1      | hn1-db-0 | 30307 | xsengine     |         2 |       1 | SITE1     | hn1-db-1  |     30307 |         2 | SITE2     | YES           | SYNC        | ACTIVE      |                |
    # | NW1      | hn1-db-0 | 30340 | indexserver  |         2 |       1 | SITE1     | hn1-db-1  |     30340 |         2 | SITE2     | YES           | SYNC        | ACTIVE      |                |
    # | HN1      | hn1-db-0 | 30303 | indexserver  |         3 |       1 | SITE1     | hn1-db-1  |     30303 |         2 | SITE2     | YES           | SYNC        | ACTIVE      |                |
    #
    # status system replication site "2": ACTIVE
    # overall system replication status: ACTIVE
    #
    # Local System Replication State
    # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    #
    # mode: PRIMARY
    # site id: 1
    # site name: SITE1
    

Konfigurowanie replikacji systemu SAP HANA 1.0

Kroki opisane w tej sekcji używają następujących prefiksów:

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

    Utwórz reguły zapory, aby zezwolić na replikację systemu HANA i ruch klienta. Wymagane porty znajdują się na liście portów TCP/IP wszystkich produktów SAP. Następujące polecenia są tylko przykładem, aby umożliwić replikację systemu HANA 2.0. Dostosuj go do instalacji oprogramowania SAP HANA 1.0.

    sudo firewall-cmd --zone=public --add-port=40302/tcp --permanent
    sudo firewall-cmd --zone=public --add-port=40302/tcp
    
  2. [1] Utwórz wymaganych użytkowników.

    Uruchom następujące polecenie jako główny. Pamiętaj, aby zastąpić pogrubione ciągi (identyfikator systemu HANA HN1 i numer wystąpienia 03) wartościami instalacji sap HANA:

    PATH="$PATH:/usr/sap/HN1/HDB03/exe"
    hdbsql -u system -i 03 'CREATE USER hdbhasync PASSWORD "passwd"'
    hdbsql -u system -i 03 'GRANT DATA ADMIN TO hdbhasync'
    hdbsql -u system -i 03 'ALTER USER hdbhasync DISABLE PASSWORD LIFETIME'
    
  3. [A] Utwórz wpis magazynu kluczy.

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

    PATH="$PATH:/usr/sap/HN1/HDB03/exe"
    hdbuserstore SET hdbhaloc localhost:30315 hdbhasync passwd
    
  4. [1] Tworzenie kopii zapasowej bazy danych.

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

    PATH="$PATH:/usr/sap/HN1/HDB03/exe"
    hdbsql -d SYSTEMDB -u system -i 03 "BACKUP DATA USING FILE ('initialbackup')"
    

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

    hdbsql -d HN1 -u system -i 03 "BACKUP DATA USING FILE ('initialbackup')"
    
  5. [1] Konfigurowanie replikacji systemu w pierwszym węźle.

    Utwórz lokację główną jako <adm hanasid>:

    su - hdbadm
    hdbnsutil -sr_enable –-name=SITE1
    
  6. [2] Konfigurowanie replikacji systemu w węźle pomocniczym.

    Zarejestruj lokację dodatkową jako <adm hanasid>:

    HDB stop
    hdbnsutil -sr_register --remoteHost=hn1-db-0 --remoteInstance=03 --replicationMode=sync --name=SITE2
    HDB start
    

Tworzenie klastra pacemaker

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

Implementowanie przypinania replikacji systemu Python SAPHanaSR

Jest to ważny krok, aby zoptymalizować integrację z klastrem i poprawić wykrywanie, gdy potrzebny jest tryb failover klastra. Zdecydowanie zaleca się skonfigurowanie zaczepienia języka Python SAPHanaSR.

  1. [A] Zainstaluj agentów zasobów SAP HANA na wszystkich węzłach. Upewnij się, że włączono repozytorium zawierające pakiet. Nie musisz włączać dodatkowych repozytoriów, jeśli korzystasz z obrazu z włączoną wysoką dostępnością RHEL 8.x.

    # Enable repository that contains SAP HANA resource agents
    sudo subscription-manager repos --enable="rhel-sap-hana-for-rhel-7-server-rpms"
    
    sudo yum install -y resource-agents-sap-hana
    
  2. [A] Zainstaluj "hak replikacji systemu" platformy HANA. Punkt zaczepienia należy zainstalować w obu węzłach bazy danych HANA.

    Porada

    Hak języka Python można zaimplementować tylko dla platformy HANA 2.0.

    1. Przygotuj hak jako root.
     mkdir -p /hana/shared/myHooks
     cp /usr/share/SAPHanaSR/srHook/SAPHanaSR.py /hana/shared/myHooks
     chown -R hn1adm:sapsys /hana/shared/myHooks
    
    1. Zatrzymaj platformę HANA w obu węzłach. Wykonaj jako <adm sid>:
    sapcontrol -nr 03 -function StopSystem
    
    1. Dostosuj global.ini w każdym węźle klastra.
    # add to global.ini
    [ha_dr_provider_SAPHanaSR]
    provider = SAPHanaSR
    path = /hana/shared/myHooks
    execution_order = 1
    
    [trace]
    ha_dr_saphanasr = info
    
  3. [A] Klaster wymaga konfiguracji sudoers w każdym węźle klastra dla <sid>adm. W tym przykładzie, który jest osiągany przez utworzenie nowego pliku. Wykonaj polecenia jako root.

    sudo visudo -f /etc/sudoers.d/20-saphana
    # Insert the following lines and then save
    Cmnd_Alias SITE1_SOK   = /usr/sbin/crm_attribute -n hana_hn1_site_srHook_SITE1 -v SOK -t crm_config -s SAPHanaSR
    Cmnd_Alias SITE1_SFAIL = /usr/sbin/crm_attribute -n hana_hn1_site_srHook_SITE1 -v SFAIL -t crm_config -s SAPHanaSR
    Cmnd_Alias SITE2_SOK   = /usr/sbin/crm_attribute -n hana_hn1_site_srHook_SITE2 -v SOK -t crm_config -s SAPHanaSR
    Cmnd_Alias SITE2_SFAIL = /usr/sbin/crm_attribute -n hana_hn1_site_srHook_SITE2 -v SFAIL -t crm_config -s SAPHanaSR
    hn1adm ALL=(ALL) NOPASSWD: SITE1_SOK, SITE1_SFAIL, SITE2_SOK, SITE2_SFAIL
    Defaults!SITE1_SOK, SITE1_SFAIL, SITE2_SOK, SITE2_SFAIL !requiretty
    
  4. [A] Uruchom oprogramowanie SAP HANA w obu węzłach. Wykonaj polecenie jako <sid>adm.

    sapcontrol -nr 03 -function StartSystem 
    
  5. [1] Sprawdź instalację haka. Wykonaj polecenie sid <>adm w aktywnej lokacji replikacji systemu HANA.

     cdtrace
     awk '/ha_dr_SAPHanaSR.*crm_attribute/ \
     { printf "%s %s %s %s\n",$2,$3,$5,$16 }' nameserver_*
     # Example output
     # 2021-04-12 21:36:16.911343 ha_dr_SAPHanaSR SFAIL
     # 2021-04-12 21:36:29.147808 ha_dr_SAPHanaSR SFAIL
     # 2021-04-12 21:37:04.898680 ha_dr_SAPHanaSR SOK
    

Aby uzyskać więcej informacji na temat implementacji haka replikacji systemu SAP HANA, zobacz Włączanie zaczepienia dostawcy SAP HA/DR.

Tworzenie zasobów klastra SAP HANA

Utwórz topologię platformy HANA. Uruchom następujące polecenia w jednym z węzłów klastra Pacemaker:

sudo pcs property set maintenance-mode=true

# Replace the bold string with your instance number and HANA system ID
sudo pcs resource create SAPHanaTopology_HN1_03 SAPHanaTopology SID=HN1 InstanceNumber=03 \
op start timeout=600 op stop timeout=300 op monitor interval=10 timeout=600 \
clone clone-max=2 clone-node-max=1 interleave=true

Następnie utwórz zasoby platformy HANA.

Uwaga

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

W przypadku tworzenia klastra w systemie RHEL 7.x użyj następujących poleceń:

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

sudo pcs resource create SAPHana_HN1_03 SAPHana SID=HN1 InstanceNumber=03 PREFER_SITE_TAKEOVER=true DUPLICATE_PRIMARY_TIMEOUT=7200 AUTOMATED_REGISTER=false \
op start timeout=3600 op stop timeout=3600 \
op monitor interval=61 role="Slave" timeout=700 \
op monitor interval=59 role="Master" timeout=700 \
op promote timeout=3600 op demote timeout=3600 \
master notify=true clone-max=2 clone-node-max=1 interleave=true

sudo pcs resource create vip_HN1_03 IPaddr2 ip="10.0.0.13"
sudo pcs resource create nc_HN1_03 azure-lb port=62503
sudo pcs resource group add g_ip_HN1_03 nc_HN1_03 vip_HN1_03

sudo pcs constraint order SAPHanaTopology_HN1_03-clone then SAPHana_HN1_03-master symmetrical=false
sudo pcs constraint colocation add g_ip_HN1_03 with master SAPHana_HN1_03-master 4000

sudo pcs property set maintenance-mode=false

W przypadku tworzenia klastra w systemie RHEL 8.x użyj następujących poleceń:

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

sudo pcs resource create SAPHana_HN1_03 SAPHana SID=HN1 InstanceNumber=03 PREFER_SITE_TAKEOVER=true DUPLICATE_PRIMARY_TIMEOUT=7200 AUTOMATED_REGISTER=false \
op start timeout=3600 op stop timeout=3600 \
op monitor interval=61 role="Slave" timeout=700 \
op monitor interval=59 role="Master" timeout=700 \
op promote timeout=3600 op demote timeout=3600 \
promotable notify=true clone-max=2 clone-node-max=1 interleave=true

sudo pcs resource create vip_HN1_03 IPaddr2 ip="10.0.0.13"
sudo pcs resource create nc_HN1_03 azure-lb port=62503
sudo pcs resource group add g_ip_HN1_03 nc_HN1_03 vip_HN1_03

sudo pcs constraint order SAPHanaTopology_HN1_03-clone then SAPHana_HN1_03-clone symmetrical=false
sudo pcs constraint colocation add g_ip_HN1_03 with master SAPHana_HN1_03-clone 4000

sudo pcs property set maintenance-mode=false

Upewnij się, że stan klastra jest prawidłowy i że wszystkie zasoby są uruchomione. Nie jest ważne, w którym węźle są uruchomione zasoby.

Uwaga

Przekroczenia limitu czasu w powyższej konfiguracji to tylko przykłady i może być konieczne dostosowanie do określonej konfiguracji platformy HANA. Na przykład może być konieczne zwiększenie limitu czasu rozpoczęcia, jeśli uruchomienie bazy danych SAP HANA trwa dłużej.

sudo pcs status

# Online: [ hn1-db-0 hn1-db-1 ]
#
# Full list of resources:
#
# azure_fence     (stonith:fence_azure_arm):      Started hn1-db-0
#  Clone Set: SAPHanaTopology_HN1_03-clone [SAPHanaTopology_HN1_03]
#      Started: [ hn1-db-0 hn1-db-1 ]
#  Master/Slave Set: SAPHana_HN1_03-master [SAPHana_HN1_03]
#      Masters: [ hn1-db-0 ]
#      Slaves: [ hn1-db-1 ]
#  Resource Group: g_ip_HN1_03
#      nc_HN1_03  (ocf::heartbeat:azure-lb):      Started hn1-db-0
#      vip_HN1_03 (ocf::heartbeat:IPaddr2):       Started hn1-db-0

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

Począwszy od oprogramowania SAP HANA 2.0 SPS 01 SAP umożliwia aktywne/odczytowe konfiguracje replikacji systemu SAP HANA, w których dodatkowe systemy replikacji systemu SAP HANA mogą być aktywnie używane do obsługi obciążeń intensywnie działających w trybie odczytu. Do obsługi takiej konfiguracji w klastrze wymagany jest drugi wirtualny adres IP, który umożliwia klientom dostęp do pomocniczej bazy danych SAP HANA z obsługą odczytu. Aby upewnić się, że lokacja replikacji dodatkowej nadal może być dostępna po przejęciu klastra musi przenieść wirtualny adres IP wokół z pomocniczym zasobem SAPHana.

W tej sekcji opisano dodatkowe kroki wymagane do zarządzania replikacją systemu z włączoną funkcją HANA Active/Odczyt w klastrze wysokiej dostępności oprogramowania Red Hat z drugim wirtualnym adresem IP.

Przed kontynuowaniem upewnij się, że w pełni skonfigurowany klaster wysokiej dostępności oprogramowania Red Hat zarządza bazą danych SAP HANA zgodnie z opisem w powyższych segmentach dokumentacji.

Wysoka dostępność oprogramowania SAP HANA z obsługą odczytu pomocniczego

Dodatkowa konfiguracja w usłudze Azure Load Balancer dla konfiguracji aktywnej/z obsługą odczytu

Aby wykonać dodatkowe kroki aprowizacji drugiego wirtualnego adresu IP, upewnij się, że skonfigurowano Azure Load Balancer zgodnie z opisem w sekcji Wdrażanie ręczne.

  1. W przypadku modułu równoważenia obciążenia w warstwie Standardowa wykonaj poniższe dodatkowe kroki dotyczące tego samego modułu równoważenia obciążenia utworzonego we wcześniejszej sekcji.

    a. Utwórz drugą pulę adresów IP frontonu:

    • Otwórz moduł równoważenia obciążenia, wybierz pulę adresów IP frontonu i wybierz pozycję Dodaj.
    • Wprowadź nazwę drugiej puli adresów IP frontonu (na przykład hana-secondaryIP).
    • Ustaw wartość Przypisanie na Statyczne i wprowadź adres IP (na przykład 10.0.0.14).
    • Wybierz przycisk OK.
    • Po utworzeniu nowej puli adresów IP frontonu zanotuj adres IP puli.

    b. Następnie utwórz sondę kondycji:

    • Otwórz moduł równoważenia obciążenia, wybierz pozycję Sondy kondycji i wybierz pozycję Dodaj.
    • Wprowadź nazwę nowej sondy kondycji (na przykład hana-secondaryhp).
    • Wybierz protokół TCP jako protokół i port 62603. Zachowaj wartość Interwał ustawioną na 5, a wartość progu złej kondycji ustawiona na 2.
    • Wybierz przycisk OK.

    c. Następnie utwórz reguły równoważenia obciążenia:

    • Otwórz moduł równoważenia obciążenia, wybierz pozycję Reguły równoważenia obciążenia, a następnie wybierz pozycję Dodaj.
    • Wprowadź nazwę nowej reguły modułu równoważenia obciążenia (na przykład hana-secondarylb).
    • Wybierz adres IP frontonu , pulę zaplecza i utworzoną wcześniej sondę kondycji (na przykład hana-secondaryIP, hana-backend i hana-secondaryhp).
    • Wybierz pozycję Porty wysokiej dostępności.
    • Upewnij się, że włączono zmienny adres IP.
    • Wybierz przycisk OK.

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

Kroki konfigurowania replikacji systemu HANA HANA opisano w sekcji Konfigurowanie replikacji systemu SAP HANA 2.0 . Jeśli wdrażasz pomocniczy scenariusz z obsługą odczytu, podczas konfigurowania replikacji systemu w drugim węźle wykonaj następujące polecenie jako adm hanasid:

sapcontrol -nr 03 -function StopWait 600 10 

hdbnsutil -sr_register --remoteHost=hn1-db-0 --remoteInstance=03 --replicationMode=sync --name=SITE2 --operationMode=logreplay_readaccess 

Dodawanie pomocniczego zasobu wirtualnego adresu IP dla konfiguracji z włączoną obsługą aktywnego/odczytu

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

pcs property set maintenance-mode=true

pcs resource create secvip_HN1_03 ocf:heartbeat:IPaddr2 ip="10.40.0.16"

pcs resource create secnc_HN1_03 ocf:heartbeat:azure-lb port=62603

pcs resource group add g_secip_HN1_03 secnc_HN1_03 secvip_HN1_03

pcs constraint location g_secip_HN1_03 rule score=INFINITY hana_hn1_sync_state eq SOK and hana_hn1_roles eq 4:S:master1:master:worker:master

pcs constraint location g_secip_HN1_03 rule score=4000 hana_hn1_sync_state eq PRIM and hana_hn1_roles eq 4:P:master1:master:worker:master

pcs property set maintenance-mode=false

Upewnij się, że stan klastra jest prawidłowy i że wszystkie zasoby są uruchomione. Drugi wirtualny adres IP będzie uruchamiany w lokacji dodatkowej wraz z zasobem pomocniczym SAPHana.

sudo pcs status

# Online: [ hn1-db-0 hn1-db-1 ]
#
# Full List of Resources:
#   rsc_hdb_azr_agt     (stonith:fence_azure_arm):      Started hn1-db-0
#   Clone Set: SAPHanaTopology_HN1_03-clone [SAPHanaTopology_HN1_03]:
#     Started: [ hn1-db-0 hn1-db-1 ]
#   Clone Set: SAPHana_HN1_03-clone [SAPHana_HN1_03] (promotable):
#     Masters: [ hn1-db-0 ]
#     Slaves: [ hn1-db-1 ]
#   Resource Group: g_ip_HN1_03:
#     nc_HN1_03         (ocf::heartbeat:azure-lb):      Started hn1-db-0
#     vip_HN1_03        (ocf::heartbeat:IPaddr2):       Started hn1-db-0
#   Resource Group: g_secip_HN1_03:
#     secnc_HN1_03      (ocf::heartbeat:azure-lb):      Started hn1-db-1
#     secvip_HN1_03     (ocf::heartbeat:IPaddr2):       Started hn1-db-1

W następnej sekcji można znaleźć typowy zestaw testów trybu failover do wykonania.

Należy pamiętać o drugim zachowaniu wirtualnego adresu IP podczas testowania klastra HANA skonfigurowanego przy użyciu pomocniczej funkcji odczytu:

  1. Podczas migracji zasobu klastra SAPHana_HN1_03 do lokacji dodatkowej hn1-db-1 drugi wirtualny adres IP będzie nadal uruchamiany w tej samej lokacji hn1-db-1. Jeśli ustawiono wartość AUTOMATED_REGISTER="true" dla zasobu, a replikacja systemu HANA jest rejestrowana automatycznie na serwerze hn1-db-0, drugi wirtualny adres IP zostanie również przeniesiony do hn1-db-0.

  2. Podczas testowania awarii serwera drugie zasoby wirtualnego adresu IP (secvip_HN1_03) i zasób portu modułu równoważenia obciążenia platformy Azure (secnc_HN1_03) będą uruchamiane na serwerze podstawowym wraz z podstawowymi zasobami wirtualnego adresu IP. Tak więc do czasu awarii serwera pomocniczego aplikacja połączona z bazą danych HANA z obsługą odczytu będzie łączyć się z podstawową bazą danych HANA. Zachowanie jest oczekiwane, ponieważ nie chcesz, aby aplikacje połączone z bazą danych HANA z włączoną obsługą odczytu mogły być niedostępne do czasu niedostępności serwera pomocniczego.

  3. Podczas pracy w trybie failover i powrotu drugiego wirtualnego adresu IP może się zdarzyć, że istniejące połączenia w aplikacjach używających drugiego wirtualnego adresu IP do nawiązania połączenia z bazą danych HANA mogą zostać przerwane.

Konfiguracja maksymalizuje czas przypisywania drugiego zasobu wirtualnego adresu IP do węzła, w którym uruchomiono wystąpienie platformy SAP HANA w dobrej kondycji.

Testowanie konfiguracji klastra

W tej sekcji opisano sposób testowania konfiguracji. Przed rozpoczęciem testu upewnij się, że program Pacemaker nie ma żadnej akcji nieudanej (za pośrednictwem stanu pcs), nie ma żadnych nieoczekiwanych ograniczeń lokalizacji (na przykład pozostawienia testu migracji) i że platforma HANA jest w stanie synchronizacji, na przykład w systemieReplicationStatus:

[root@hn1-db-0 ~]# sudo su - hn1adm -c "python /usr/sap/HN1/HDB03/exe/python_support/systemReplicationStatus.py"

Testowanie migracji

Stan zasobu przed rozpoczęciem testu:

Clone Set: SAPHanaTopology_HN1_03-clone [SAPHanaTopology_HN1_03]
    Started: [ hn1-db-0 hn1-db-1 ]
Master/Slave Set: SAPHana_HN1_03-master [SAPHana_HN1_03]
    Masters: [ hn1-db-0 ]
    Slaves: [ hn1-db-1 ]
Resource Group: g_ip_HN1_03
    nc_HN1_03  (ocf::heartbeat:azure-lb):      Started hn1-db-0
    vip_HN1_03 (ocf::heartbeat:IPaddr2):       Started hn1-db-0

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

# On RHEL 7.x 
[root@hn1-db-0 ~]# pcs resource move SAPHana_HN1_03-master
# On RHEL 8.x
[root@hn1-db-0 ~]# pcs resource move SAPHana_HN1_03-clone --master

Jeśli ustawisz AUTOMATED_REGISTER="false"wartość , to polecenie powinno przeprowadzić migrację węzła głównego sap HANA i grupy zawierającej wirtualny adres IP do hn1-db-1.

Po zakończeniu migracji dane wyjściowe "sudo pcs status" wyglądają następująco:

Clone Set: SAPHanaTopology_HN1_03-clone [SAPHanaTopology_HN1_03]
    Started: [ hn1-db-0 hn1-db-1 ]
Master/Slave Set: SAPHana_HN1_03-master [SAPHana_HN1_03]
    Masters: [ hn1-db-1 ]
    Stopped: [ hn1-db-0 ]
Resource Group: g_ip_HN1_03
    nc_HN1_03  (ocf::heartbeat:azure-lb):      Started hn1-db-1
    vip_HN1_03 (ocf::heartbeat:IPaddr2):       Started hn1-db-1

Zasób SAP HANA w systemie hn1-db-0 jest zatrzymany. W takim przypadku skonfiguruj wystąpienie platformy HANA jako pomocnicze, wykonując następujące polecenie:

[root@hn1-db-0 ~]# su - hn1adm

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

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

# Switch back to root
exit
[root@hn1-db-0 ~]# pcs resource clear SAPHana_HN1_03-master

Monitoruj stan zasobu platformy HANA przy użyciu stanu "pcs status". Po uruchomieniu platformy HANA w systemie hn1-db-0 dane wyjściowe powinny wyglądać następująco

Clone Set: SAPHanaTopology_HN1_03-clone [SAPHanaTopology_HN1_03]
    Started: [ hn1-db-0 hn1-db-1 ]
Master/Slave Set: SAPHana_HN1_03-master [SAPHana_HN1_03]
    Masters: [ hn1-db-1 ]
    Slaves: [ hn1-db-0 ]
Resource Group: g_ip_HN1_03
    nc_HN1_03  (ocf::heartbeat:azure-lb):      Started hn1-db-1
    vip_HN1_03 (ocf::heartbeat:IPaddr2):       Started hn1-db-1

Testowanie agenta ogrodzenia platformy Azure

Uwaga

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

Stan zasobu przed rozpoczęciem testu:

Clone Set: SAPHanaTopology_HN1_03-clone [SAPHanaTopology_HN1_03]
    Started: [ hn1-db-0 hn1-db-1 ]
Master/Slave Set: SAPHana_HN1_03-master [SAPHana_HN1_03]
    Masters: [ hn1-db-1 ]
    Slaves: [ hn1-db-0 ]
Resource Group: g_ip_HN1_03
    nc_HN1_03  (ocf::heartbeat:azure-lb):      Started hn1-db-1
    vip_HN1_03 (ocf::heartbeat:IPaddr2):       Started hn1-db-1

Konfigurację agenta ogrodzenia platformy Azure można przetestować, wyłączając interfejs sieciowy w węźle, w którym działa oprogramowanie SAP HANA jako główny. Aby uzyskać opis sposobu symulowania awarii sieci, zobacz artykuł Red Hat Knowledgebase 79523 . W tym przykładzie użyjemy skryptu net_breaker, aby zablokować cały dostęp do sieci.

[root@hn1-db-1 ~]# sh ./net_breaker.sh BreakCommCmd 10.0.0.6

Maszyna wirtualna powinna teraz zostać ponownie uruchomiona lub zatrzymana w zależności od konfiguracji klastra. Jeśli ustawisz stonith-action ustawienie na wyłączone, maszyna wirtualna zostanie zatrzymana, a zasoby zostaną zmigrowane do uruchomionej maszyny wirtualnej.

Po ponownym uruchomieniu maszyny wirtualnej zasób SAP HANA nie może uruchomić się jako pomocniczy w przypadku ustawienia .AUTOMATED_REGISTER="false" W takim przypadku skonfiguruj wystąpienie platformy HANA jako pomocnicze, wykonując następujące polecenie:

su - hn1adm

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

# Switch back to root and clean up the failed state
exit
# On RHEL 7.x
[root@hn1-db-1 ~]# pcs resource cleanup SAPHana_HN1_03-master
# On RHEL 8.x
[root@hn1-db-1 ~]# pcs resource cleanup SAPHana_HN1_03 node=<hostname on which the resource needs to be cleaned>

Stan zasobu po teście:

Clone Set: SAPHanaTopology_HN1_03-clone [SAPHanaTopology_HN1_03]
    Started: [ hn1-db-0 hn1-db-1 ]
Master/Slave Set: SAPHana_HN1_03-master [SAPHana_HN1_03]
    Masters: [ hn1-db-0 ]
    Slaves: [ hn1-db-1 ]
Resource Group: g_ip_HN1_03
    nc_HN1_03  (ocf::heartbeat:azure-lb):      Started hn1-db-0
    vip_HN1_03 (ocf::heartbeat:IPaddr2):       Started hn1-db-0

Testowanie ręcznego przejścia w tryb failover

Stan zasobu przed rozpoczęciem testu:

Clone Set: SAPHanaTopology_HN1_03-clone [SAPHanaTopology_HN1_03]
    Started: [ hn1-db-0 hn1-db-1 ]
Master/Slave Set: SAPHana_HN1_03-master [SAPHana_HN1_03]
    Masters: [ hn1-db-0 ]
    Slaves: [ hn1-db-1 ]
Resource Group: g_ip_HN1_03
    nc_HN1_03  (ocf::heartbeat:azure-lb):      Started hn1-db-0
    vip_HN1_03 (ocf::heartbeat:IPaddr2):       Started hn1-db-0

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

[root@hn1-db-0 ~]# pcs cluster stop

Po przejściu w tryb failover możesz ponownie uruchomić klaster. Jeśli ustawisz AUTOMATED_REGISTER="false"wartość , zasób SAP HANA w węźle hn1-db-0 nie będzie uruchamiany jako pomocniczy. W takim przypadku skonfiguruj wystąpienie platformy HANA jako pomocnicze, wykonując następujące polecenie:

[root@hn1-db-0 ~]# pcs cluster start
[root@hn1-db-0 ~]# su - hn1adm

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

# Switch back to root and clean up the failed state
hn1adm@hn1-db-0:/usr/sap/HN1/HDB03> exit
# On RHEL 7.x
[root@hn1-db-1 ~]# pcs resource cleanup SAPHana_HN1_03-master
# On RHEL 8.x
[root@hn1-db-1 ~]# pcs resource cleanup SAPHana_HN1_03 node=<hostname on which the resource needs to be cleaned>

Stan zasobu po teście:

Clone Set: SAPHanaTopology_HN1_03-clone [SAPHanaTopology_HN1_03]
    Started: [ hn1-db-0 hn1-db-1 ]
Master/Slave Set: SAPHana_HN1_03-master [SAPHana_HN1_03]
    Masters: [ hn1-db-1 ]
     Slaves: [ hn1-db-0 ]
Resource Group: g_ip_HN1_03
    nc_HN1_03  (ocf::heartbeat:azure-lb):      Started hn1-db-1
    vip_HN1_03 (ocf::heartbeat:IPaddr2):       Started hn1-db-1

Testowanie ręcznego przejścia w tryb failover

Stan zasobu przed rozpoczęciem testu:

Clone Set: SAPHanaTopology_HN1_03-clone [SAPHanaTopology_HN1_03]
    Started: [ hn1-db-0 hn1-db-1 ]
Master/Slave Set: SAPHana_HN1_03-master [SAPHana_HN1_03]
    Masters: [ hn1-db-0 ]
    Slaves: [ hn1-db-1 ]
Resource Group: g_ip_HN1_03
    nc_HN1_03  (ocf::heartbeat:azure-lb):      Started hn1-db-0
    vip_HN1_03 (ocf::heartbeat:IPaddr2):       Started hn1-db-0

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

[root@hn1-db-0 ~]# pcs cluster stop

Następne kroki