Compartilhar via


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.

  1. 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=>
    
  2. 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;
    
  3. 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;
      
  4. 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;
    
  5. 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>
    
  6. 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 usar hdbuserstore 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 hdbsqlda 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

Próximas etapas