Compartilhar via


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.

  1. 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=>
    
  2. 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;
    
  3. 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;
      
  4. 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;
    
  5. 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>
    
  6. 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 uso hdbuserstore 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 hdbsqlconexõ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

Próximos passos