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.
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=>
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;
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;
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;
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>
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 dehdbuserstore
, 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