Delen via


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.

  1. 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=>
    
  2. 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;
    
  3. 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;
      
  4. 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;
    
  5. 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>
    
  6. 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 gebruik hdbuserstore 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 hdbsqlverbindingen 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

Volgende stappen