Visão geral do agente do Backint do Cloud Storage para SAP HANA

É possível enviar backups do SAP HANA diretamente para o Cloud Storage a partir de instâncias do SAP HANA em execução no Google Cloud, na Solução Bare Metal, no local ou em outras plataformas na nuvem usando o agente do Backint do Cloud Storage certificado para SAP (agente Backint).

O agente do Backint é integrado ao SAP HANA para que seja possível armazenar e recuperar backups diretamente do Cloud Storage usando as funções nativas de backup e recuperação do SAP.

Ao usar o agente do Backint, você não precisa usar o armazenamento em disco permanente para backups.

Para instruções de instalação do agente do Backint, consulte o Guia de instalação do agente do Cloud Storage para SAP HANA.

Para mais informações sobre a certificação SAP do agente do Backint, consulte:

Arquivo de configuração do agente do Backint

Para configurar o agente do Backint, especifique parâmetros em um arquivo de texto simples.

O arquivo de configuração padrão é chamado parameters.txt e o local padrão é /usr/sap/SID/SYS/global/hdb/opt/backint/backint-gcs/parameters.txt.

É possível especificar vários arquivos de configuração dando a cada arquivo um nome diferente.

Por exemplo, é possível especificar uma configuração para backups de registros em um arquivo chamado backint-log-backups.txt e uma configuração para backups de dados em um arquivo chamado backint-data-backups.txt.

Como armazenar backups nos buckets do Cloud Storage

O agente do Backint armazena os backups do SAP HANA em um bucket do Cloud Storage.

Ao criar um bucket, escolha o local e a classe de armazenamento dele.

Um local de bucket pode ser regional, birregional ou multirregional. A escolha depende da sua necessidade de restringir o local dos dados, os requisitos de latência para backups e restaurações e a necessidade de proteção contra interrupções regionais. Para mais informações, consulte Locais de bucket.

Selecione buckets birregionais ou multirregionais em regiões que são iguais ou próximas às regiões em que as instâncias do SAP HANA estão em execução.

Escolha uma classe de armazenamento com base no tempo necessário para manter os backups, a frequência com que você espera acessá-los e o custo. Para mais informações, consulte Classes de armazenamento.

Como fazer multistreaming de backups de dados com o agente do Backint

Para versões anteriores ao SAP HANA 2.0 SP05, o SAP HANA é compatível com multistreaming para bancos de dados maiores que 128 GB. A partir do SAP HANA 2.0 SP05, esse limite agora pode ser configurado por meio do parâmetro do SAP HANA parallel_data_backup_backint_data_threshold, que especifica o tamanho mínimo do backup do banco de dados em GB para que o multistreaming seja ativado.

O multistreaming é útil para aumentar a capacidade e fazer backup de bancos de dados maiores que 5 TB, que é o tamanho máximo de um único objeto no Cloud Storage.

O número ideal de canais usados para multistreaming depende do tipo de bucket do Cloud Storage que você está usando e do ambiente em que o SAP HANA está sendo executado. Considere também a capacidade do disco de dados anexado à instância do HANA, bem como a largura de banda alocada pelo administrador para as atividades de backup.

É possível ajustar a capacidade alterando o número de fluxos ou limitando a capacidade usando o parâmetro #RATE_LIMIT_MB em parameters.txt, o arquivo de configuração do agente do Backint.

Para um bucket multirregional, comece com oito canais definindo o parâmetro parallel_data_backup_backint_channels como 8 no arquivo de configuração global.ini do SAP HANA.

Para um bucket regional, comece com 12 canais definindo o parallel_data_backup_backint_channels no arquivo global.ini como 12.

Ajuste o número de canais conforme necessário para atingir seus objetivos de desempenho de backup.

Conforme declarado na documentação do SAP HANA, cada canal extra requer um buffer de E/S de 512 MB. Especifique o tamanho do buffer de E/S usando o parâmetro data_backup_buffer_size corretamente na seção de backup do arquivo global.ini. Para mais informações sobre o efeito do tamanho do buffer de E/S em tempos de backup, consulte a Nota SAP 24657261. A partir dp SAP HANA 2.0 SP05, especificamos um valor máximo para esse parâmetro de 4 GB. O teste no Google Cloud não oferece benefícios em aumentar o tamanho do buffer significativamente além do padrão, mas isso pode variar de acordo com sua carga de trabalho.

Para mais informações sobre multistreaming, no Guia de administração do SAP HANA específico para sua versão do SAP HANA, consulte Backups de dados de multistream com ferramentas de backup de terceiros.

Uploads paralelos

É possível melhorar o desempenho de upload de dados e arquivos de registro com menos de 5 TB ativando o recurso de upload paralelo do agente do Backint. Isso é especialmente útil para arquivos de registro que não podem executar multistream ou arquivos de dados menores que 128 GB que não podiam executar multistream em versões do SAP HANA anteriores à 2.0 SPS 05.

Quando o upload paralelo está ativado, o agente do Backint divide cada arquivo de backup individual recebido do SAP HANA em várias partes. Em seguida, ele é carregado em paralelo, o que melhora o desempenho do upload.

Como as partes são recebidas pelo Cloud Storage, elas são remontadas e armazenadas como o único arquivo original recebido pelo agente do Backint do SAP HANA. O único arquivo está sujeito ao limite de tamanho de 5 TB de objetos no Cloud Storage.

Como configurar o upload paralelo

O recurso de upload paralelo é ativado no arquivo de configuração parameters.txt especificando o número máximo de linhas de execução de upload paralelo no parâmetro #PARALLEL_FACTOR.

Os parâmetros #PARALLEL_PART_SIZE_MB, que define o tamanho de cada parte, e #THREADS, que determina o número de linhas de execução de worker, são apenas para ajuste avançado. Não altere essas configurações, a menos que você seja instruído a fazer isso pelo Cloud Customer Care. Raramente os valores padrão precisam ser alterados.

Para mais informações sobre os parâmetros de upload paralelo, consulte Opções de configuração para o agente do Backint.

Restrições do upload paralelo

As seguintes restrições se aplicam ao recurso de upload paralelo:

  • Se você ativar a criptografia com os parâmetros de configuração #ENCRYPTION_KEY ou #KMS_KEY_NAME, não será possível usar o upload paralelo. Se #PARALLEL_FACTOR for especificado com um parâmetro de criptografia, o agente do Backint será encerrado com um status de 1.
  • Se o bucket do Cloud Storage implementar uma política de retenção, o bucket não será compatível com uploads paralelos. A política de retenção evita a remontagem das partes em um único arquivo, o que faz com que o upload falhe.

Para mais informações sobre os parâmetros de upload paralelo, consulte Opções de configuração para o agente do Backint.

Como ajustar o upload paralelo

É possível ajustar backups de arquivos de dados separadamente dos arquivos de registro se você usar arquivos de configuração parameters.txt diferentes para cada um.

Especifique o arquivo de configuração para backups de dados no parâmetro de configuração data_backup_parameter_file SAP HANA. do Especifique o arquivo de configuração para backups de registros no parâmetro de configuração log_backup_parameter_file.

Para encontrar uma boa configuração para seu ambiente, carga de trabalho e tipo de backup específicos, teste cada tipo com configurações diferentes e avalie a capacidade de backup.

Para backups, os uploads paralelos podem melhorar significativamente a capacidade de backup, porque o SAP HANA não faz backups de registros de multistream. Na maioria dos casos, especificar um #PARALLEL_FACTOR de 16 ou menos é suficiente. Para volumes de registro muito altos, é possível maximizar a capacidade usando um valor #PARALLEL_FACTOR alto, como 16, e aumentar os parâmetros do SAP HANA log_segment_size_mb e max_log_backup_size.

Para backups de dados, na maioria dos casos, é possível ajustar o número de canais de backup do SAP HANA usando apenas o parâmetro SAP HANA parallel_data_backup_backint_channels. No entanto, também é possível usar #PARALLEL_FACTOR para melhorar o desempenho sem aumentar os canais do SAP HANA. para

Por exemplo, 16 canais do SAP HANA com #PARALLEL_FACTOR desativado oferecem uma capacidade máxima semelhante para backups de dados como 4 a 8 canais do SAP HANA com #PARALLEL_FACTOR de 16.

Em alguns casos, o uso de um valor #PARALLEL_FACTOR alto pode diminuir a capacidade geral, como pode acontecer se você também estiver usando um número alto de canais de backup paralelo.

Para limitar a largura de banda da rede que seus backups usam, use #RATE_LIMIT_MB para definir a quantidade máxima de largura de banda que os uploads paralelos podem usar.

Autenticação e controle de acesso para o agente do Backint

O Google Cloud usa contas de serviço para identificar programas como o agente do Backint e controlar quais recursos do Google Cloud os programas podem acessar.

Permissões necessárias do Cloud Storage

Uma conta de serviço para o agente do Backint precisa receber permissões para os recursos do Google Cloud que o agente do Backint acessa. O papel Administrador de objetos do Storage fornece permissões para listar, receber, criar e excluir objetos de buckets do Cloud Storage.

É possível definir as permissões da conta de serviço no nível do projeto ou do bucket. Se você configurá-lo no nível do projeto, concederá ao agente do Backint acesso a todos os buckets no projeto. Se você configurá-lo no nível do bucket, concederá ao agente do Backint acesso apenas a um único bucket. Para mais informações sobre as permissões de bucket do Cloud Storage, consulte:

Opções de conta de serviço para o agente do Backint

Se o SAP HANA estiver em execução em uma VM do Compute Engine, por padrão, o agente do Backint usará a conta de serviço da VM.

Se você usa a conta de serviço da VM, o agente do Backint tem as mesmas permissões no nível do projeto que todos os outros programas e processos que usam a conta do serviço da VM.

Para ter o controle de acesso mais rigoroso, crie uma conta de serviço separada para o agente do Backint e conceda à conta de serviço acesso no nível do bucket.

Se o SAP HANA não estiver em execução em uma VM do Compute Engine, você precisará criar uma conta de serviço para o agente do Backint. Crie a conta de serviço no projeto do Google Cloud que contém o bucket do Cloud Storage que o agente do Backint usará.

Ao criar uma conta de serviço para o agente do Backint, você também precisa criar uma chave de conta de serviço. Você armazena a chave na VM do SAP HANA e especifica o caminho para a chave no arquivo parameters.txt. Quando o SAP HANA está sendo executado em uma VM do Compute Engine, a especificação do caminho para uma chave direciona o agente do Backint para usar a conta de serviço associada à chave em vez da conta de serviço da VM.

Ao usar uma conta de serviço dedicada para o agente do Backint, alterne as chaves regularmente como prática recomendada para se proteger contra acesso não autorizado.

Se você usar uma chave de criptografia gerenciada pelo cliente que é gerada pelo Cloud Key Management Service para criptografar seus backups no Cloud Storage, será preciso conceder à conta de serviço acesso à chave de criptografia. Para mais informações, consulte Como atribuir uma chave do Cloud KMS a uma conta de serviço.

Atualizações do agente do Backint

Periodicamente, o Google Cloud lança novas versões do agente do Backint e faz o download delas sem custo adicional.

Para atualizar o agente do Backint, o host do SAP HANA precisa ser compatível com solicitações HTTP remotas para https://www.googleapis.com/.

Para atualizar uma instância atual do agente do Backint para uma nova versão, consulte Como atualizar o agente do Backint para uma nova versão.

Criptografia para backups

O Cloud Storage sempre criptografa os dados antes de gravá-los em disco. Para aplicar uma camada extra de criptografia, é possível fornecer suas próprias chaves para a criptografia no servidor dos backups do agente do Backint.

Você tem duas opções para fornecer suas próprias chaves com o agente do Backint:

Para usar uma chave de criptografia gerenciada pelo cliente, especifique o caminho para a chave no parâmetro #KMS_KEY_NAME no arquivo parameters.txt. Além disso, conceda à chave a VM ou a conta de serviço do agente do Backint. Para mais informações sobre como conceder a uma conta de serviço acesso a uma chave de criptografia, consulte Como atribuir uma chave do Cloud KMS a uma conta de serviço.

Para usar uma chave de criptografia fornecida pelo cliente, especifique o caminho para a chave no parâmetro #ENCRYPTION_KEY arquivo parameters.txt. no A chave precisa ser uma string de chave AES-256 codificada em base64, conforme descrito em Chaves de criptografia fornecidas pelo cliente.

Restrições de criptografia

As seguintes restrições se aplicam ao recurso de criptografia:

  • Se #KMS_KEY_NAME e #ENCRYPTION_KEY forem especificados, o agente do Backint falhará e será encerrado com um status de 1.

  • Se #PARALLEL_FACTOR for especificado com #KMS_KEY_NAME ou #ENCRYPTION_KEY, o agente do Backint falhará e será encerrado com um status de 1.

Referência de parâmetro de configuração

É possível especificar várias opções para o agente do Backint no arquivo de configuração parameters.txt.

Quando você faz o download do agente do Backint pela primeira vez, o arquivo parameters.txt contém apenas dois parâmetros:

  • #BUCKET
  • #DISABLE_COMPRESSION

Observe que # faz parte do parâmetro, e não um indicador de comentário.

Especifique cada parâmetro em uma nova linha. Separe os parâmetros e valores com um espaço.

Os parâmetros de configuração do agente do Backint são mostrados na tabela a seguir.

Parâmetro e valor Descrição
#BUCKET bucket-name Um parâmetro obrigatório que especifica o nome do bucket do Cloud Storage em que o agente do Backint grava e lê. O agente do Backint cria objetos de backup com a classe de armazenamento do bucket e é compatível com todas as classes de armazenamento. O agente do Backint usa a criptografia padrão do Compute Engine para criptografar dados em repouso.
#CHUNK_SIZE_MB MB Parâmetro de ajuste avançado.

Controla o tamanho das solicitações HTTPS para o Cloud Storage durante as operações de backup ou restauração. O tamanho padrão do bloco é 100 MB, o que significa que um fluxo de solicitação HTTP para ou do Cloud Storage é mantido aberto até que 100 MB de dados sejam transferidos.

Não modifique essa configuração, a menos que seja instruído pelo Customer Care. A configuração padrão, que equilibra a capacidade e a confiabilidade, raramente precisa ser alterada.

Como o agente do Backint tenta realizar solicitações HTTP com falha várias vezes antes de falhar em uma operação, tamanhos de bloco menores resultam em menos dados que precisam ser retransmitidos se uma solicitação falhar. Tamanhos maiores de blocos podem melhorar a capacidade, mas exigem mais uso de memória e mais tempo para reenviar dados em caso de falha na solicitação.

#DISABLE_COMPRESSION

Parâmetro opcional que desativa a compactação padrão quando o agente do Backint grava backups no bucket do Cloud Storage. #DISABLE_COMPRESSION é especificado por padrão.

É recomendável especificar #DISABLE_COMPRESSION. Embora a compactação reduza o custo de armazenamento dos backups no Cloud Storage, ela exige mais processamento da CPU durante as operações de backup e diminui a capacidade de backup efetiva.

Independentemente dessa configuração, o agente do Backint é compatível com arquivos de backup compactados ou descompactados durante uma operação de restauração.

#ENCRYPTION_KEY path/to/key/file Especifica um caminho para uma chave de criptografia fornecida pelo cliente que o Cloud Storage usa para criptografar backups. O caminho precisa ser especificado como um caminho totalmente qualificado para uma chave AES-256 codificada em base64.

Não é possível especificar #ENCRYPTION_KEY com #KMS_KEY_NAME ou #PARALLEL_FACTOR.

Para mais informações sobre como usar suas próprias chaves de criptografia no Google Cloud, consulte Chaves de criptografia fornecidas pelo cliente.

#KMS_KEY_NAME path/to/key/file Especifica um caminho para uma chave de criptografia gerenciada pelo cliente que é gerada pelo Cloud Key Management Service. O Cloud Storage usa essa chave para criptografar backups.

Se o SAP HANA estiver em execução em uma VM do Compute Engine, a chave precisará ser acessível para a VM. Se o SAP HANA não estiver em execução no Google Cloud, a chave do Cloud KMS precisará ser vinculada à conta de serviço do agente do Backint. Veja mais informações em Contas de serviço.

Especifique o caminho usando o seguinte formato: projects/key_project/locations/location/keyRings/key_ring_name/cryptoKeys/key_name

Em que:

  • key_project é o ID do projeto associado à chave.
  • location é a disponibilidade regional da chave. Para mais informações, consulte Tipos de locais do Cloud KMS.
  • key_ring_name é o nome do keyring que contém a chave.
  • key_name é o nome da chave.

Não é possível especificar #KMS_KEY_NAME com #ENCRYPTION_KEY ou #PARALLEL_FACTOR.

Para mais informações sobre como gerenciar suas próprias chaves de criptografia no Google Cloud, consulte Chaves de criptografia gerenciadas pelo cliente

#MAX_GCS_RETRY integer Define o número máximo de vezes que o agente do Backint repete uma tentativa de leitura e gravação no Cloud Storage. O padrão é 5, que é o valor recomendado.
#PARALLEL_FACTOR integer

Parâmetro opcional que ativa o upload paralelo e define o número máximo de uploads paralelos. O valor "1" desativa os uploads paralelos. O padrão é "1".

Não ative o upload paralelo se:

  • O bucket de destino usar uma política de retenção.
  • #ENCRYPTION_KEY ou #KMS_KEY_NAME estiverem especificados.
#PARALLEL_PART_SIZE_MB integer Parâmetro de ajuste avançado.

Define o tamanho, em MB, de cada parte que é carregada em paralelo. O padrão é 128 MB.

Não modifique essa configuração, a menos que seja instruído pelo Customer Care. Raramente, é necessário alterar a configuração padrão.

#RATE_LIMIT_MB integer Parâmetro opcional que define um limite superior na largura de banda de saída para o Compute Engine durante operações de backup ou restauração. Por padrão, o Google Cloud não limita a largura de banda da rede para o agente do Backint. Quando definida, a capacidade pode variar, mas não excederá o limite especificado.
#SERVICE_ACCOUNT path/to/key/file Parâmetro opcional que especifica o caminho totalmente qualificado para a chave da conta de serviço do Google Cloud codificada em JSON quando a autenticação padrão do Compute Engine não é usada. A especificação de #SERVICE_ACCOUNT direciona o agente do Backint para usar a chave ao autenticar no serviço do Cloud Storage. A autenticação padrão do Compute Engine é recomendada.
#THREADS integer Parâmetro de ajuste avançado.

Define o número de linhas de execução de worker. O padrão é o número de processadores na máquina.

Não modifique essa configuração, a menos que seja instruído pelo Customer Care. Raramente, é necessário alterar a configuração padrão.

Geração de registros para o agente do Backint

Além dos registros mantidos pelo SAP HANA em backup.log, o agente do Backint grava eventos operacionais e de erro de comunicação nos arquivos de registro no subdiretório logs em /usr/sap/SID/SYS/global/hdb/opt/backint/backint-gcs.

Quando o tamanho de um arquivo de registro atinge 10 MB, o agente do Backint faz a rotação dos arquivos de registro.

Se necessário, edite a configuração de geração de registros do agente do Backint em /usr/sap/SID/SYS/global/hdb/opt/backint/backint-gcs/logging.properties.

O agente do Backint também é compatível com o Cloud Logging. Para ativar o Cloud Logging, consulte o Guia de instalação do agente do Cloud Storage para SAP HANA.

Como usar o agente do Backint nas implantações de alta disponibilidade do SAP HANA

Em um cluster de alta disponibilidade do SAP HANA, é preciso instalar o agente do Backint em cada nó do cluster.

Use a mesma configuração do agente do Backint com as mesmas especificações de bucket do Cloud Storage para cada instância do SAP HANA no cluster de alta disponibilidade. É possível usar as mesmas especificações de bucket porque, durante as operações normais, somente a instância ativa do SAP HANA em uma configuração de alta disponibilidade grava backups no Cloud Storage. O sistema secundário está no modo de replicação. Isso é válido para backups de dados, registros e catálogos.

Além disso, o software de clustering de aplicativos, como o Pacemaker, impede cenários de divisão dupla, em que mais de um sistema SAP HANA em um cluster acha que é a instância principal.

No entanto, durante as atividades de manutenção, quando o clustering pode ser desativado, se o banco de dados em espera for removido da replicação e on-line novamente, será necessário garantir que os backups sejam acionados somente no banco de dados primário.

Como o agente do Backint não sabe qual sistema SAP HANA é atualmente o sistema ativo e não tem programação ou acionamento de mecanismos, é necessário gerenciar os acionadores de agendamento e backup usando mecanismos SAP, como o DB13 da transação SAP ABAP

Os aplicativos SAP ABAP se conectam ao cluster de alta disponibilidade por meio do IP virtual, para que o acionador seja sempre encaminhado para a instância ativa do SAP HANA.

Se o acionador de backup for definido localmente em cada servidor, por exemplo, como um script de sistema operacional local e os sistemas principal e secundário acharem que eles são o sistema ativo, ambos poderão tentar gravar backups no bucket de armazenamento.

Como usar o agente do Backint nas implantações de DR do SAP HANA

Em uma configuração de recuperação de desastres, em que uma instância de recuperação do SAP HANA em outra região do Google Cloud é sincronizada usando a replicação assíncrona do sistema SAP HANA, especifique um bucket diferente para a instância de recuperação em relação ao usado pelo sistema principal do SAP HANA.

Enquanto o sistema de DR geralmente está no modo de replicação e, portanto, não pode executar um backup, durante a execução de testes de recuperação de desastres regulares, a instância de recuperação é colocada on-line e pode acionar backups. Caso isso ocorra, e o sistema de recuperação não usar um bucket separado, os backups poderão substituir os dados do banco de dados primário.

No caso de um desastre real que exija a recuperação de um backup para sua região de DR, é possível atualizar a configuração do agente do Backint para fazer referência ao bucket multirregional que seu sistema de HA principal usa.

Como usar o agente do Backint em sistemas de escalonamento horizontal do SAP HANA

Nos sistemas de escalonamento horizontal do SAP HANA, é necessário instalar o agente do Backint em cada nó do sistema.

Para simplificar o gerenciamento do arquivo de configuração parâmetros.txt e, se você estiver usando uma, a chave da conta de serviço do agente do Backint, coloque esses arquivos em um diretório NFS compartilhado.