Udostępnij przez


Konfiguracja bazy danych dla narzędzia Migawka Spójna Aplikacji w Azure

Ten artykuł zawiera przewodnik dotyczący konfigurowania bazy danych oraz wymagań wstępnych bazy danych, niezbędnych do użycia z narzędziem Azure do spójnych migawek aplikacji (AzAcSnap), które można używać z Azure NetApp Files lub Azure Large Instances.

Włączanie komunikacji z bazą danych

W tej sekcji wyjaśniono, jak włączyć komunikację z bazą danych. Użyj poniższych kart, aby poprawnie wybrać używaną bazę danych.

Jeśli wdrażasz na scentralizowanej maszynie wirtualnej, musisz zainstalować i skonfigurować klienta SAP HANA, aby użytkownik AzAcSnap mógł uruchamiać polecenia hdbsql i hdbuserstore. Klienta SAP HANA można pobrać z witryny internetowej SAP Development Tools.

Narzędzia do tworzenia migawek komunikują się z SAP HANA i potrzebują użytkownika z odpowiednimi uprawnieniami, aby zainicjować i zwolnić punkt zapisu bazy danych. W poniższym przykładzie przedstawiono konfigurację użytkownika oprogramowania SAP HANA 2.0 oraz hdbuserstore komunikację z bazą danych SAP HANA.

Ważne

Upewnij się, że zainstalowano klienta SAP HANA do uruchamiania poleceń hdbsql i hdbuserstore na wszystkich węzłach, które uruchamiają AzAcSnap. Jeśli na przykład uruchomiono wystąpienie AzAcSnap 1 z węzła 1 i wystąpienie AzAcSnap 2 z węzła 2, klient SAP HANA musi być zainstalowany zarówno w węźle 1, jak i w węźle 2.

Poniższe przykładowe polecenia konfigurują użytkownika (AZACSNAP) w bazie danych SYSTEMDB w bazie danych SAP HANA 2.0. W razie potrzeby zmień adres IP, nazwy użytkowników i hasła.

  1. Nawiązywanie połączenia z bazą danych SYSTEMDB:

    hdbsql -n <IP_address_of_host>:30013 -i 00 -u SYSTEM -p <SYSTEM_USER_PASSWORD>
    
    Welcome to the SAP HANA Database interactive terminal.
    
    Type: \h for help with commands
    \q to quit
    
    hdbsql SYSTEMDB=>
    
  2. Utwórz użytkownika. Ten przykład tworzy użytkownika AZACSNAP w bazie danych SYSTEMDB.

    hdbsql SYSTEMDB=> CREATE USER AZACSNAP PASSWORD <AZACSNAP_PASSWORD_CHANGE_ME> NO FORCE_FIRST_PASSWORD_CHANGE;
    
  3. Przyznaj użytkownikowi uprawnienia. W tym przykładzie ustawiono uprawnienie użytkownika AZACSNAP , aby umożliwić wykonywanie migawki magazynu spójnej z bazą danych:

    • W przypadku wersji SAP HANA do wersji 2.0 SPS 03:

      hdbsql SYSTEMDB=> GRANT BACKUP ADMIN, CATALOG READ TO AZACSNAP;
      
    • Dla wersji SAP HANA począwszy od 2.0 SPS 04, SAP dodał nowe szczegółowe uprawnienia:

      hdbsql SYSTEMDB=> GRANT BACKUP ADMIN, DATABASE BACKUP ADMIN, CATALOG READ TO AZACSNAP;
      
  4. Opcjonalnie: Uniemożliwiaj wygasanie hasła użytkownika.

    Uwaga

    Przed wprowadzeniem tej zmiany sprawdź zasady firmowe.

    Poniższy przykład wyłącza wygaśnięcie hasła dla AZACSNAP użytkownika. Bez tej zmiany hasło użytkownika może wygasnąć i uniemożliwić prawidłowe wykonywanie migawek.

    hdbsql SYSTEMDB=> ALTER USER AZACSNAP DISABLE PASSWORD LIFETIME;
    
  5. Skonfiguruj bezpieczny magazyn użytkowników SAP HANA (zmień hasło). W tym przykładzie hdbuserstore użyto polecenia z powłoki systemu Linux do skonfigurowania bezpiecznego magazynu użytkowników sap HANA:

    hdbuserstore Set AZACSNAP <IP_address_of_host>:30013 AZACSNAP <AZACSNAP_PASSWORD_CHANGE_ME>
    

    Uwaga

    Ten krok, aby skonfigurować bezpieczne repozytorium KEY użytkowników SAP HANA, musi zostać wykonany dla wszystkich baz danych SAP HANA, z którymi AzAcSnap będzie się komunikować. Jeśli na przykład moduł AzAcSnap jest włączony client01 i masz zainstalowany serwer bazy danych SAP HANA na hostach dbserver01 oraz dbserver02, to polecenie hdbuserstore Set musi zostać uruchomione dwa razy, aby skonfigurować dwa klucze na client01, dzięki czemu program AzAcSnap będzie mógł komunikować się z obydwoma serwerami.

  6. Sprawdź, czy poprawnie skonfigurowaliśmy bezpieczny magazyn użytkowników sap HANA. Użyj polecenia , hdbuserstore aby wyświetlić listę danych wyjściowych, podobnie jak w poniższym przykładzie. Więcej informacji na temat korzystania z usługi hdbuserstore jest dostępnych w witrynie internetowej SAP.

    hdbuserstore List
    
    DATA FILE : /home/azacsnap/.hdb/sapprdhdb80/SSFS_HDB.DAT
    KEY FILE : /home/azacsnap/.hdb/sapprdhdb80/SSFS_HDB.KEY
    
    KEY AZACSNAP
      ENV : <IP_address_of_host>:
      USER: AZACSNAP
    

    Uwaga

    Wartość KEY pola jest używana dla pytania konfiguracji "Jaki jest klucz magazynu użytkownika SAP HANA HDB (np. hdbuserstore List)?".

Używanie protokołu SSL do komunikacji z platformą SAP HANA

Moduł AzAcSnap używa polecenia platformy SAP HANA do komunikowania hdbsql się z platformą SAP HANA. Korzystanie hdbsql z opcji PROTOKOŁU SSL umożliwia szyfrowanie komunikacji z platformą SAP HANA.

AzAcSnap zawsze używa następujących opcji podczas korzystania z opcji azacsnap --ssl.

  • -e: włącza szyfrowanie TLS/SSL. Serwer wybiera najwyższy dostępny.
  • -ssltrustcert: określa, czy należy zweryfikować certyfikat serwera.
  • -sslhostnameincert "*": określa nazwę hosta, który weryfikuje tożsamość serwera. Po określeniu "*" jako nazwy hosta nazwa hosta serwera nie jest weryfikowana.

Komunikacja SSL wymaga również plików magazynu kluczy i magazynu zaufania. Te pliki mogą być przechowywane w domyślnych lokalizacjach w instalacji systemu Linux. Jednak w celu zapewnienia, że odpowiedni materiał kluczy jest używany w różnych systemach SAP HANA (w przypadkach, w których pliki repozytorium kluczy i repozytorium zaufania są używane dla każdego systemu SAP HANA), AzAcSnap oczekuje, że pliki repozytorium kluczy i repozytorium zaufania będą przechowywane w lokalizacji securityPath. Plik konfiguracji AzAcSnap określa tę lokalizację.

Pliki magazynu kluczy

Jeśli używasz wielu identyfikatorów systemowych (SID) z tym samym materiałem klucza, łatwiej jest utworzyć łącza do securityPath lokalizacji zdefiniowanej w pliku konfiguracji AzAcSnap. Upewnij się, że te wartości istnieją dla każdego identyfikatora SID korzystającego z protokołu SSL.

  • Dla elementu openssl: ln $HOME/.ssl/key.pem <securityPath>/<SID>_keystore
  • Dla elementu commoncrypto: ln $SECUDIR/sapcli.pse <securityPath>/<SID>_keystore

Jeśli używasz wielu identyfikatorów SID z różnym materiałem klucza dla każdego identyfikatora SID, skopiuj (lub przenieś i zmień nazwę) pliki do lokalizacji securityPath zdefiniowanej w pliku konfiguracji AzAcSnap identyfikatora SID.

  • Dla elementu openssl: mv key.pem <securityPath>/<SID>_keystore
  • Dla elementu commoncrypto: mv sapcli.pse <securityPath>/<SID>_keystore

Gdy AzAcSnap wywołuje hdbsql, -sslkeystore=<securityPath>/<SID>_keystore jest dodawane do wiersza poleceń hdbsql.

Pliki magazynu zaufania

Jeśli używasz wielu identyfikatorów SID z tym samym materiałem kluczowym, utwórz twarde linki do lokalizacji securityPath, jak zdefiniowano w pliku konfiguracyjnym AzAcSnap. Upewnij się, że te wartości istnieją dla każdego identyfikatora SID korzystającego z protokołu SSL.

  • Dla elementu openssl: ln $HOME/.ssl/trust.pem <securityPath>/<SID>_truststore
  • Dla elementu commoncrypto: ln $SECUDIR/sapcli.pse <securityPath>/<SID>_truststore

Jeśli używasz wielu identyfikatorów SID z różnym materiałem klucza dla każdego identyfikatora SID, skopiuj (lub przenieś i zmień nazwę) pliki do lokalizacji securityPath, zgodnie z tym, co określono w pliku konfiguracyjnym AzAcSnap dla danego identyfikatora SID.

  • Dla elementu openssl: mv trust.pem <securityPath>/<SID>_truststore
  • Dla elementu commoncrypto: mv sapcli.pse <securityPath>/<SID>_truststore

Składnik <SID> nazw plików musi być identyfikatorem systemu SAP HANA we wszystkich wielkich literach (na przykład H80 lub PR1). Gdy AzAcSnap wywołuje hdbsql, dodaje -ssltruststore=<securityPath>/<SID>_truststore do wiersza polecenia.

Jeśli uruchomisz azacsnap -c test --test hana --ssl openssl, gdzie SID jest ustawione jako H80 w pliku konfiguracyjnym, wykonuje połączenia hdbsql w następujący sposób:

hdbsql \
    -e \
    -ssltrustcert \
    -sslhostnameincert "*" \
    -sslprovider openssl \
    -sslkeystore ./security/H80_keystore \
    -ssltruststore ./security/H80_truststore
    "sql statement"

W poprzednim kodzie znak ukośnika odwrotnego (\) służy jako kontynuacja wiersza, aby poprawić przejrzystość wielu parametrów przekazywanych w linii poleceń.

Konfigurowanie bazy danych

W tej sekcji opisano sposób konfigurowania bazy danych.

Konfigurowanie oprogramowania SAP HANA

Istnieją zmiany, które można zastosować do platformy SAP HANA, aby chronić kopie zapasowe dzienników i wykaz. Domyślnie basepath_logbackup i basepath_catalogbackup są ustawione tak, aby platforma SAP HANA umieściła powiązane pliki w katalogu $(DIR_INSTANCE)/backup/log. Jest mało prawdopodobne, że ta lokalizacja znajduje się na woluminie, na którym moduł AzAcSnap jest skonfigurowany do tworzenia migawek, więc migawki pamięci masowej nie będą chronić tych plików.

W poniższych hdbsql przykładach poleceń pokazano, jak ustawić ścieżki dziennika i katalogu do lokalizacji na woluminach magazynu, które AzAcSnap może migawkować. Upewnij się, że wartości w wierszu polecenia są zgodne z lokalną konfiguracją platformy SAP HANA.

Konfigurowanie lokalizacji kopii zapasowej dziennika

W tym przykładzie przedstawiono zmianę parametru basepath_logbackup :

hdbsql -jaxC -n <HANA_ip_address>:30013 -i 00 -u SYSTEM -p <SYSTEM_USER_PASSWORD> "ALTER SYSTEM ALTER CONFIGURATION ('global.ini', 'SYSTEM') SET ('persistence', 'basepath_logbackup') = '/hana/logbackups/H80' WITH RECONFIGURE"

Konfigurowanie lokalizacji kopii zapasowej katalogu

W tym przykładzie pokazano zmianę parametru basepath_catalogbackup . Najpierw upewnij się, że basepath_catalogbackup ścieżka istnieje w systemie plików. Jeśli nie, utwórz ścieżkę z tymi samymi uprawnieniami własności co katalog.

ls -ld /hana/logbackups/H80/catalog
drwxr-x--- 4 h80adm sapsys 4096 Jan 17 06:55 /hana/logbackups/H80/catalog

Jeśli musisz utworzyć ścieżkę, poniższy przykład tworzy ścieżkę i ustawia poprawną własność i uprawnienia. Należy uruchomić te polecenia jako root.

mkdir /hana/logbackups/H80/catalog
chown --reference=/hana/shared/H80/HDB00 /hana/logbackups/H80/catalog
chmod --reference=/hana/shared/H80/HDB00 /hana/logbackups/H80/catalog
ls -ld /hana/logbackups/H80/catalog
drwxr-x--- 4 h80adm sapsys 4096 Jan 17 06:55 /hana/logbackups/H80/catalog

Poniższy przykład zmienia ustawienie platformy SAP HANA:

hdbsql -jaxC -n <HANA_ip_address>:30013 -i 00 -u SYSTEM -p <SYSTEM_USER_PASSWORD> "ALTER SYSTEM ALTER CONFIGURATION ('global.ini', 'SYSTEM') SET ('persistence', 'basepath_catalogbackup') = '/hana/logbackups/H80/catalog' WITH RECONFIGURE"

Sprawdzanie lokalizacji kopii zapasowych dziennika i katalogu

Po wprowadzeniu zmian w lokalizacjach kopii zapasowych dziennika i katalogu upewnij się, że ustawienia są poprawne, używając następującego polecenia.

W tym przykładzie ustawienia są wyświetlane jako SYSTEM. To zapytanie zwraca również DEFAULT ustawienia do porównania.

hdbsql -jaxC -n <HANA_ip_address> - i 00 -U AZACSNAP "select * from sys.m_inifile_contents where (key = 'basepath_databackup' or key ='basepath_datavolumes' or key = 'basepath_logbackup' or key = 'basepath_logvolumes' or key = 'basepath_catalogbackup')"
global.ini,DEFAULT,,,persistence,basepath_catalogbackup,$(DIR_INSTANCE)/backup/log
global.ini,DEFAULT,,,persistence,basepath_databackup,$(DIR_INSTANCE)/backup/data
global.ini,DEFAULT,,,persistence,basepath_datavolumes,$(DIR_GLOBAL)/hdb/data
global.ini,DEFAULT,,,persistence,basepath_logbackup,$(DIR_INSTANCE)/backup/log
global.ini,DEFAULT,,,persistence,basepath_logvolumes,$(DIR_GLOBAL)/hdb/log
global.ini,SYSTEM,,,persistence,basepath_catalogbackup,/hana/logbackups/H80/catalog
global.ini,SYSTEM,,,persistence,basepath_datavolumes,/hana/data/H80
global.ini,SYSTEM,,,persistence,basepath_logbackup,/hana/logbackups/H80
global.ini,SYSTEM,,,persistence,basepath_logvolumes,/hana/log/H80

Konfigurowanie limitu czasu tworzenia kopii zapasowej dziennika

Ustawieniem domyślnym dla platformy SAP HANA do wykonywania kopii zapasowej dziennika jest 900 sekund (15 minut). Zalecamy zmniejszenie tej wartości do 300 sekund (5 minut). Następnie można uruchamiać regularne kopie zapasowe tych plików (na przykład co 10 minut). Te kopie zapasowe można wykonać, dodając log_backup woluminy do OTHER sekcji woluminu pliku konfiguracji.

hdbsql -jaxC -n <HANA_ip_address>:30013 -i 00 -u SYSTEM -p <SYSTEM_USER_PASSWORD> "ALTER SYSTEM ALTER CONFIGURATION ('global.ini', 'SYSTEM') SET ('persistence', 'log_backup_timeout_s') = '300' WITH RECONFIGURE"

Sprawdź limit czasu tworzenia kopii zapasowej dziennika

Po wprowadzeniu zmiany limitu czasu tworzenia kopii zapasowej dziennika upewnij się, że limit czasu został ustawiony przy użyciu następującego polecenia.

W tym przykładzie ustawienia są wyświetlane jako SYSTEM ustawienia. To zapytanie zwraca również DEFAULT ustawienia do porównania.

hdbsql -jaxC -n <HANA_ip_address> - i 00 -U AZACSNAP "select * from sys.m_inifile_contents where key like '%log_backup_timeout%' "
global.ini,DEFAULT,,,persistence,log_backup_timeout_s,900
global.ini,SYSTEM,,,persistence,log_backup_timeout_s,300

Następne kroki