Freigeben über


Konfigurieren der Datenbank für das Tool für konsistente Momentaufnahmen in Azure-Anwendungen

Dieser Artikel enthält eine Anleitung zur Konfiguration der Datenbank und die Datenbankvoraussetzungen zur Verwendung mit dem Tool für konsistente Momentaufnahmen in Azure-Anwendungen (AzAcSnap), das Sie mit Azure NetApp Files oder großen Azure-Instanzen verwenden können.

Aktivieren der Kommunikation mit der Datenbank

In diesem Abschnitt wird erläutert, wie Sie die Kommunikation mit der Datenbank aktivieren. Verwenden Sie die folgenden Registerkarten, um die von Ihnen verwendete Datenbank korrekt auszuwählen.

Bei der Bereitstellung auf einem zentralisierten virtuellen Computer muss der SAP HANA-Client installiert und eingerichtet sein, damit AzAcSnap-Benutzer hdbsql- und hdbuserstore-Befehle ausführen können. Sie können den SAP HANA-Client von der SAP Development Tools-Website herunterladen.

Die Momentaufnahmetools kommunizieren mit SAP HANA und benötigen einen Benutzer mit geeigneten Berechtigungen zum Initiieren und Freigeben eines Sicherungspunkts für Datenbanken. Das folgende Beispiel zeigt, wie Sie den SAP HANA 2.0-Benutzer und hdbuserstore für die Kommunikation mit der SAP HANA-Datenbank einrichten.

Wichtig

Installieren Sie den SAP HANA-Client, um hdbsql und hdbuserstore Befehle an allen Knoten auszuführen, auf denen AzAcSnap läuft. Wenn beispielsweise AzAcSnap-Instanz 1 von Knoten 1 und AzAcSnap-Instanz 2 von Knoten 2 ausgeführt wird, muss der SAP HANA-Client sowohl auf Knoten 1 als auch auf Knoten 2 installiert werden.

Mit den folgenden Beispielbefehle wird ein Benutzer (AZACSNAP) in SYSTEMDB in einer SAP HANA 2.0-Datenbank eingerichtet. Ändern Sie die IP-Adresse, Benutzernamen und Kennwörter Ihren Anforderungen entsprechend.

  1. Herstellen einer Verbindung mit 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. Erstellen Sie den Benutzer. In diesem Beispiel wird der AZACSNAP-Benutzer in SYSTEMDB erstellt:

    hdbsql SYSTEMDB=> CREATE USER AZACSNAP PASSWORD <AZACSNAP_PASSWORD_CHANGE_ME> NO FORCE_FIRST_PASSWORD_CHANGE;
    
  3. Erteilen Sie dem Benutzer Berechtigungen. In diesem Beispiel wird die Berechtigung für den AZACSNAP-Benutzer festgelegt, um die Erstellung einer datenbankkonsistenten Speichermomentaufnahme zuzulassen:

    • Für SAP HANA-Releases bis Version 2.0 SPS 03:

      hdbsql SYSTEMDB=> GRANT BACKUP ADMIN, CATALOG READ TO AZACSNAP;
      
    • Für SAP HANA-Releases ab Version 2.0 SPS 04 hat SAP neue differenzierte Berechtigungen hinzugefügt:

      hdbsql SYSTEMDB=> GRANT BACKUP ADMIN, DATABASE BACKUP ADMIN, CATALOG READ TO AZACSNAP;
      
  4. Optional: Verhindern, dass das Kennwort des Benutzers abläuft.

    Hinweis

    Informieren Sie sich in der entsprechenden Unternehmensrichtlinie, bevor Sie diese Änderung vornehmen.

    Im folgenden Beispiel wird der Kennwortablauf für den AZACSNAP-Benutzer deaktiviert. Ohne diese Änderung kann das Kennwort des Benutzers ablaufen und verhindern, dass Momentaufnahmen richtig aufgenommen werden.

    hdbsql SYSTEMDB=> ALTER USER AZACSNAP DISABLE PASSWORD LIFETIME;
    
  5. Richten Sie den sicheren Benutzerspeicher (Secure User Store) von SAP HANA ein (Kennwort ändern). In diesem Beispiel wird der Befehl hdbuserstore aus der Linux-Shell verwendet, um den sicheren Benutzerspeicher von SAP HANA einzurichten:

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

    Hinweis

    Dieser Schritt zum Einrichten des SAP HANA Secure User Store KEY muss für alle SAP HANA-Datenbanken, mit denen AzAcSnap kommunizieren wird, durchgeführt werden. Wenn z. B. AzAcSnap aktiviert client01 ist und Sie den SAP HANA-Datenbankserver auf den Hosts dbserver01 und dbserver02 installiert haben, muss der hdbuserstore Set Befehl zweimal ausgeführt werden, um zwei Schlüssel client01 einzurichten, damit AzAcSnap mit beiden Servern kommunizieren kann.

  6. Überprüfen Sie, ob Sie den sicheren Benutzerspeicher von SAP HANA ordnungsgemäß eingerichtet haben. Verwenden Sie den Befehl hdbuserstore, um die Ausgabe aufzulisten, ähnlich wie im folgenden Beispiel. Weitere Informationen zur Verwendung von hdbuserstore finden Sie auf der SAP-Website.

    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
    

    Hinweis

    Der Wert des KEY Feldes wird für die Konfigurationsfrage "Was ist der SAP HANA HDB User Store Key (z.B. hdbuserstore List)?" verwendet.

Verwenden von SSL für die Kommunikation mit SAP HANA

AzAcSnap verwendet den SAP HANA-Befehl hdbsql für die Kommunikation mit SAP HANA. Die Verwendung von hdbsql ermöglicht die Verwendung von SSL-Optionen zur Verschlüsselung der Kommunikation mit SAP HANA.

AzAcSnap verwendet immer die folgenden Optionen, wenn Sie die Option azacsnap --ssl verwenden:

  • -e: Aktiviert TLS/SSL-Verschlüsselung. Der Server wählt die höchste verfügbare Verschlüsselung aus.
  • -ssltrustcert: Gibt an, ob das Serverzertifikat überprüft werden soll.
  • -sslhostnameincert "*": Gibt den Hostnamen zur Überprüfung der Serveridentität an. Wenn Sie "*" als Hostnamen angeben, wird der Hostname des Servers nicht validiert.

Für die SSL-Kommunikation sind auch Schlüsselspeicher- und Vertrauensspeicherdateien erforderlich. Diese Dateien können in einer Linux-Installation an Standardspeicherorten abgelegt werden. Um jedoch sicherzustellen, dass das richtige Schlüsselmaterial für die verschiedenen SAP HANA-Systeme verwendet wird (in Fällen, in denen für die SAP HANA-Systeme unterschiedliche Schlüsselspeicher- und Vertrauensspeicherdateien verwendet werden), erwartet AzAcSnap, dass die Dateien für Schlüssel- und Vertrauensspeicher unter securityPath gespeichert werden. Die AzAcSnap-Konfigurationsdatei gibt diesen Pfad an.

Schlüsselspeicherdateien

Wenn Sie mehrere Systembezeichner (System Identifiers, SIDs) mit demselben Schlüsselmaterial verwenden, ist es einfacher, Links zum securityPath-Speicherort zu erstellen, wie in der AzAcSnap-Konfigurationsdatei definiert. Stellen Sie sicher, dass diese Werte für jede SID vorhanden sind, die SSL verwendet.

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

Wenn Sie mehrere SIDs mit unterschiedlichem Schlüsselmaterial für jede SID verwenden, kopieren Sie die Dateien an den securityPath-Speicherort, wie in der AzAcSnap-Konfigurationsdatei der SID definiert (oder verschieben Sie die Dateien, und benennen Sie sie um).

  • Für openssl: mv key.pem <securityPath>/<SID>_keystore
  • Für commoncrypto: mv sapcli.pse <securityPath>/<SID>_keystore

Wenn AzAcSnap hdbsql aufruft, wird -sslkeystore=<securityPath>/<SID>_keystore zur hdbsql-Befehlszeile hinzugefügt.

Vertrauensspeicherdateien

Wenn Sie mehrere SIDs mit demselben Schlüsselmaterial verwenden, erstellen Sie hartcodierte Links zum securityPath-Speicherort, wie in der AzAcSnap-Konfigurationsdatei definiert. Stellen Sie sicher, dass diese Werte für jede SID vorhanden sind, die SSL verwendet.

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

Wenn Sie mehrere SIDs mit unterschiedlichem Schlüsselmaterial für jede SID verwenden, kopieren Sie die Dateien an den securityPath-Speicherort, wie in der AzAcSnap-Konfigurationsdatei der SID definiert (oder verschieben Sie die Dateien, und benennen Sie sie um).

  • Für openssl: mv trust.pem <securityPath>/<SID>_truststore
  • Für commoncrypto: mv sapcli.pse <securityPath>/<SID>_truststore

Die Komponente <SID> der Dateinamen muss der SAP HANA-Systembezeichner in Großbuchstaben sein (z. B. H80, PR1 usw.). Wenn AzAcSnap hdbsql aufruft, wird -ssltruststore=<securityPath>/<SID>_truststore zur Befehlszeile hinzugefügt.

Wenn Sie azacsnap -c test --test hana --ssl openssl ausführen, wobei SID in der Konfigurationsdatei H80 ist, werden die hdbsql-Verbindungen wie folgt ausgeführt:

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

Im vorangegangenen Code ist der umgekehrte Schrägstrich (\) ein Zeilenumbruch in der Befehlszeile, mit dem Sie die verschiedenen Parameter, die an der Befehlszeile übergeben werden, besser unterscheiden können.

Konfigurieren der Datenbank

In diesem Abschnitt wird erläutert, wie Sie die Datenbank konfigurieren.

Konfigurieren von SAP HANA

Es gibt Änderungen, die Sie auf SAP HANA anwenden können, um die Protokollsicherungen und den Katalog zu schützen. Standardmäßig werden basepath_logbackup und basepath_catalogbackup so festgelegt, dass SAP HANA verwandte Dateien im $(DIR_INSTANCE)/backup/log Verzeichnis ablegt. Es ist unwahrscheinlich, dass sich dieser Speicherort auf einem Volume befindet, für das AzAcSnap zum Erstellen einer Momentaufnahme konfiguriert ist, sodass Speichermomentaufnahmen diese Dateien nicht schützen.

Die folgenden Beispiele für den hdbsql-Befehl veranschaulichen, wie die Protokoll- und Katalogpfade auf Speicherorte in Speichervolumes festgelegt werden, für AzAcSnap eine Momentaufnahme erstellen kann. Vergewissern Sie sich, dass die Werte in der Befehlszeile mit der lokalen SAP HANA-Konfiguration übereinstimmen.

Konfigurieren des Speicherorts für Protokollsicherungen

Dieses Beispiel zeigt eine Änderung am Parameter 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"

Konfigurieren des Speicherorts für Katalogsicherungen

Dieses Beispiel zeigt eine Änderung am Parameter basepath_catalogbackup. Stellen Sie zunächst sicher, dass der basepath_catalogbackup-Pfad im Dateisystem vorhanden ist. Falls nicht, erstellen Sie den Pfad mit demselben Besitz wie das Verzeichnis.

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

Wenn Sie den Pfad erstellen müssen, erstellt das folgende Beispiel den Pfad und legt den richtigen Besitz und die richtigen Berechtigungen fest. Sie müssen diese Befehle als Stamm ausführen.

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

Das folgende Beispiel ändert die SAP HANA-Einstellung:

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"

Überprüfen der Speicherorte für die Protokoll- und Katalogsicherungen

Nachdem Sie die Änderungen an den Protokoll- und Katalogsicherungsspeicherorten vorgenommen haben, vergewissern Sie sich mit dem folgenden Befehl, dass die Einstellungen richtig sind.

In diesem Beispiel werden die Einstellungen als SYSTEM-Einstellungen angezeigt. Die Abfrage gibt zu Vergleichszwecken auch die DEFAULT-Einstellungen zurück.

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

Konfigurieren des Timeouts für Protokollsicherungen

Mit der Standardeinstellung führt SAP HANA alle 900 Sekunden (15 Minuten) eine Protokollsicherung aus. Es wird empfohlen, diesen Wert auf 300 Sekunden (5 Minuten) zu reduzieren. Dann ist es möglich, regelmäßige Sicherungen dieser Dateien auszuführen (z. B. alle 10 Minuten). Sie können diese Sicherungen erstellen, indem Sie die log_backup-Volumes zum Volumeabschnitt OTHER der Konfigurationsdatei hinzufügen.

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"

Überprüfen des Timeouts für Protokollsicherungen

Nachdem Sie die Änderung am Timeout für die Protokollsicherung vorgenommen haben, stellen Sie mithilfe des folgenden Befehls sicher, dass das Timeout festgelegt wird.

In diesem Beispiel werden die Einstellungen als SYSTEM-Einstellungen angezeigt. Die Abfrage gibt zu Vergleichszwecken auch die DEFAULT-Einstellungen zurück.

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

Nächste Schritte