Backup e recuperação do SAP HANA usando snapshots de disco

Neste guia de planejamento, descrevemos o recurso de snapshot do disco do Agente para SAP do. Para informações sobre os outros recursos, consulte o Guia de planejamento do agente do Google Cloud para SAP.

O recurso de snapshot de disco permite executar operações de backup e recuperação para sistemas de escalonamento vertical do SAP HANA em execução em instâncias do Compute Engine.

Pré-lançamento: para usar esse recurso com sistemas SAP HANA em que o volume /hana/data é hospedado em mais de um disco, entre em contato com o atendimento ao cliente. Para informações sobre como entrar em contato com o atendimento ao cliente, consulte Como receber suporte para a SAP no Google Cloud.

Esse recurso é integrado ao recurso de snapshots de dados do SAP HANA, que permite usar snapshots padrão ou de arquivo dos discos que hospedam o volume /hana/data para fazer backup e recuperar o banco de dados do SAP HANA.

Para informações sobre como fazer backup e recuperar o SAP HANA usando esse recurso do agente, consulte Fazer backup e recuperar o SAP HANA usando snapshots de disco.

Estimativa de custo mensal

Os snapshots padrão criados serão cobrados. Para informações sobre preços, consulte Snapshots de disco.

Para estimar os custos mensais do uso de snapshots de disco como backups do volume de dados do SAP HANA, use a Google Cloud calculadora de preços. Use as informações a seguir para estimar melhor o custo:

  • Tamanho total estimado para os snapshots iniciais do disco.
  • Tamanhos de delta estimados para cada snapshot do disco subsequente.
  • Frequência de snapshots. Por exemplo, se você criar um conjunto de snapshots todos os dias, a frequência será de 24 horas.
  • Tempo de retenção do snapshot.
  • Redundância de armazenamento de snapshots: região única ou multirregião.
  • Transferência de dados estimada entre regiões e entre regiões pela sua rede. Por exemplo, você pode gerar taxas de rede se criar ou restaurar um grupo de snapshots padrão armazenado em um local diferente dos discos de origem.

Limitações

As limitações a seguir se aplicam ao backup e à recuperação do SAP HANA ao usar o recurso de snapshot de disco do Google Cloud's Agente para SAP:

  • Não é possível usar o recurso de snapshot de disco do agente para implantações de escalonamento horizontal do SAP HANA. Para mais informações, consulte Como usar snapshots com implantações de escalonamento horizontal.
  • Você precisa garantir o seguinte para seu volume /hana/data:
    • Ele é hospedado em um ou mais volumes de Persistent Disk ou Hyperdisk com base em SSD. Esses discos não podem hospedar outro volume do SAP HANA. Conforme descrito na Nota SAP 2039883 - Perguntas frequentes: banco de dados SAP HANA e snapshots de dados (snapshots de armazenamento), para ser possível recuperar o banco de dados SAP HANA, o snapshot do armazenamento não pode incluem a área de registro do banco de dados.
    • Ele é mapeado para um volume lógico. Isso permite que o agente processe corretamente o ponto de montagem durante operações de backup ou recuperação baseadas em snapshots de disco.
    • Se você estiver usando mais de um disco para hospedar o volume /hana/data, só poderá usar esse recurso do agente se os discos subjacentes forem volumes do Hyperdisk.
  • Se você tiver implantado o sistema SAP HANA usando ferramentas de infraestrutura como código (IaC, na sigla em inglês), como o Terraform, o agente poderá criar backups baseados em snapshot, mas não poderá executar operações de recuperação. Para mais informações, consulte Como usar snapshots com implantações baseadas em ferramentas de IaC.
  • Execute operações de backup e recuperação usando a instância do agente em execução na instância do Compute Engine que hospeda o banco de dados SAP HANA. Não é possível usar instâncias de agente em execução em outras instâncias do Compute Engine.
  • Para fazer backup e recuperar o banco de dados SAP HANA, é preciso conceder acesso de sudo a determinados comandos do sistema operacional, fornecendo acesso raiz ou usando um grupo sudo apropriado. Para mais informações, consulte Definir permissões.

Para informações sobre as limitações dos snapshots de disco do Compute Engine em geral, consulte Limitações.

Permissões necessárias

Para permitir que o agente do Google Cloudfaça backup e recupere seu banco de dados SAP HANA usando snapshots de disco, defina as permissões para:

  • O projeto Google Cloud em que o sistema SAP HANA está sendo executado.
  • O usuário que executa os comandos do agente no sistema operacional, que pode ser o usuário do sistema operacional SAP HANA ou seu próprio usuário.
  • O usuário do banco de dados SAP HANA usado pelo agente.

Para informações sobre as permissões que você precisa conceder, consulte Definir permissões.

Criar backups baseados em snapshot de disco

Para criar backups baseados em snapshot de disco para SAP HANA usando Google Cloud's Agente para SAP, execute o comando hanadiskbackup do agente. Para informações sobre como fazer isso, consulte Fazer backup e recuperar o SAP HANA usando snapshots de disco.

Disco único

Se o volume /hana/data estiver hospedado em um disco, o fluxograma a seguir mostra as etapas que o agente executa para criar um backup baseado em snapshot de disco para o banco de dados SAP HANA:

Fluxograma para backup baseado em snapshot de disco para SAP HANA pelo agente do Google Cloud para SAP do Google Cloud

Como o recurso de snapshot de disco do agente cria um backup para o banco de dados SAP HANA

Depois de executar o comando hanadiskbackup, o agente faz o seguinte:

  1. Valida todos os argumentos de entrada fornecidos para o comando hanadiskbackup.
  2. Conecta-se ao banco de dados SAP HANA usando as entradas fornecidas para o comando hanadiskbackup.
  3. Verifica se não há snapshots existentes.

    Se houver algum snapshot do disco que hospeda o volume /hana/data e se você não tiver especificado abandon-prepared=TRUE com o comando hanadiskbackup, o agente sairá sai desse procedimento e nenhum backup será criado. Em seguida, revise manualmente e execute o comando hanadiskbackup de novo.

  4. Informa ao SAP HANA que a criação do snapshot foi iniciada.
  5. Cria um snapshot do volume do Persistent Disk ou do Hyperdisk que hospeda o diretório /hana/data.
  6. Informa ao SAP HANA que a criação do snapshot foi bem-sucedida.

Vários discos

Se o volume /hana/data estiver hospedado em mais de um disco, o fluxograma a seguir mostra as etapas que o agente executa para criar um backup baseado em snapshot de disco para o banco de dados SAP HANA:

Fluxograma para backup baseado em snapshot de disco para SAP HANA pelo agente do Google Cloud para SAP do Google Cloud

Como o recurso de snapshot de disco do agente cria um backup para o banco de dados SAP HANA

Depois de executar o comando hanadiskbackup, o agente faz o seguinte:

  1. Valida todos os argumentos de entrada fornecidos para o comando hanadiskbackup.
  2. Conecta-se ao banco de dados SAP HANA usando as entradas fornecidas para o comando hanadiskbackup.
  3. Encontra os discos que hospedam o volume /hana/data.
  4. Verifica se todos os discos que hospedam o volume /hana/data pertencem ao mesmo grupo de consistência (CG).
  5. Verifica se não há um backup baseado em snapshot disponível para seu banco de dados SAP HANA.

    Se houver um backup baseado em snapshot para o banco de dados e se você não tiver especificado abandon-prepared=TRUE com o comando hanadiskbackup, o agente vai sair desse procedimento e nenhum backup será criado. Em seguida, revise manualmente e execute o comando hanadiskbackup de novo.

  6. Informa ao SAP HANA que a criação do snapshot foi iniciada.
  7. Cria um snapshot do banco de dados SAP HANA usando o SAP HANA HDBSQL.
  8. Cria um grupo de snapshots instantâneos para os discos que hospedam o volume /hana/data.
  9. Converte todos os snapshots instantâneos em snapshots padrão ou de arquivo.

    Por padrão, o agente cria snapshots padrão. É possível criar snapshots de arquivamento especificando snapshot-type=ARCHIVE com o comando hanadiskbackup.

  10. Exclui o grupo de Instant Snapshot.
  11. Informa ao SAP HANA que a criação de backup baseada em snapshot foi bem-sucedida.

Se o agente não concluir alguma etapa do procedimento de backup, ele marcará a criação do snapshot como UNSUCCESSFUL e sairá do procedimento. Em seguida, revise manualmente e execute o comando hanadiskbackup de novo. Para descobrir por que o agente saiu do procedimento de backup, é possível conferir as entradas no arquivo /var/log/google-cloud-sap-agent/hanadiskbackup.log.

Criar backups delta

Quando você executa o comando hanadiskbackup, o agente cria snapshots para os discos que hospedam o volume /hana/data.

Uma vantagem dos snapshots de disco é que eles são incrementais, em que cada backup subsequente armazena apenas alterações incrementais de blocos em vez de criar um backup totalmente novo. Isso significa que, depois que você criar o primeiro backup baseado em snapshot para seu banco de dados SAP HANA usando o agente para SAP do Google Cloud, todos os backups baseados em snapshot criados em seguida são backups delta por padrão. Não é necessário fazer mais nada para criar backups delta.

Para mais informações, consulte Como funcionam os snapshots padrão incrementais.

Criptografar snapshots de disco

Por padrão, os dados no Google Cloud são criptografados em repouso usando AES-256. Isso se aplica aos dados armazenados em discos e snapshots de disco. Como alternativa, criptografe os snapshots usando uma chave de criptografia gerenciada pelo cliente (CMEK) ou uma chave de criptografia fornecida pelo cliente (CSEK).

Também é possível implementar uma camada extra de segurança ativando a criptografia fornecida pelo SAP HANA para o volume /hana/data. Para mais informações sobre essa opção, consulte Como ativar a criptografia de dados e volumes de registros.

Recuperar dados do SAP HANA usando snapshots de disco

Para recuperar o banco de dados SAP HANA usando um backup baseado em snapshot de disco, execute o comando hanadiskrestore do agente. Para saber como fazer isso, consulte Fazer backup e recuperar o SAP HANA usando snapshots de disco.

Disco único

Se o volume /hana/data estiver hospedado em um disco, o fluxograma a seguir mostra como usar o recurso de snapshot de disco do agente para recuperar um banco de dados do SAP HANA:

Fluxograma para recuperação baseada em snapshot de disco para SAP HANA usando o agente para SAP do Google Cloud Google Cloud

Como recuperar um banco de dados SAP HANA usando o recurso de snapshot de disco do agente

Para recuperar o banco de dados SAP HANA usando um snapshot de disco, faça o seguinte:

  1. Execute o comando hanadiskrestore do agente para recuperar o disco que hospeda o volume /hana/data. Para instruções, consulte Fazer backup e recuperação do SAP HANA usando um snapshot de disco.

    Confira a seguir o procedimento de alto nível que o agente realiza para recuperar o volume de dados do SAP HANA usando um snapshot de disco. O fluxograma anterior mostra essas etapas.

    1. Valida todos os argumentos de entrada fornecidos para o comando hanadiskrestore.
    2. Interrompe o SAP HANA.
    3. Desconecte o volume /hana/data.
    4. Desconecte o disco que hospeda o volume /hana/data da instância de computação do host.
    5. Crie um novo disco para o volume /hana/data a partir de um snapshot de disco.
    6. Anexe o novo disco à instância de computação do host.
    7. Faça a verificação novamente dos grupos de volumes para o SAP HANA.
  2. Recupere manualmente o banco de dados SAP HANA para o horário do snapshot ou um momento específico, conforme descrito nas subseções a seguir.

Vários discos

Se o volume /hana/data estiver hospedado em mais de um disco, o fluxograma a seguir mostra como usar o recurso de snapshot de disco do agente para recuperar um banco de dados SAP HANA:

Fluxograma para recuperação baseada em snapshot de disco para SAP HANA usando o agente para SAP do Google Cloud

Como recuperar um banco de dados SAP HANA usando o recurso de snapshot de disco do agente

Para recuperar o banco de dados SAP HANA usando um snapshot de disco, faça o seguinte:

  1. Execute o comando hanadiskrestore do agente para recuperar o disco que hospeda o volume /hana/data. Para saber como fazer isso, consulte Fazer backup e recuperar o SAP HANA usando um snapshot de disco.

    Confira a seguir o procedimento de alto nível que o agente realiza para recuperar o volume de dados do SAP HANA usando um snapshot de disco. O fluxograma anterior mostra essas etapas.

    1. Valida todos os argumentos de entrada fornecidos para o comando hanadiskrestore.
    2. Interrompe o SAP HANA.
    3. Desconecte o volume /hana/data.
    4. Remova os discos que hospedam o volume /hana/data da instância do host do Compute Engine.
    5. Remova os discos que hospedam o volume /hana/data do grupo de consistência de disco correspondente.
    6. Filtre os snapshots que correspondem ao grupo de consistência de entrada.
    7. Crie novos discos para o volume /hana/data usando os snapshots de disco de origem.
    8. Anexe os novos discos à instância do host do Compute Engine.
    9. Adicione os novos discos ao grupo de consistência de disco.
    10. Faça a verificação novamente dos grupos de volumes para o SAP HANA.
  2. Recupere manualmente o banco de dados SAP HANA para o horário do snapshot ou um momento específico, conforme descrito nas subseções a seguir.

Se o agente não concluir alguma etapa do procedimento, ele sairá do procedimento. Em seguida, é necessário analisar manualmente, resolver problemas, se necessário, e executar o comando hanadiskrestore de novo. Para descobrir por que o agente saiu do procedimento de recuperação do banco de dados, é possível visualizar as entradas no arquivo /var/log/google-cloud-sap-agent/hanadiskrestore.log.

Recuperar o SAP HANA para um ponto no tempo específico

Para recuperar o banco de dados SAP HANA para um momento específico, além de snapshots dos discos que hospedam o volume /hana/data, você precisa dos backups delta e de registro do SAP HANA necessários criados anteriormente para o banco de dados.

É possível criar o backup de registro do SAP HANA usando o recurso Backint do agente ou um backup do sistema de arquivos do banco de dados SAP HANA.

Durante a recuperação, se você especificar um carimbo de data/hora no futuro, seu banco de dados SAP HANA será recuperado para o estado mais recente.

Recuperar o SAP HANA de uma fonte externa

É possível usar os backups baseados em snapshot de disco que você criou para um sistema SAP HANA para recuperar outro sistema SAP HANA. Também é possível usar esse recurso para mover sistemas entre ambientes, por exemplo, de um ambiente de teste para um de controle de qualidade.

Para saber como fazer isso, consulte Fazer uma cópia ou atualização do sistema.

Como usar snapshots de disco com implantações do SAP HANA

As seções a seguir fornecem informações de planejamento específicas do cenário para o backup e a recuperação de sistemas SAP HANA com escalonamento vertical usando o recurso de snapshot de disco do agente do Google Cloud's para SAP:

Como usar snapshots com implantações de alta disponibilidade

Em um sistema de escalonamento vertical do SAP HANA em execução em um cluster de alta disponibilidade (HA) no Google Cloud, é necessário instalar o agente do Google Cloud para SAP no nó principal e no nó de espera do cluster. Google Cloud.

Para criar backups baseados em snapshot de disco para um sistema de alta disponibilidade do SAP HANA, você precisa executar o comando hanadiskbackup apenas para o volume /hana/data no nó principal. Se ocorrer um evento de failover, será necessário executar o comando hanadiskbackup no novo nó principal. Além disso, ao executar o comando, é preciso especificar o nome do host ou o endereço IP do SAP HANA do host do nó principal. Não especifique o IP virtual (VIP, na sigla em inglês) do SAP HANA usado no cluster.

Ao executar operações de recuperação, use o backup baseado em snapshot para recuperar os discos que hospedam o volume /hana/data no nó principal ou de espera. É possível recuperar o banco de dados SAP HANA na hora em que os snapshots de disco foram criados ou em qualquer momento específico.

Como usar snapshots com implantações de DR

Para um sistema de escalonamento vertical do SAP HANA em uma implantação de recuperação de desastres (DR) no Google Cloud, é necessário instalar o agente do Google Cloud para SAP nos hosts primário e em espera.

Para criar backups baseados em snapshot de disco para um sistema de alta disponibilidade do SAP HANA, você precisa executar o comando hanadiskbackup apenas para o volume /hana/data na instância de banco de dados principal. Se você interromper a replicação do sistema SAP HANA e promover a instância do banco de dados em espera, será necessário executar o comando hanadiskbackup na nova instância principal.

Para implantações de DR, você executa operações de recuperação na instância do banco de dados primária. É possível recuperar o banco de dados SAP HANA na hora em que os snapshots do disco foram criados ou em qualquer momento específico.

Como usar snapshots com implantações de escalonamento horizontal

O recurso de snapshot de disco do agente para SAP do Google Cloudnão é compatível com implantações de escalonamento horizontal do SAP HANA.

No entanto, para fazer backup e recuperar um banco de dados SAP HANA em uma implantação de escalonamento horizontal, use as seguintes opções:

Como usar snapshots com implantações baseadas em ferramentas de IaC

O recurso de snapshot de disco do agente para SAP do Google Cloudé parcialmente compatível com sistemas SAP HANA que foram implantados usando ferramentas de infraestrutura como código (IaC, na sigla em inglês), como o Terraform.

O agente pode criar backups baseados em snapshots para esses sistemas, mas não pode ser usado para executar operações de recuperação. Isso ocorre porque a recuperação baseada em snapshot usando o agente inclui a recriação dos discos que hospedam o volume /hana/data, o que pode causar conflitos ou problemas com a forma como a IaC executa o gerenciamento de estado.

Por exemplo, depois de realizar a recuperação usando o agente, sempre que a ferramenta IaC verificar o status dos discos que hospedam o volume /hana/data, ela tentará reverter para a configuração definida do sistema, reattachando os discos anteriores ou excluindo os novos e recriando os anteriores. Qualquer uma dessas ações pode afetar gravemente seu banco de dados SAP HANA, a ponto de torná-lo inutilizável.

No entanto, a maioria das ferramentas de IaC fornece fluxos de trabalho que permitem modificar o estado do sistema para acompanhar as mudanças na infraestrutura gerenciada. Confira a seguir um procedimento de alto nível que pode ser usado para recuperar sistemas SAP HANA implantados usando ferramentas de IaC:

  1. Interrompa o banco de dados SAP HANA. Para instruções, consulte o documento da SAP Iniciando e interrompendo sistemas SAP HANA.

  2. Interrompa a instância do Compute Engine que hospeda o sistema SAP HANA. Em uma implantação de HA ou DR, interrompa todas as instâncias de computação. Para saber como interromper uma instância de computação, consulte Interromper uma VM.

  3. No arquivo de configuração IaC que contém a definição do seu sistema SAP HANA, modifique a definição dos discos correspondentes ao volume /hana/data para que eles possam ser recriados usando snapshots de disco existentes. Para uma implantação de HA ou DR, execute essa ação no nó principal do SAP HANA.

    Por exemplo, se você implantou seu sistema SAP HANA usando uma das Configurações do Terraform fornecidas por Google Cloud, no arquivo ./terraform/modules/sap_hana/main.tf, inclua o argumento snapshot da seguinte forma:

    # Split data/log/sap disks
    resource "google_compute_disk" "sap_hana_data_disks" {
     count   = var.use_single_shared_data_log_disk ? 0 : var.sap_hana_scaleout_nodes + 1
     name    = format("${var.instance_name}-data%05d", count.index + 1)
     type    = local.final_data_disk_type
     zone    = var.zone
     size    = local.data_pd_size
     snapshot = "hana-SID-snapshot-YYYYMMDD-HHMMSS"
     project = var.project_id
     provisioned_iops = local.final_data_iops
    }
    
  4. Aplique a configuração modificada. Por exemplo, se você estiver usando o Terraform, execute os seguintes comandos:

    terraform validate
    terraform apply
    
  5. Recupere o banco de dados SAP HANA. Para instruções, consulte Recuperar o banco de dados usando um snapshot de disco.

Ativar a geração de registros

Ao executar operações de backup e recuperação baseadas em snapshots de disco, o agente doGoogle Cloudpara SAP grava nos seguintes arquivos de registro: hanadiskbackup.log e hanadiskrestore.log, respectivamente.

Esses arquivos de registro estão localizados no diretório /var/log/google-cloud-sap-agent/ na instância do host do Compute Engine.

Por padrão, a geração de registros é ativada durante as operações de backup e recuperação. O nível de registro padrão é info. É possível aumentar ou diminuir o nível de registro especificando o argumento -loglevel ao executar os comandos hanadiskbackup e hanadiskrestore.

ativar monitoramento

Por padrão,o agente do Google Cloudpara SAP emite as seguintes métricas para o Cloud Monitoring sempre que você executa o comando hanadiskbackup. Isso é controlado pelo argumento -send-metrics-to-monitoring, que tem o valor padrão TRUE.

É possível configurar o monitoramento do seu banco de dados SAP HANA definindo alertas com base nessas métricas. Também é possível conferir as métricas em um painel.

A tabela a seguir descreve as métricas que o agente emite durante as operações de backup e recuperação com base em snapshots:

Métrica Descrição
workload.googleapis.com/sap/agent/hanadiskbackup/status

Boolean

Informa se a operação de backup com base no snapshot do disco foi bem-sucedida ou não. O valor true significa sucesso e false significa falha.

workload.googleapis.com/sap/agent/hanadiskbackup/totaltime

Int

Informa o tempo, em segundos, que a operação de backup leva para criar os snapshots do disco, incluindo o tempo para fazer upload deles para o bucket especificado do Cloud Storage.

workload.googleapis.com/sap/agent/hanadiskbackup/dbfreezetime

Int

Informa o tempo, em segundos, em que o sistema de arquivos SAP HANA foi congelado durante a operação de backup baseado em snapshot do disco.

Práticas recomendadas

Ao usar snapshots de disco para fazer backup e recuperar o banco de dados SAP HANA, recomendamos as seguintes práticas recomendadas:

  • Prepare opções de recuperação alternativas para seu banco de dados. É altamente recomendável projetar sua estratégia de backup e recuperação de modo que ela combine métodos diferentes. Por exemplo, é possível usar o recurso de snapshot de disco do agente com um backup completo do banco de dados SAP HANA criado usando o recurso Backint do agente ou um arquivo. system backup.
  • Execute verificações de consistência para o volume /hana/data e os snapshots de disco. Como as verificações de integridade no nível de bloco não são realizadas durante operações de backup baseadas em snapshots, recomendamos realizar regularmente as seguintes verificações de consistência usando a ferramenta hdbpersdiag:

    • Execute verificações de consistência de página para seu volume /hana/data. Essa atividade exige inatividade, porque a ferramenta não poderá verificar as páginas de um volume de dados específico se houver um processo usando o volume de dados, como o servidor de índice SAP HANA.
    • Em uma instância do Compute Engine que não seja o host do SAP HANA, implante discos temporários provenientes de snapshots criados usando o comando hanadiskbackup do agente e execute uma verificação de consistência nesses discos. Para saber como fazer isso, consulte Validar a consistência do snapshot.

    Para mais informações sobre a ferramenta hdbpersdiag, consulte o documento da SAP Executar verificações de consistência.

  • Execute atividades de manutenção para os snapshots do disco. Como o Agente para SAP do Google Cloudnão executa atividades de manutenção para seus snapshots de disco, recomendamos que você os analise periodicamente e execute atividades como excluir snapshots antigos.

    Para mais informações sobre as práticas recomendadas relacionadas a snapshots de disco, consulte Práticas recomendadas para snapshots de disco do Compute Engine.