Configurar o banco de dados para a ferramenta de Instantâneo Consistente do Aplicativo Azure
Este artigo oferece um guia para configurar o banco de dados e os pré-requisitos do banco de dados para uso com a ferramenta Instantâneo Consistente do Aplicativo Azure (AzAcSnap) que pode ser usada com o Azure NetApp Files ou com 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, terá de instalar e configurar o cliente SAP HANA para que o usuário do AzAcSnap possa executar os comandos hdbsql
e hdbuserstore
. Você pode baixar o cliente SAP HANA no site Ferramentas de Desenvolvimento SAP.
As ferramentas de instantâneo se comunicam com o SAP HANA e precisam de um usuário com permissões apropriadas para iniciar e liberar o p de salvamento do banco de dados. O exemplo a seguir mostra a configuração do usuário do SAP HANA 2.0 e hdbuserstore
para comunicação com o banco de dados SAP HANA.
Os comandos de exemplo a seguir configuram um usuário (AZACSNAP
) em SYSTEMDB no banco de dados SAP HANA 2.0. Altere o endereço IP, os nomes de usuário e as senhas conforme apropriado.
Conectar 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 usuário
AZACSNAP
no SYSTEMDB:hdbsql SYSTEMDB=> CREATE USER AZACSNAP PASSWORD <AZACSNAP_PASSWORD_CHANGE_ME> NO FORCE_FIRST_PASSWORD_CHANGE;
Conceda permissões de usuário. Este exemplo define a permissão para o usuário
AZACSNAP
permitir a execução de um instantâneo de armazenamento consistente com o banco de dados:Para SAP HANA até a versão 2.0 SPS 03:
hdbsql SYSTEMDB=> GRANT BACKUP ADMIN, CATALOG READ TO AZACSNAP;
Para SAP HANA da versão 2.0 SPS 04, a SAP adicionou novos privilégios finos:
hdbsql SYSTEMDB=> GRANT BACKUP ADMIN, DATABASE BACKUP ADMIN, CATALOG READ TO AZACSNAP;
Opcional: impedir que a senha do usuário expire.
Observação
Verifique a política corporativa antes de você fazer essa alteração.
O exemplo a seguir desabilita a expiração da senha para o usuário
AZACSNAP
. Sem essa alteração, a senha do usuário poderia expirar e impedir que os instantâneos fossem tirados corretamente.hdbsql SYSTEMDB=> ALTER USER AZACSNAP DISABLE PASSWORD LIFETIME;
Configure o SAP HANA Secure User Store (altere o senha). Este exemplo usa o comando
hdbuserstore
do shell do Linux para configurar o Armazenamento Seguro de Usuários do SAP HANA:hdbuserstore Set AZACSNAP <IP_address_of_host>:30013 AZACSNAP <AZACSNAP_PASSWORD_CHANGE_ME>
Verifique se você configurou corretamente o Armazenamento Seguro de Usuários do SAP HANA. Use o comando
hdbuserstore
para listar a saída, semelhante ao exemplo a seguir. Mais detalhes sobre como usarhdbuserstore
estão disponíveis no site do 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
Usar o SSL para comunicação com o SAP HANA
o AzAcSnap utiliza o comando hdbsql
do SAP HANA para se comunicar com o SAP HANA. O uso de hdbsql
permite o uso de opções de SSL para criptografar a comunicação com o SAP HANA.
O AzAcSnap sempre usa as seguintes opções quando você está usando a opção azacsnap --ssl
:
-e
: Habilita a criptografia TLS/SSL O servidor escolhe a mais alta 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 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 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 esteja sendo usado para os vários sistemas SAP HANA (para os casos em que diferentes arquivos dos armazenamento de chaves e de confiança são usados para cada sistema SAP HANA), o AzAcSnap espera que os arquivos de armazenamento de chaves e de confiança sejam armazenados na localização securityPath
. O arquivo de configuração do AzAcSnap especifica essa localização.
Arquivos do armazenamento de chaves
Se estiver usando vários identificadores de sistema (SIDs) com o mesmo material de chave, será mais fácil criar links para a localização securityPath
, conforme definido no arquivo de configuração do AzAcSnap. Certifique-se de que 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 estiver usando vários SIDs com material de chave diferente por SID, copie (ou mova e renomeie) os arquivos para a localização securityPath
, conforme definida no arquivo de configuração do AzAcSnap do SID.
- Para
openssl
:mv key.pem <securityPath>/<SID>_keystore
- Para
commoncrypto
:mv sapcli.pse <securityPath>/<SID>_keystore
Quando o AzAcSnap chama hdbsql
, ele adiciona -sslkeystore=<securityPath>/<SID>_keystore
à linha de comando hdbsql
.
Arquivos do armazenamento confiável
Se estiver usando vários SIDs com o mesmo material de chave, crie links físicos para a localização securityPath
definida no arquivo de configuração do AzAcSnap. Certifique-se de que 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 estiver usando vários SIDs com material de chave diferente por SID, copie (ou mova e renomeie) os arquivos para a localização securityPath
definida no arquivo de configuração do AzAcSnap do SID.
- Para
openssl
:mv trust.pem <securityPath>/<SID>_truststore
- Para
commoncrypto
:mv sapcli.pse <securityPath>/<SID>_truststore
O componente <SID>
dos nomes de arquivo deve ser o Identificador de Sistema do SAP HANA em letras maiúsculas (por exemplo, H80
ou PR1
). Quando o AzAcSnap chama hdbsql
, ele adiciona -ssltruststore=<securityPath>/<SID>_truststore
à linha de comando.
Se você executar azacsnap -c test --test hana --ssl openssl
, em que SID
é H80
no arquivo de configuração, ele executará as conexões hdbsql
da seguinte forma:
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 da 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 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 SAP HANA coloque os arquivos relacionados no diretório $(DIR_INSTANCE)/backup/log
. É improvável que essa localização esteja em um volume que o AzAcSnap esteja configurado para instantâneo, portanto, os instantâneos de armazenamento não protegerão esses arquivos.
Os exemplos do comando hdbsql
a seguir demonstram como definir os caminhos de log e de catálogo para localizações em volumes de armazenamento em que o AzAcSnap pode fazer instantâneos. Certifique-se de verificar se os valores na linha de comando correspondem à configuração do SAP HANA local.
Configurar a localização do backup de log
Este exemplo mostra uma alteração no 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"
Configurar a localização do backup de catálogo
Este exemplo mostra uma alteração no parâmetro basepath_catalogbackup
. Primeiro, certifique-se de que o caminho basepath_catalogbackup
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 raiz.
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 a localização dos backups de log e de catálogo
Depois de fazer as alterações nas localizações de backup de log e do catálogo, confirme se as configurações estão corretas usando o seguinte comando.
Neste exemplo, as configurações aparecem como configurações de SYSTEM
. Essa consulta também retorna as configurações de DEFAULT
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 do backup de log
A configuração padrão para o SAP HANA realizar um backup de log é de 900
segundos (15 minutos). Recomendamos que você reduza esse valor para 300
segundos (5 minutos). Em seguida, é possível executar backups regulares desses arquivos (por exemplo, a cada dez minutos). Você pode fazer esses backups adicionando os volumes log_backup
à seção de volume OTHER
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"
Verificar o tempo limite do backup de log
Depois de fazer a alteração no tempo limite do backup de log, certifique-se de que o tempo limite está definido usando o seguinte comando.
Neste exemplo, as configurações são exibidas como configurações de SYSTEM
. Essa consulta também retorna as configurações de DEFAULT
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