Partager via


Configurer la base de données pour l’outil Azure Application Consistent Snapshot

Cet article fournit un guide pour la configuration de la base de données et les prérequis de la base de données pour l’utilisation de l’outil Azure Application Consistent Snapshot (AzAcSnap) que vous pouvez utiliser avec Azure NetApp Files ou des instances de grande taille Azure.

Activer la communication avec la base de données

Cette section explique comment activer la communication avec la base de données. Utilisez les onglets suivants pour sélectionner correctement la base de données que vous utilisez.

Si vous effectuez un déploiement sur une machine virtuelle centralisée, vous devez installer et configurer le client SAP HANA afin que l’utilisateur AzAcSnap puisse exécuter des commandes hdbsql et hdbuserstore. Vous pouvez télécharger le client SAP HANA à partir du site web des outils de développement SAP.

Les outils d’instantané communiquent avec SAP HANA et nécessitent un utilisateur disposant des autorisations appropriées pour lancer et libérer le point d’enregistrement de la base de données. L’exemple suivant illustre la configuration de l’utilisateur de SAP HANA 2.0 et de hdbuserstore pour la communication avec la base de données SAP HANA.

Les exemples de commandes suivants configurent un utilisateur (AZACSNAP) dans SYSTEMDB sur une base de données SAP HANA 2.0. Modifiez l’adresse IP, les noms d’utilisateurs et les mots de passe comme il convient.

  1. Connectez-vous à 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. Créez l’utilisateur. Cet exemple crée l’utilisateur AZACSNAP dans SYSTEMDB :

    hdbsql SYSTEMDB=> CREATE USER AZACSNAP PASSWORD <AZACSNAP_PASSWORD_CHANGE_ME> NO FORCE_FIRST_PASSWORD_CHANGE;
    
  3. Octroyez les autorisations à l’utilisateur. Cet exemple définit l’autorisation permettant à l’utilisateur AZACSNAP d’exécuter un instantané du stockage cohérent sur l’ensemble de la base de données :

    • Pour les versions SAP HANA jusqu’à la version 2.0 SPS 03 :

      hdbsql SYSTEMDB=> GRANT BACKUP ADMIN, CATALOG READ TO AZACSNAP;
      
    • Pour les versions SAP HANA à partir de la version 2.0 SPS 04, SAP a ajouté de nouveaux privilèges affinés :

      hdbsql SYSTEMDB=> GRANT BACKUP ADMIN, DATABASE BACKUP ADMIN, CATALOG READ TO AZACSNAP;
      
  4. Facultatif : Empêchez l’expiration du mot de passe de l’utilisateur.

    Remarque

    Consultez la stratégie d’entreprise avant d’effectuer cette modification.

    L’exemple suivant désactive l’expiration du mot de passe pour l’utilisateur AZACSNAP. Sans cette modification, le mot de passe de l’utilisateur pourrait expirer et empêcher la prise correcte d’instantanés.

    hdbsql SYSTEMDB=> ALTER USER AZACSNAP DISABLE PASSWORD LIFETIME;
    
  5. Configurez le magasin d’utilisateurs sécurisé de SAP HANA (modifiez le mot de passe). Cet exemple utilise la commande hdbuserstore de l’interpréteur de commandes Linux pour configurer le magasin d’utilisateurs sécurisé de SAP HANA :

    hdbuserstore Set AZACSNAP <IP_address_of_host>:30013 AZACSNAP <AZACSNAP_PASSWORD_CHANGE_ME>
    
  6. Vérifiez que vous configurez correctement le magasin d’utilisateurs sécurisé SAP HANA. Utilisez la commande hdbuserstore pour répertorier la sortie, comme dans l’exemple suivant. Pour plus d’informations sur l’utilisation de hdbuserstore, consultez le site web de 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
    

Utiliser SSL pour la communication avec SAP HANA

AzAcSnap utilise la commande hdbsql de SAP HANA pour communiquer avec SAP HANA. L’utilisation de hdbsql permet d’utiliser les options SSL pour chiffrer la communication avec SAP HANA.

AzAcSnap utilise toujours les options suivantes lorsque vous utilisez l’option azacsnap --ssl :

  • -e : active le chiffrement TLS/SSL. Le serveur choisit le niveau le plus élevé disponible.
  • -ssltrustcert : Indique s’il faut valider le certificat du serveur.
  • -sslhostnameincert "*" : spécifie le nom d’hôte qui vérifie l’identité du serveur. Lorsque vous spécifiez "*" comme nom d’hôte, le nom d’hôte du serveur n’est pas validé.

La communication SSL nécessite également des fichiers key-store et trust-store. Il est possible que ces fichiers soient stockés dans des emplacements par défaut sur une installation Linux. Mais pour vous assurer que la clé correcte est utilisée pour les différents systèmes SAP HANA (pour les cas où différents fichiers key-store et trust-store sont utilisés pour chaque système SAP HANA), AzAcSnap s’attend à ce que les fichiers key-store et trust-store soient stockés à l’emplacement securityPath. Le fichier de configuration AzAcSnap spécifie cet emplacement.

Fichiers key-store

Si vous utilisez plusieurs identificateurs système (SID) avec la même clé, il est plus facile de créer des liens vers l’emplacement securityPath tel que défini dans le fichier de configuration AzAcSnap. Vérifiez que ces valeurs existent pour chaque SID qui utilise SSL.

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

Si vous utilisez plusieurs SID avec des clés différentes par SID, copiez (ou déplacez et renommez) les fichiers dans l’emplacement securityPath défini dans le fichier de configuration AzAcSnap du SID.

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

Quand AzAcSnap appelle hdbsql, il ajoute -sslkeystore=<securityPath>/<SID>_keystore à la ligne de commande hdbsql.

Fichiers trust-store

Si vous utilisez plusieurs SID avec la même clé, créez des liens physiques dans l’emplacement securityPath tel que défini dans le fichier de configuration AzAcSnap. Vérifiez que ces valeurs existent pour chaque SID qui utilise SSL.

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

Si vous utilisez plusieurs SID avec une clé différente pour chacun, copiez (ou déplacez et renommez) les fichiers dans l’emplacement securityPath tel que défini dans le fichier de configuration AzAcSnap du SID.

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

Le composant <SID> des noms de fichiers doit être l’identificateur système SAP HANA tout en capitales (par exemple, H80 ou PR1). Quand AzAcSnap appelle hdbsql, il ajoute -ssltruststore=<securityPath>/<SID>_truststore à la ligne de commande.

Si vous exécutez azacsnap -c test --test hana --ssl openssl, où SID est H80 dans le fichier de configuration, il exécute les connexions hdbsql comme suit :

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

Dans le code précédent, le caractère de barre oblique inverse (\) est un retour automatique à la ligne de command-line pour améliorer la clarté des multiples paramètres passés sur la ligne de commande.

Configurer la base de données

Cette section explique comment configurer la base de données.

Configurer SAP HANA

Il existe des modifications que vous pouvez appliquer à SAP HANA pour protéger les sauvegardes et le catalogue des journaux. Par défaut, basepath_logbackup et basepath_catalogbackup sont définis pour que SAP HANA place les fichiers associés dans le répertoire $(DIR_INSTANCE)/backup/log. Il est peu probable que cet emplacement se trouve sur un volume pour lequel AzAcSnap est configuré pour effectuer des instantanés, de sorte que les instantanés de stockage ne protégeront pas ces fichiers.

Les exemples de commandes hdbsql suivants démontrent la configuration des chemins d’accès au journal et au catalogue à des emplacements sur des volumes de stockage qu’AzAcSnap peut prendre en instantané. Pensez à vérifier que les valeurs de la ligne de commande correspondent à la configuration locale de SAP HANA.

Configurer l’emplacement de sauvegarde de fichier journal

Cet exemple montre une modification du paramètre 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"

Configurer l’emplacement de sauvegarde du catalogue

Cet exemple montre une modification du paramètre basepath_catalogbackup. Tout d’abord, vérifiez que le chemin d’accès basepath_catalogbackup existe sur le système de fichiers. Si ce n’est pas le cas, créez le chemin d’accès avec la même propriété que le répertoire.

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

Si vous devez créer le chemin d’accès, l’exemple suivant crée le chemin et définit la propriété et les autorisations appropriées. Vous devez exécuter ces commandes en tant que racine.

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

L’exemple suivant modifie le paramètre 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"

Vérifier les emplacements de sauvegarde du journal et du catalogue

Après avoir apporté les modifications aux emplacements de sauvegarde du journal et du catalogue, vérifiez que les paramètres sont corrects à l’aide de la commande suivante.

Dans cet exemple, les paramètres apparaissent en tant que paramètres SYSTEM. Cette requête renvoie également les paramètres DEFAULT à des fins de comparaison.

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

Configurer le délai d’expiration de la sauvegarde de fichier journal

Le paramètre par défaut de SAP HANA pour effectuer une sauvegarde de fichier journal est 900 secondes (15 minutes). Nous vous recommandons de réduire cette valeur à 300 secondes (5 minutes). Il est alors possible d’exécuter des sauvegardes régulières de ces fichiers (par exemple, toutes les 10 minutes). Vous pouvez effectuer ces sauvegardes en ajoutant les volumes log_backup à la section de volume OTHER du fichier de configuration.

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"

Vérifier le délai d’expiration de la sauvegarde de fichier journal

Après avoir apporté la modification au délai d’attente de sauvegarde de fichier journal, vérifiez que le délai d’attente est défini à l’aide de la commande suivante.

Dans cet exemple, les paramètres sont affichés en tant que paramètres SYSTEM. Cette requête renvoie également les paramètres DEFAULT à des fins de comparaison.

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

Étapes suivantes