Configurar o banco de dados para a ferramenta Instantâneo Consistente do Aplicativo do Azure
Este artigo fornece um guia para configurar o banco de dados e os pré-requisitos do banco de dados para uso com a ferramenta de Instantâneo Consistente de Aplicativo do Azure (AzAcSnap) que você pode usar com Arquivos NetApp do Azure ou Instâncias Grandes do Azure.
Habilitar a comunicação com o banco de dados
Esta seção explica como habilitar a comunicação com o banco de dados. Use as guias a seguir para selecionar corretamente o banco de dados que você está usando.
Se você estiver implantando em uma máquina virtual centralizada, precisará instalar e configurar o cliente SAP HANA para que o usuário AzAcSnap possa executar hdbsql
e hdbuserstore
comandos. Você pode fazer o download do cliente SAP HANA no site SAP Development Tools.
As ferramentas de snapshot se comunicam com o SAP HANA e precisam de um usuário com permissões apropriadas para iniciar e liberar o ponto de salvamento do banco de dados. O exemplo a seguir mostra a configuração do usuário do SAP HANA 2.0 e hdbuserstore
a comunicação com o banco de dados do SAP HANA.
Os comandos de exemplo a seguir configuram um usuário (AZACSNAP
) no SYSTEMDB em um banco de dados SAP HANA 2.0. Altere o endereço IP, nomes de usuário e senhas conforme apropriado.
Conecte-se ao 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=>
Crie o usuário. Este exemplo cria o
AZACSNAP
usuário em SYSTEMDB:hdbsql SYSTEMDB=> CREATE USER AZACSNAP PASSWORD <AZACSNAP_PASSWORD_CHANGE_ME> NO FORCE_FIRST_PASSWORD_CHANGE;
Conceda permissões ao usuário. Este exemplo define a permissão para o
AZACSNAP
usuário permitir a execução de um instantâneo de armazenamento consistente com o banco de dados:Para versões do SAP HANA até a versão 2.0 SPS 03:
hdbsql SYSTEMDB=> GRANT BACKUP ADMIN, CATALOG READ TO AZACSNAP;
Para versões do SAP HANA a partir da versão 2.0 SPS 04, a SAP adicionou novos privilégios refinados:
hdbsql SYSTEMDB=> GRANT BACKUP ADMIN, DATABASE BACKUP ADMIN, CATALOG READ TO AZACSNAP;
Opcional: Impedir que a senha do usuário expire.
Nota
Verifique com a política corporativa antes de fazer essa alteração.
O exemplo a seguir desabilita a expiração da senha para o
AZACSNAP
usuário. Sem essa alteração, a senha do usuário pode expirar e impedir que os instantâneos sejam tirados corretamente.hdbsql SYSTEMDB=> ALTER USER AZACSNAP DISABLE PASSWORD LIFETIME;
Configure o SAP HANA Secure User Store (altere a senha). Este exemplo usa o
hdbuserstore
comando do shell do Linux para configurar o SAP HANA Secure User Store:hdbuserstore Set AZACSNAP <IP_address_of_host>:30013 AZACSNAP <AZACSNAP_PASSWORD_CHANGE_ME>
Verifique se você configurou corretamente o SAP HANA Secure User Store. Use o
hdbuserstore
comando para listar a saída, semelhante ao exemplo a seguir. Mais detalhes sobre o usohdbuserstore
estão disponíveis no site da 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
Usando SSL para comunicação com o SAP HANA
O AzAcSnap usa o comando do SAP HANA para se comunicar com o hdbsql
SAP HANA. O uso hdbsql
permite o uso de opções SSL para criptografar a comunicação com o SAP HANA.
AzAcSnap sempre usa as seguintes opções quando você está usando a azacsnap --ssl
opção:
-e
: Habilita a criptografia TLS/SSL. O servidor escolhe o mais alto disponível.-ssltrustcert
: Especifica se o certificado do servidor deve ser validado.-sslhostnameincert "*"
: Especifica o nome do host que verifica a identidade do servidor. Quando você especifica"*"
como o nome do host, o nome do host do servidor não é validado.
A comunicação SSL também requer arquivos de armazenamento de chaves e de armazenamento de confiança. É possível que esses arquivos sejam armazenados em locais padrão em uma instalação do Linux. Mas para garantir que o material de chave correto está sendo usado para os vários sistemas SAP HANA (para os casos em que diferentes arquivos de armazenamento de chaves e armazenamento de confiança são usados para cada sistema SAP HANA), o securityPath
AzAcSnap espera que os arquivos de armazenamento de chaves e armazenamento de confiança sejam armazenados no local. O arquivo de configuração AzAcSnap especifica esse local.
Arquivos de armazenamento de chaves
Se você estiver usando vários identificadores de sistema (SIDs) com o mesmo material de chave, será mais fácil criar links para o securityPath
local, conforme definido no arquivo de configuração AzAcSnap. Verifique se esses valores existem para cada SID que usa SSL.
- Para
openssl
:ln $HOME/.ssl/key.pem <securityPath>/<SID>_keystore
- Para
commoncrypto
:ln $SECUDIR/sapcli.pse <securityPath>/<SID>_keystore
Se você estiver usando vários SIDs com material de chave diferente por SID, copie (ou mova e renomeie) os arquivos para o securityPath
local, conforme definido no arquivo de configuração AzAcSnap do SID.
- Para
openssl
:mv key.pem <securityPath>/<SID>_keystore
- Para
commoncrypto
:mv sapcli.pse <securityPath>/<SID>_keystore
Quando AzAcSnap chama hdbsql
, ele adiciona -sslkeystore=<securityPath>/<SID>_keystore
à linha de hdbsql
comando.
Arquivos de armazenamento de confiança
Se você estiver usando vários SIDs com o mesmo material de chave, crie links físicos no securityPath
local, conforme definido no arquivo de configuração AzAcSnap. Verifique se esses valores existem para cada SID que usa SSL.
- Para
openssl
:ln $HOME/.ssl/trust.pem <securityPath>/<SID>_truststore
- Para
commoncrypto
:ln $SECUDIR/sapcli.pse <securityPath>/<SID>_truststore
Se você estiver usando vários SIDs com o material de chave diferente por SID, copie (ou mova e renomeie) os arquivos para o securityPath
local, conforme definido no arquivo de configuração AzAcSnap do SID.
- Para
openssl
:mv trust.pem <securityPath>/<SID>_truststore
- Para
commoncrypto
:mv sapcli.pse <securityPath>/<SID>_truststore
O <SID>
componente dos nomes de arquivo deve ser o identificador do sistema SAP HANA em maiúsculas (por exemplo, H80
ou PR1
). Quando AzAcSnap chama hdbsql
, ele adiciona -ssltruststore=<securityPath>/<SID>_truststore
à linha de comando.
Se você executar azacsnap -c test --test hana --ssl openssl
, onde SID
está H80
no arquivo de configuração, ele executará as hdbsql
conexões da seguinte maneira:
hdbsql \
-e \
-ssltrustcert \
-sslhostnameincert "*" \
-sslprovider openssl \
-sslkeystore ./security/H80_keystore \
-ssltruststore ./security/H80_truststore
"sql statement"
No código anterior, o caractere de barra invertida (\
) é uma quebra automática de linha de comando para melhorar a clareza dos vários parâmetros passados na linha de comando.
Configurar o banco de dados
Esta seção explica como configurar o banco de dados.
Configurar o SAP HANA
Há alterações que você pode aplicar ao SAP HANA para ajudar a proteger os backups de log e o catálogo. Por padrão, basepath_logbackup
e basepath_catalogbackup
são definidos para que o $(DIR_INSTANCE)/backup/log
SAP HANA coloque arquivos relacionados no diretório. É improvável que esse local esteja em um volume que o AzAcSnap esteja configurado para snapshot, portanto, os snapshots de armazenamento não protegerão esses arquivos.
Os exemplos de comando a seguir hdbsql
demonstram a configuração dos caminhos de log e catálogo para locais em volumes de armazenamento que o AzAcSnap pode capturar instantâneos. Certifique-se de verificar se os valores na linha de comando correspondem à configuração local do SAP HANA.
Configurar o local de backup de log
Este exemplo mostra uma alteração no basepath_logbackup
parâmetro:
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"
Configurar o local de backup do catálogo
Este exemplo mostra uma alteração no basepath_catalogbackup
parâmetro. Primeiro, verifique se o basepath_catalogbackup
caminho existe no sistema de arquivos. Caso contrário, crie o caminho com a mesma propriedade do diretório.
ls -ld /hana/logbackups/H80/catalog
drwxr-x--- 4 h80adm sapsys 4096 Jan 17 06:55 /hana/logbackups/H80/catalog
Se você precisar criar o caminho, o exemplo a seguir cria o caminho e define a propriedade e as permissões corretas. Você precisa executar esses comandos como 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
O exemplo a seguir altera a configuração do 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"
Verificar locais de backup de log e catálogo
Depois de fazer as alterações nos locais de backup de log e catálogo, confirme se as configurações estão corretas usando o comando a seguir.
Neste exemplo, as configurações aparecem como SYSTEM
configurações. Essa consulta também retorna as DEFAULT
configurações para comparação.
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
Configurar o tempo limite de backup de log
A configuração padrão para o SAP HANA executar um backup de log é 900
de segundos (15 minutos). Recomendamos que reduza este valor para 300
segundos (5 minutos). Em seguida, é possível executar backups regulares desses arquivos (por exemplo, a cada 10 minutos). Você pode fazer esses backups adicionando os log_backup
volumes à OTHER
seção de volume do arquivo de configuração.
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"
Verifique o tempo limite de backup de log
Depois de fazer a alteração no tempo limite do backup de log, verifique se o tempo limite está definido usando o comando a seguir.
Neste exemplo, as configurações são exibidas como SYSTEM
configurações. Essa consulta também retorna as DEFAULT
configurações para comparação.
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