Configuración de la base de datos para la herramienta Azure Application Consistent Snapshot
En este artículo se ofrece una guía de configuración de la base de datos y los requisitos previos de esta para su uso con la herramienta Azure Application Consistent Snapshot (AzAcSnap) que puede usar con Azure NetApp Files o Azure (instancias grandes).
Habilitación de la comunicación con la base de datos
En esta sección se explica cómo habilitar la comunicación con la base de datos. Use las pestañas siguientes para seleccionar correctamente la base de datos que está usando.
Si se implementa en una máquina virtual centralizada, será preciso instalar y configurar el cliente de SAP HANA para que el usuario de AzAcSnap pueda ejecutar los comandos hdbsql
y hdbuserstore
. Puede descargar el cliente de SAP HANA desde el sitio web de Herramientas de desarrollo de SAP.
Las herramientas de instantáneas se comunican con SAP HANA y necesitan que un usuario con los permisos adecuados inicie y lance el punto de almacenamiento de la base de datos. En el ejemplo siguiente se muestra la configuración del usuario de SAP HANA 2.0 y hdbuserstore
para la comunicación con la base de datos de SAP HANA.
Los siguientes comandos de ejemplo configuran un usuario (AZACSNAP
) en SYSTEMDB de una base de datos de SAP HANA 2.0. Cambie la dirección IP, los nombres de usuario y las contraseñas según corresponda.
Conéctese a 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=>
Cree el usuario. En este ejemplo se crea el usuario
AZACSNAP
en SYSTEMDB:hdbsql SYSTEMDB=> CREATE USER AZACSNAP PASSWORD <AZACSNAP_PASSWORD_CHANGE_ME> NO FORCE_FIRST_PASSWORD_CHANGE;
Conceda los permisos de usuario. En este ejemplo se establece el permiso para que el usuario
AZACSNAP
permita realizar una instantánea de almacenamiento coherente con la base de datos:Para versiones de SAP HANA hasta la versión 2.0 SPS 03:
hdbsql SYSTEMDB=> GRANT BACKUP ADMIN, CATALOG READ TO AZACSNAP;
Para versiones de SAP HANA a partir de la versión 2.0 SPS 04, SAP agregó nuevos privilegios específicos:
hdbsql SYSTEMDB=> GRANT BACKUP ADMIN, DATABASE BACKUP ADMIN, CATALOG READ TO AZACSNAP;
Opcional: evite que expire la contraseña del usuario.
Nota:
Compruebe las directivas corporativas antes de efectuar este cambio.
En el siguiente ejemplo se deshabilita la expiración de la contraseña para el usuario
AZACSNAP
. Sin este cambio, la contraseña del usuario podría expirar e impedir que las instantáneas se tomen correctamente.hdbsql SYSTEMDB=> ALTER USER AZACSNAP DISABLE PASSWORD LIFETIME;
Configure el almacén seguro de usuarios de SAP HANA (cambie la contraseña). En este ejemplo se usa el comando
hdbuserstore
del shell de Linux para configurar el almacén seguro de usuarios de SAP HANA:hdbuserstore Set AZACSNAP <IP_address_of_host>:30013 AZACSNAP <AZACSNAP_PASSWORD_CHANGE_ME>
Compruebe que ha configurado correctamente el almacén seguro de usuarios de SAP HANA. Use el comando
hdbuserstore
para enumerar la salida, similar a la del siguiente ejemplo. Puede encontrar más información sobre el uso dehdbuserstore
en el sitio 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
Uso de SSL para la comunicación con SAP HANA
AzAcSnap emplea el comando hdbsql
de SAP HANA para comunicarse con SAP HANA. El uso de hdbsql
permite a su vez el de las opciones de SSL para cifrar la comunicación con SAP HANA.
AzAcSnap siempre usa las siguientes opciones cuando se usa la opción azacsnap --ssl
:
-e
: habilita el cifrado TLS/SSL. El servidor elige el mayor valor disponible.-ssltrustcert
: especifica si se debe validar el certificado del servidor.-sslhostnameincert "*"
: especifica el nombre de host usado que comprueba la identidad del servidor. Al especificar"*"
como nombre de host, no se valida el nombre de host del servidor.
La comunicación SSL también requiere archivos de almacén de claves y de almacenamiento de confianza. Es posible que estos archivos se almacenen en ubicaciones predeterminadas en una instalación de Linux. Sin embargo, para garantizar que se utiliza el material de clave correcto para los distintos sistemas SAP HANA (en los casos en los que se usan diferentes archivos de almacén de claves y de almacenamiento de confianza para cada sistema SAP HANA), AzAcSnap espera que los archivos de almacén de claves y de almacenamiento de confianza se almacenen en la ubicación securityPath
. El archivo de configuración de AzAcSnap especifica esta ubicación.
Archivos del almacén de claves
Si usa varios identificadores del sistema (SID) con el mismo material de clave es más fácil crear vínculos a la ubicación securityPath
, como se define en el archivo de configuración de AzAcSnap. Asegúrese de que estos valores existen para todos los SID que usen SSL.
- Para
openssl
:ln $HOME/.ssl/key.pem <securityPath>/<SID>_keystore
- Para
commoncrypto
:ln $SECUDIR/sapcli.pse <securityPath>/<SID>_keystore
Si usa varios identificadores de seguridad con distinto material de clave para cada uno de ellos, copie los archivos (o muévalos y cámbieles el nombre) en la ubicación securityPath
como se define en el archivo de configuración de AzAcSnap de los identificadores de seguridad.
- Para
openssl
:mv key.pem <securityPath>/<SID>_keystore
- Para
commoncrypto
:mv sapcli.pse <securityPath>/<SID>_keystore
Cuando AzAcSnap llama a hdbsql
, agrega -sslkeystore=<securityPath>/<SID>_keystore
a la línea de comandos hdbsql
.
Archivos del almacén de confianza
Si usa varios identificadores de seguridad con el mismo material de clave, cree vínculos rígidos a la ubicación securityPath
como se define en el archivo de configuración de AzAcSnap. Asegúrese de que estos valores existen para todos los SID que usen SSL.
- Para
openssl
:ln $HOME/.ssl/trust.pem <securityPath>/<SID>_truststore
- Para
commoncrypto
:ln $SECUDIR/sapcli.pse <securityPath>/<SID>_truststore
Si usa varios identificadores de seguridad con distinto material de clave para cada uno de ellos, copie los archivos (o muévalos y cámbieles el nombre) en la ubicación securityPath
como se define en el archivo de configuración de AzAcSnap de los identificadores de seguridad.
- Para
openssl
:mv trust.pem <securityPath>/<SID>_truststore
- Para
commoncrypto
:mv sapcli.pse <securityPath>/<SID>_truststore
El componente <SID>
de los nombres de archivo debe ser el identificador del sistema SAP HANA en mayúsculas (por ejemplo, H80
o PR1
). Cuando AzAcSnap llama a hdbsql
, agrega -ssltruststore=<securityPath>/<SID>_truststore
a la línea de comandos.
Si ejecuta azacsnap -c test --test hana --ssl openssl
, donde SID
es H80
en el archivo de configuración, ejecutará las hdbsql
conexiones de la siguiente manera:
hdbsql \
-e \
-ssltrustcert \
-sslhostnameincert "*" \
-sslprovider openssl \
-sslkeystore ./security/H80_keystore \
-ssltruststore ./security/H80_truststore
"sql statement"
En el código anterior, el carácter de barra diagonal inversa (\
) es un ajuste de línea de la línea de comandos que mejora la claridad de los distintos parámetros que se pasan en la línea de comandos.
Configuración de la base de datos
En esta sección se explica cómo configurar la base de datos.
Configuración de SAP HANA
Hay cambios que puede aplicar a SAP HANA para ayudar a proteger las copias de seguridad de los registros y el catálogo. De forma predeterminada, se establecen basepath_logbackup
y basepath_catalogbackup
para que SAP HANA coloque archivos relacionados en el directorio $(DIR_INSTANCE)/backup/log
. Es poco probable que esta ubicación se encuentre en un volumen con AzAcSnap configurado para crear instantáneas, por lo que las instantáneas de almacenamiento no protegerán estos archivos.
Los siguientes ejemplos de comandos de hdbsql
muestran la configuración de las rutas de acceso del catálogo y del registro en volúmenes de almacenamiento donde AzAcSnap puede realizar instantáneas. Asegúrese de comprobar que los valores de la línea de comandos coinciden con la configuración de SAP HANA local.
Configuración de la ubicación de copia de seguridad de los registros
En este ejemplo se muestra un cambio en el parámetro 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"
Configuración de la ubicación de copia de seguridad del catálogo
En este ejemplo se muestra un cambio en el parámetro basepath_catalogbackup
. Asegúrese primero de que la ruta de acceso basepath_catalogbackup
existe en el sistema de archivos. Si no es así, cree la ruta de acceso con el mismo control que el directorio.
ls -ld /hana/logbackups/H80/catalog
drwxr-x--- 4 h80adm sapsys 4096 Jan 17 06:55 /hana/logbackups/H80/catalog
Si es necesario crear la ruta de acceso, en el ejemplo siguiente se crea la ruta de acceso y se establecen los permisos y el control correctos. Debe ejecutar estos comandos como raíz.
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
En el siguiente ejemplo se cambia la configuración de 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"
Comprobación de la ubicación de las copias de seguridad del catálogo y del registro
Después de realizar los cambios en las ubicaciones de copia de seguridad de registros y catálogos, confirme que la configuración es correcta con el siguiente comando.
En este ejemplo, la configuración aparece como configuración SYSTEM
. Esta consulta también devuelve la configuración DEFAULT
para la comparación.
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
Configuración del tiempo de espera de la copia de seguridad de registros
La configuración predeterminada de SAP HANA para realizar una copia de seguridad de registros es 900
segundos (15 minutos). Se recomienda reducir este valor a 300
segundos (5 minutos). Entonces, es posible realizar copias de seguridad periódicas de estos archivos (por ejemplo, cada 10 minutos). Puede tomar estas copias de seguridad mediante la incorporación de los volúmenes log_backup
a la sección de volumen OTHER
del archivo de configuración.
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"
Comprobación del tiempo de espera de la copia de seguridad de registros
Después de realizar el cambio en el tiempo de espera de la copia de seguridad de registros, asegúrese de que el tiempo de espera se establece mediante el siguiente comando.
En este ejemplo, la configuración aparece como configuración SYSTEM
. Esta consulta también devuelve la configuración DEFAULT
para la comparación.
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