De database configureren voor Azure-toepassing hulpprogramma Voor consistente momentopnamen
Dit artikel bevat een handleiding voor het configureren van de database en de databasevereisten voor gebruik met het hulpprogramma Azure-toepassing Consistente momentopname (AzAcSnap) die u kunt gebruiken met Azure NetApp Files of Azure Large Instances.
Communicatie met de database inschakelen
In deze sectie wordt uitgelegd hoe u communicatie met de database inschakelt. Gebruik de volgende tabbladen om de database die u gebruikt correct te selecteren.
Als u implementeert op een gecentraliseerde virtuele machine, moet u de SAP HANA-client installeren en instellen, zodat de AzAcSnap-gebruiker kan worden uitgevoerd en hdbuserstore
opdrachten kan uitvoerenhdbsql
. U kunt de SAP HANA-client downloaden via de website van SAP Development Tools.
De hulpprogramma's voor momentopnamen communiceren met SAP HANA en hebben een gebruiker met de juiste machtigingen nodig om het database-opslagpunt te starten en vrij te geven. In het volgende voorbeeld ziet u de installatie van de SAP HANA 2.0-gebruiker en hdbuserstore
voor communicatie met de SAP HANA-database.
De volgende voorbeeldopdrachten stellen een gebruiker (AZACSNAP
) in SYSTEMDB in op een SAP HANA 2.0-database. Wijzig waar nodig het IP-adres, de gebruikersnamen en wachtwoorden.
Verbinding maken met 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=>
Maak de gebruiker. In dit voorbeeld wordt de
AZACSNAP
gebruiker gemaakt in SYSTEMDB:hdbsql SYSTEMDB=> CREATE USER AZACSNAP PASSWORD <AZACSNAP_PASSWORD_CHANGE_ME> NO FORCE_FIRST_PASSWORD_CHANGE;
Verdeel de gebruikersmachtigingen. In dit voorbeeld wordt de machtiging voor de
AZACSNAP
gebruiker ingesteld om een databaseconsistente opslagmomentopname uit te voeren:Voor SAP HANA-releases tot versie 2.0 SPS 03:
hdbsql SYSTEMDB=> GRANT BACKUP ADMIN, CATALOG READ TO AZACSNAP;
Voor SAP HANA-releases van versie 2.0 SPS 04 heeft SAP nieuwe fijnmazige bevoegdheden toegevoegd:
hdbsql SYSTEMDB=> GRANT BACKUP ADMIN, DATABASE BACKUP ADMIN, CATALOG READ TO AZACSNAP;
Optioneel: voorkom dat het wachtwoord van de gebruiker verloopt.
Notitie
Neem contact op met het bedrijfsbeleid voordat u deze wijziging aanbrengt.
In het volgende voorbeeld wordt het verlopen van het wachtwoord voor de
AZACSNAP
gebruiker uitgeschakeld. Zonder deze wijziging kan het wachtwoord van de gebruiker verlopen en voorkomen dat momentopnamen correct worden gemaakt.hdbsql SYSTEMDB=> ALTER USER AZACSNAP DISABLE PASSWORD LIFETIME;
Stel het SAP HANA Secure User Store in (wijzig het wachtwoord). In dit voorbeeld wordt de
hdbuserstore
opdracht uit de Linux-shell gebruikt om het SAP HANA Secure User Store in te stellen:hdbuserstore Set AZACSNAP <IP_address_of_host>:30013 AZACSNAP <AZACSNAP_PASSWORD_CHANGE_ME>
Controleer of u het SAP HANA Secure User Store juist hebt ingesteld. Gebruik de
hdbuserstore
opdracht om de uitvoer weer te geven, vergelijkbaar met het volgende voorbeeld. Meer informatie over het gebruikhdbuserstore
vindt u op de 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
SSL gebruiken voor communicatie met SAP HANA
AzAcSnap gebruikt de opdracht van SAP HANA hdbsql
om te communiceren met SAP HANA. Met het gebruik hdbsql
van SSL-opties kunt u communicatie versleutelen met SAP HANA.
AzAcSnap gebruikt altijd de volgende opties wanneer u de azacsnap --ssl
optie gebruikt:
-e
: hiermee schakelt u TLS/SSL-versleuteling in. De server kiest het hoogst beschikbare.-ssltrustcert
: Hiermee geeft u op of het certificaat van de server moet worden gevalideerd.-sslhostnameincert "*"
: Hiermee geeft u de hostnaam op waarmee de identiteit van de server wordt geverifieerd. Wanneer u opgeeft"*"
als hostnaam, wordt de hostnaam van de server niet gevalideerd.
SSL-communicatie vereist ook bestanden voor sleutelopslag en vertrouwensopslag. Het is mogelijk dat deze bestanden worden opgeslagen op standaardlocaties op een Linux-installatie. Maar om ervoor te zorgen dat het juiste sleutelmateriaal wordt gebruikt voor de verschillende SAP HANA-systemen (voor de gevallen waarin verschillende bestanden voor sleutelopslag en vertrouwensarchief worden gebruikt voor elk SAP HANA-systeem), verwacht AzAcSnap dat de bestanden van de sleutelopslag en trust-store op de securityPath
locatie worden opgeslagen. Het AzAcSnap-configuratiebestand geeft deze locatie op.
Sleutelarchiefbestanden
Als u meerdere systeem-id's (SID's) met hetzelfde sleutelmateriaal gebruikt, is het eenvoudiger om koppelingen te maken naar de securityPath
locatie zoals gedefinieerd in het AzAcSnap-configuratiebestand. Zorg ervoor dat deze waarden bestaan voor elke SID die gebruikmaakt van SSL.
- Voor
openssl
:ln $HOME/.ssl/key.pem <securityPath>/<SID>_keystore
- Voor
commoncrypto
:ln $SECUDIR/sapcli.pse <securityPath>/<SID>_keystore
Als u meerdere SID's met verschillende sleutelmateriaal per SID gebruikt, kopieert (of verplaatst en wijzigt u de naam) van de bestanden in de securityPath
locatie zoals gedefinieerd in het AzAcSnap-configuratiebestand van de SID.
- Voor
openssl
:mv key.pem <securityPath>/<SID>_keystore
- Voor
commoncrypto
:mv sapcli.pse <securityPath>/<SID>_keystore
Wanneer AzAcSnap aanroept hdbsql
, wordt deze toegevoegd -sslkeystore=<securityPath>/<SID>_keystore
aan de hdbsql
opdrachtregel.
Trust-store-bestanden
Als u meerdere SID's met hetzelfde sleutelmateriaal gebruikt, maakt u vaste koppelingen naar de securityPath
locatie zoals gedefinieerd in het AzAcSnap-configuratiebestand. Zorg ervoor dat deze waarden bestaan voor elke SID die gebruikmaakt van SSL.
- Voor
openssl
:ln $HOME/.ssl/trust.pem <securityPath>/<SID>_truststore
- Voor
commoncrypto
:ln $SECUDIR/sapcli.pse <securityPath>/<SID>_truststore
Als u meerdere SID's met het verschillende sleutelmateriaal per SID gebruikt, kopieert u de bestanden (of verplaatst en wijzigt u de naam ervan) in de securityPath
locatie zoals gedefinieerd in het AzAcSnap-configuratiebestand van de SID.
- Voor
openssl
:mv trust.pem <securityPath>/<SID>_truststore
- Voor
commoncrypto
:mv sapcli.pse <securityPath>/<SID>_truststore
Het <SID>
onderdeel van de bestandsnamen moet de SAP HANA-systeem-id in alle hoofdletters (bijvoorbeeld H80
of PR1
). Wanneer AzAcSnap aanroept hdbsql
, wordt deze toegevoegd -ssltruststore=<securityPath>/<SID>_truststore
aan de opdrachtregel.
Als u uitvoert azacsnap -c test --test hana --ssl openssl
, waar SID
H80
zich in het configuratiebestand bevindt, worden de hdbsql
verbindingen als volgt uitgevoerd:
hdbsql \
-e \
-ssltrustcert \
-sslhostnameincert "*" \
-sslprovider openssl \
-sslkeystore ./security/H80_keystore \
-ssltruststore ./security/H80_truststore
"sql statement"
In de voorgaande code is het teken backslash (\
) een opdrachtregelterugloop om de duidelijkheid te verbeteren van de meerdere parameters die zijn doorgegeven op de opdrachtregel.
De database configureren
In deze sectie wordt uitgelegd hoe u de database configureert.
SAP HANA configureren
Er zijn wijzigingen die u kunt toepassen op SAP HANA om de logboekback-ups en catalogus te beveiligen. basepath_logbackup
Standaard worden basepath_catalogbackup
ze zo ingesteld dat SAP HANA gerelateerde bestanden in de $(DIR_INSTANCE)/backup/log
map plaatst. Het is onwaarschijnlijk dat deze locatie zich op een volume bevindt dat AzAcSnap is geconfigureerd voor momentopnamen, zodat opslagmomentopnamen deze bestanden niet beveiligen.
In de volgende hdbsql
opdrachtvoorbeelden ziet u hoe u de logboek- en cataloguspaden instelt op locaties op opslagvolumes waarop AzAcSnap een momentopname kan maken. Controleer of de waarden op de opdrachtregel overeenkomen met de lokale SAP HANA-configuratie.
De back-uplocatie voor logboeken configureren
In dit voorbeeld ziet u een wijziging in de basepath_logbackup
parameter:
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"
De back-uplocatie van de catalogus configureren
In dit voorbeeld ziet u een wijziging in de basepath_catalogbackup
parameter. Zorg er eerst voor dat het basepath_catalogbackup
pad in het bestandssysteem bestaat. Als dat niet het is, maakt u het pad met hetzelfde eigendom als de map.
ls -ld /hana/logbackups/H80/catalog
drwxr-x--- 4 h80adm sapsys 4096 Jan 17 06:55 /hana/logbackups/H80/catalog
Als u het pad wilt maken, maakt het volgende voorbeeld het pad en stelt u het juiste eigendom en de juiste machtigingen in. U moet deze opdrachten uitvoeren als 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
In het volgende voorbeeld wordt de SAP HANA-instelling gewijzigd:
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"
Back-uplocaties voor logboeken en catalogus controleren
Nadat u de wijzigingen hebt aangebracht in de back-uplocaties van het logboek en de catalogus, controleert u of de instellingen juist zijn met behulp van de volgende opdracht.
In dit voorbeeld worden de instellingen weergegeven als SYSTEM
instellingen. Deze query retourneert ook de DEFAULT
instellingen voor vergelijking.
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
De time-out voor back-up van logboeken configureren
De standaardinstelling voor SAP HANA voor het uitvoeren van een logboekback-up is 900
seconden (15 minuten). U wordt aangeraden deze waarde te verminderen tot 300
seconden (5 minuten). Vervolgens is het mogelijk om regelmatige back-ups van deze bestanden uit te voeren (bijvoorbeeld om de 10 minuten). U kunt deze back-ups maken door de log_backup
volumes toe te voegen aan het OTHER
volumegedeelte van het configuratiebestand.
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"
De time-out voor logboekback-up controleren
Nadat u de wijziging hebt aangebracht in de time-out voor logboekback-up, moet u ervoor zorgen dat de time-out is ingesteld met behulp van de volgende opdracht.
In dit voorbeeld worden de instellingen weergegeven als SYSTEM
instellingen. Deze query retourneert ook de DEFAULT
instellingen voor vergelijking.
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