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 Website „SAP Development Tools“ 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.
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.
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=>
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;
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;
Optional: Verhindern Sie, 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;
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>
Ü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 vonhdbuserstore
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
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 ist.
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