Terraform: sistema de escalonamento horizontal do SAP HANA com guia de implantação de failover automático do host

Este guia mostra como usar o Terraform para implantar um sistema de escalonamento horizontal do SAP HANA que inclui a solução de recuperação de falhas de failover automático do host do SAP HANA. Ao usar o Terraform, é possível implantar um sistema que atenda aos requisitos de suporte da SAP e às práticas recomendadas da SAP e do Compute Engine.

O sistema SAP HANA resultante inclui um host mestre, até 15 hosts workers e até 3 hosts em espera, todos em uma única zona do Compute Engine.

O sistema também inclui o gerenciador de armazenamento do Google Cloud para os nós de espera do SAP HANA (gerenciador de armazenamento do SAP HANA), que gerencia a transferência de dispositivos de armazenamento para o nó de espera durante um failover. O gerenciador de armazenamento para SAP HANA está instalado no volume /shared do SAP HANA.

Para mais informações da SAP sobre a solução de failover automático de hosts, consulte Failover automático de hosts.

Não use este guia se o recurso de failover automático do host não for necessário. Em vez disso, use o Guia de implantação do SAP HANA.

Se for necessário implantar o SAP HANA em um cluster de alta disponibilidade do Linux, use um dos guias a seguir:

Este guia é para usuários avançados do SAP HANA familiarizados com as configurações de escalonamento horizontal da SAP que incluem hosts em espera para alta disponibilidade e sistemas de arquivos de rede.

Pré-requisitos

Antes de criar o sistema de escalonamento horizontal de alta disponibilidade do SAP HANA, certifique-se de que os seguintes pré-requisitos sejam atendidos:

  • Você leu o Guia de planejamento do SAP HANA e o Guia de planejamento de alta disponibilidade do SAP HANA.
  • Você ou sua organização tem uma conta do Google Cloud e criou um projeto para a implantação do SAP HANA. Para informações sobre como criar contas e projetos do Google Cloud, consulte Como configurar sua Conta do Google no Guia de implantação do SAP HANA.
  • Se você precisar que a carga de trabalho da SAP seja executada em conformidade com residência de dados, controle de acesso, equipes de suporte ou requisitos regulatórios, crie a pasta do Assured Workloads necessária. Para mais informações, consulte Controles soberanos e de conformidade para a SAP no Google Cloud.
  • A mídia de instalação do SAP HANA está armazenada em um bucket do Cloud Storage disponível no projeto e na região de implantação. Para informações sobre como carregar a mídia de instalação do SAP HANA em um bucket do Cloud Storage, consulte Como criar um bucket do Cloud Storage, no guia de implantação do SAP HANA.
  • Você tem uma solução de NFS, como a Filestore gerenciada, para compartilhar o SAP HANA /hana/shared e /hanabackup volumes entre os hosts no sistema de escalonamento horizontal SAP HANA. Você especifica os pontos de montagem dos servidores NFS no arquivo de configuração do Terraform antes de implantar o sistema. Para implantar servidores NFS do Filestore, veja Como criar instâncias.
  • A comunicação precisa ser permitida entre todas as VMs na sub-rede do SAP HANA que hospedam um nó de escalonamento horizontal do SAP HANA.

  • Se o login do SO estiver ativado nos metadados do projeto, você precisará desativar o login do SO temporariamente até que a implantação seja concluída. Para fins de implantação, este procedimento configura chaves SSH em metadados de instâncias. Quando o login do SO é ativado, as configurações de chave SSH baseadas em metadados são desativadas e a implantação falha. Após a conclusão da implantação, ative o login do SO novamente.

    Veja mais informações em:

Como criar uma rede

Por motivos de segurança, crie uma nova rede. Para controlar quem tem acesso a ela, adicione regras de firewall ou use outro método de controle de acesso.

Caso o projeto tenha uma rede VPC padrão, não a use. Em vez disso, crie sua própria rede VPC para que as únicas regras de firewall aplicadas sejam aquelas criadas explicitamente por você.

Durante a implantação, as instâncias de VM normalmente exigem acesso à Internet para fazer o download do agente do Google Cloud para SAP. Se você estiver usando uma das imagens Linux certificadas pelo SAP disponíveis no Google Cloud, a instância da VM também exigirá acesso à Internet para registrar a licença e acessar repositórios de fornecedor do sistema operacional. Uma configuração com um gateway NAT e tags de rede da VM é compatível com esse acesso, mesmo se as VMs de destino não tiverem IPs externos.

Para criar uma rede VPC para o projeto, siga estas etapas:

  1. Crie uma rede de modo personalizado. Para mais informações, consulte Como criar uma rede de modo personalizado.

  2. Crie uma sub-rede e especifique a região e o intervalo de IP. Para mais informações, consulte Como adicionar sub-redes.

Como configurar um gateway NAT

Se você precisar criar uma ou mais VMs sem endereços IP públicos, será necessário usar a conversão de endereços de rede (NAT) para permitir que as VMs acessem a Internet. Use o Cloud NAT, um serviço gerenciado distribuído e definido pelo software do Google Cloud que permite que as VMs enviem pacotes de saída para a Internet e recebam todos os pacotes de resposta de entrada estabelecidos. Se preferir, é possível configurar uma VM separada como um gateway NAT.

Para criar uma instância do Cloud NAT para seu projeto, consulte Como usar o Cloud NAT.

Depois de configurar o Cloud NAT para seu projeto, as instâncias de VM poderão acessar a Internet com segurança sem um endereço IP público.

Como adicionar regras de firewall

Por padrão, uma regra de firewall implícita bloqueia conexões de entrada de fora da rede de nuvem privada virtual (VPC). Para permitir conexões de entrada, configure uma regra de firewall para sua VM. Depois que uma conexão de entrada for estabelecida com uma VM, será permitido o tráfego nas duas direções nessa conexão.

Também é possível criar uma regra de firewall para permitir o acesso externo a portas especificadas ou para restringir o acesso entre as VMs na mesma rede. Se o tipo de rede VPC default for usado, algumas regras padrão complementares também serão aplicadas, como a regra default-allow-internal, que permite a conectividade entre VMs na mesma rede em todas as portas.

Dependendo da política de TI que for aplicada ao ambiente, pode ser necessário isolar ou então restringir a conectividade com o host do banco de dados, o que pode ser feito criando regras de firewall.

Dependendo do seu cenário, é possível criar regras de firewall para permitir o acesso para estes itens:

  • Portas padrão do SAP listadas no TCP/IP de Todos os Produtos SAP.
  • Conexões do seu computador ou do ambiente de rede corporativa para a instância de VM do Compute Engine. Se você não tiver certeza do endereço IP a ser usado, fale com o administrador de redes da sua empresa.
  • A comunicação entre VMs na sub-rede do SAP HANA, incluindo a comunicação entre nós em um sistema de escalonamento horizontal do SAP HANA ou a comunicação entre o servidor de banco de dados e os servidores de aplicativos em uma arquitetura de três níveis. É possível ativar a comunicação entre as VMs criando uma regra de firewall para permitir o tráfego proveniente da sub-rede.

Para criar as regras de firewall para seu projeto, consulte Como criar regras de firewall.

Como criar um sistema de escalonamento horizontal do SAP HANA com hosts em espera

Nas instruções a seguir, você concluirá as seguintes ações:

  • Crie o sistema SAP HANA invocando o Terraform com um arquivo de configuração concluído por você.
  • Verificar a implantação.
  • Testar os hosts em espera simulando uma falha de host.

Algumas das etapas nas instruções a seguir usam o Cloud Shell para inserir os comandos gcloud. Se você tiver a versão mais recente do SDK do Cloud instalada, insira os comandos gcloud de um terminal local.

Definir e criar o sistema SAP HANA

Nas etapas a seguir, você vai fazer o download e concluir um arquivo de configuração do Terraform, usar os comandos padrão do Terraform para inicializar seu diretório de trabalho atual e fazer o download do arquivo do plug-in e do módulo do provedor do Terraform para o Google Cloud e aplicar a que implanta as VMs, os discos permanentes e as instâncias do SAP HANA.

  1. Verifique se suas cotas atuais para recursos de projeto, como discos permanentes e CPUs, são suficientes para o sistema SAP HANA que está prestes a ser instalado. Se as cotas não forem suficientes, a implantação falhará. Para ver os requisitos de cotas do SAP HANA, consulte Considerações sobre preços e cotas para SAP HANA.

    Acessar a página "Cotas"

  2. Abra o Cloud Shell.

    Acessar o Cloud Shell

  3. Faça o download do sap_hana_scaleout.tf modelo de arquivo de configuração para o sistema de escalonamento horizontal de alta disponibilidade do SAP HANA em seu diretório de trabalho:

    wget https://storage.googleapis.com/cloudsapdeploy/terraform/latest/terraform/sap_hana_scaleout/terraform/sap_hana_scaleout.tf
  4. Abra o arquivo sap_hana_scaleout.tf no editor de código do Cloud Shell.

    Para abrir o editor de código, clique no ícone de lápis, no canto superior direito da janela do terminal do Cloud Shell.

  5. No arquivo sap_hana_scaleout.tf, atualize os seguintes valores de argumento substituindo o conteúdo entre aspas duplas pelos valores da sua instalação. Por exemplo, é possível substituir "ZONE" por "us-central1-f".

    Argumento Tipo de dado Descrição
    source String

    Especifica o local e a versão do módulo do Terraform a serem usados durante a implantação.

    O arquivo de configuração sap_hana_scaleout.tf inclui duas instâncias do argumento source: uma que está ativa e outra incluída como um comentário. O argumento source, que é ativo por padrão, especifica latest como a versão do módulo. A segunda instância do argumento source, que, por padrão, é desativada por um caractere # inicial, especifica um carimbo de data/hora que identifica uma versão do módulo.

    Se você precisar que todas as implantações usem a mesma versão do módulo, remova o caractere # líder do argumento source que especifica o carimbo de data/hora da versão e o adiciona aos source que especifica latest.

    project_id String Especifique o ID do projeto do Google Cloud em que você está implantando esse sistema. Por exemplo, my-project-x.
    zone String

    Especifique a zona em que você está implantando o sistema SAP. A zona precisa estar na mesma região que você selecione para sua sub-rede.

    Por exemplo, se a sub-rede for implantada na região us-central1, será possível especificar uma zona como us-central1-a.

    machine_type String Especifique o tipo de máquina virtual (VM) do Compute Engine em que você precisa executar o sistema SAP. Se você precisar de um tipo de VM personalizado, especifique um tipo de VM predefinido com um número de vCPUs o mais próximo possível do necessário, mesmo que maior. Após a conclusão da implantação, modifique o número de vCPUs e a quantidade de memória.

    Por exemplo, n1-highmem-32.

    subnetwork String O nome da sub-rede criada em um passo anterior. Se você estiver implantando em uma VPC compartilhada, especifique esse valor como SHARED_VPC_PROJECT_ID/SUBNETWORK. Por exemplo, myproject/network1.
    linux_image String Especifique o nome da imagem do sistema operacional Linux em que você quer implantar o sistema SAP. Por exemplo, rhel-9-2-sap-ha ou sles-15-sp5-sap. Para ver a lista de imagens do sistema operacional disponíveis, consulte a página Imagens no console do Google Cloud.
    linux_image_project String Especifique o projeto do Google Cloud que contém a imagem que você especificou para o argumento linux_image. Talvez seja seu próprio projeto ou um projeto de imagem do Google Cloud. Para uma imagem do Compute Engine, especifique rhel-sap-cloud ou suse-sap-cloud. Para encontrar o projeto de imagem do sistema operacional, consulte Detalhes do sistema operacional.
    instance_name String Especifique um nome para a instância de VM do host. O nome pode conter letras minúsculas, números e hifens. As instâncias de VM para hosts e worker em espera usam o mesmo nome com um w e o número do host anexado ao nome.
    sap_hana_shared_nfs String Ponto de montagem do NFS para o volume /hana/shared. Por exemplo, 10.151.91.122:/hana_shared_nfs.
    sap_hana_backup_nfs String Ponto de montagem do NFS para o volume /hanabackup. Por exemplo, 10.216.41.122:/hana_backup_nfs.
    sap_hana_deployment_bucket String Para instalar automaticamente o SAP HANA nas VMs implantadas, especifique o caminho do bucket do Cloud Storage que contém os arquivos de instalação do SAP HANA. Não inclua gs:// no caminho. Inclua apenas o nome do bucket e os nomes das pastas. Por exemplo, my-bucket-name/my-folder.

    O bucket do Cloud Storage precisa existir no projeto do Google Cloud especificado para o argumento project_id.

    sap_hana_sid String Para instalar automaticamente o SAP HANA nas VMs implantadas, especifique o ID do sistema SAP HANA. O ID precisa ter três caracteres alfanuméricos e começar com uma letra. Todas as letras precisam estar em maiúsculas. Por exemplo, ED1.
    sap_hana_instance_number Inteiro Opcional. Especifique o número da instância, de 0 a 99, do sistema SAP HANA. O padrão é 0.
    sap_hana_sidadm_password String Para instalar automaticamente o SAP HANA nas VMs implantadas, especifique uma senha temporária SIDadm para os scripts de instalação a serem usados durante a implantação. A senha precisa conter pelo menos oito caracteres e incluir pelo menos uma letra maiúscula, uma letra minúscula e um número.

    Em vez de especificar uma senha como texto simples, recomendamos o uso de um secret. Para mais informações, consulte Gerenciamento de senhas.

    sap_hana_sidadm_password_secret String Opcional. Se você estiver usando o Secret Manager para armazenar aSIDadm e depois especifique o Nome do secret que corresponde a essa senha.

    No Secret Manager, verifique se o valor do Secret, que é a senha, contém pelo menos oito caracteres e inclui pelo menos uma letra maiúscula, uma minúscula e um número.

    Para mais informações, consulte Gerenciamento de senhas.

    sap_hana_system_password String Para instalar automaticamente o SAP HANA nas VMs implantadas, especifique uma senha temporária de superusuário do banco de dados para os scripts de instalação usarem durante a implantação. A senha precisa conter pelo menos oito caracteres e incluir pelo menos uma letra maiúscula, uma letra minúscula e um número.

    Em vez de especificar uma senha como texto simples, recomendamos o uso de um secret. Para mais informações, consulte Gerenciamento de senhas.

    sap_hana_system_password_secret String Opcional. Se você estiver usando o Secret Manager para armazenar a senha de superusuário do banco de dados, especifique o Nome do secret que corresponde a essa senha.

    No Secret Manager, verifique se o valor do Secret, que é a senha, contém pelo menos oito caracteres e inclui pelo menos uma letra maiúscula, uma minúscula e um número.

    Para mais informações, consulte Gerenciamento de senhas.

    sap_hana_double_volume_size Booleano Opcional. Para duplicar o tamanho do volume do HANA, especifique true. Esse argumento é útil quando você quer implantar várias instâncias do SAP HANA ou uma instância de recuperação de desastres do SAP HANA na mesma VM. Por padrão, o tamanho do volume é calculado automaticamente para ser o tamanho mínimo necessário para o tamanho da VM, sem deixar de atender aos requisitos de certificação e suporte da SAP. O valor padrão é false.
    sap_hana_sidadm_uid Inteiro Opcional. Especifique um valor para substituir o valor padrão do ID do usuário SID_LCadm. O valor padrão é 900. É possível alterá-lo para um valor diferente para maior consistência no cenário da SAP.
    sap_hana_sapsys_gid Inteiro Opcional. Substitui o ID do grupo padrão para sapsys. O valor padrão é 79.
    sap_hana_worker_nodes Inteiro Especifique o número de hosts worker do SAP HANA complementares de que você precisa. É possível especificar de 1 a 15 hosts worker. Não use aspas com o valor. O valor padrão é 1.
    sap_hana_standby_nodes Inteiro Especifique o número de hosts em espera do SAP HANA complementares de que você precisa. É possível especificar de um a três hosts em espera. Não use aspas com o valor. O valor padrão é 1.
    network_tags String Opcional. Especifique uma ou mais tags de rede separadas por vírgula que você quer associar às suas instâncias de VM para fins de firewall ou roteamento.

    Se você especificar public_ip = false e não inserir uma tag de rede, forneça outro meio de acesso à Internet.

    nic_type String Opcional. Especifique a interface de rede a ser usada com a instância de VM. É possível especificar o valor GVNIC ou VIRTIO_NET. Para usar uma NIC virtual do Google (gVNIC), você precisa especificar uma imagem do SO compatível com gVNIC como o valor do argumento linux_image. Para conferir a lista de imagens do SO, consulte Detalhes do sistema operacional.

    Se você não especificar um valor para esse argumento, a interface de rede será selecionada automaticamente com base no tipo de máquina especificado para o argumento machine_type.

    Este argumento está disponível na versão 202302060649 do módulo sap_hana ou posterior.
    disk_type String Opcional. Especifique o tipo padrão de disco permanente ou Hyperdisk que você quer implantar para todos os volumes SAP na implantação. O valor padrão é pd-ssd. Os seguintes valores são válidos para esse argumento: pd-ssd, pd-balanced, hyperdisk-extreme, hyperdisk-balanced e pd-extreme.

    Quando você especifica o valor hyperdisk-extreme ou hyperdisk-balanced, o diretório /usr/sap é montado em um disco permanente equilibrado separado (pd-balanced). Isso ocorre porque o diretório /usr/sap não requer um desempenho tão alto quanto o diretório /hana/data ou /hana/log.

    É possível modificar esse tipo de disco padrão e o tamanho do disco padrão associado e as IOPS padrão usando alguns argumentos avançados. Para ver mais informações, navegue até seu diretório de trabalho, execute o comando terraform init e veja o arquivo /.terraform/modules/sap_hana_scaleout/variables.tf. Antes de usar esses argumentos na produção, é preciso testá-los em um ambiente de teste.

    use_single_shared_data_log_disk Booleano Opcional. O valor padrão é false, que direciona o Terraform para implantar um disco permanente ou hiperdisco separado para cada um dos seguintes volumes SAP: /hana/data ,/hana/log e/hana/shared e/usr/sap. Para montar esses volumes SAP no mesmo disco permanente ou Hyperdisk, especifique true.
    public_ip Booleano Opcional. Determina se um endereço IP público é adicionado na sua instância de VM. O valor padrão é true.
    service_account String Opcional. Especifique o endereço de e-mail de uma conta de serviço gerenciada pelo usuário que será usada pelas VMs do host e pelos programas executados nas VMs do host. Por exemplo, svc-acct-name@project-id.iam.gserviceaccount.com.

    Se você especificar esse argumento sem um valor ou omiti-lo, o script de instalação usará a conta de serviço padrão do Compute Engine. Para mais informações, consulte Gerenciamento de identidade e acesso para programas SAP no Google Cloud.

    sap_deployment_debug Booleano Opcional. Somente quando o Cloud Customer Care solicitar que você ative a depuração da sua implantação, especifique true, o que faz com que a implantação gere registros de implantação detalhados. O valor padrão é false.
    reservation_name String Opcional. Para usar uma reserva de VM do Compute Engine específica nesta implantação, especifique o nome da reserva. Por padrão, o script de instalação seleciona qualquer reserva disponível do Compute Engine com base nas condições a seguir.

    Para que uma reserva seja utilizável, independentemente de você especificar um nome ou o script de instalação a selecionar automaticamente, a reserva precisa ser definida com o seguinte:

    • A opção specificReservationRequired está definida como true ou, no console do Google Cloud, a opção Selecionar uma reserva específica está selecionada.
    • Alguns tipos de máquina do Compute Engine são compatíveis com plataformas de CPU que não são cobertas pela certificação SAP do tipo de máquina. Se a reserva de destino for de qualquer um dos seguintes tipos de máquina, a reserva precisará especificar as plataformas mínimas de CPU, conforme indicado:
      • n1-highmem-32: Intel Broadwell
      • n1-highmem-64: Intel Broadwell
      • n1-highmem-96: Intel Skylake
      • m1-megamem-96: Intel Skylake
    • As plataformas de CPU mínimas para todos os outros tipos de máquina que são certificadas pela SAP para uso no Google Cloud estão em conformidade com o requisito de CPU mínimo da SAP.
    vm_static_ip String Opcional. Especifique um endereço IP estático válido para a instância de VM. Se não houver uma especificação, um endereço IP será gerado automaticamente para sua instância de VM.

    Este argumento está disponível na versão 202306120959 do módulo sap_hana_scaleout ou posterior.

    worker_static_ips List(String) Opcional. Especifique uma matriz de endereços IP estáticos válidos para as instâncias de worker no sistema de escalonamento horizontal. Se você não especificar um valor para esse argumento, um endereço IP será gerado automaticamente para cada instância de VM de worker. Por exemplo, [ "1.0.0.1", "2.3.3.4" ].

    Os endereços IP estáticos são atribuídos na ordem de criação da instância. Por exemplo, se você optar por implantar três instâncias de worker, mas especificar apenas dois endereços IP para o argumentoworker_static_ips, esses endereços IP são atribuídos às duas primeiras instâncias de VM implantadas pela configuração do Terraform. Para a terceira instância da VM de worker, o endereço IP é gerado automaticamente.

    Este argumento está disponível na versão 202306120959 do módulo sap_hana_scaleout ou posterior.

    standby_static_ips List(String) Opcional. Especifique uma matriz de endereços IP estáticos válidos para as instâncias de espera no sistema de escalonamento horizontal. Se você não especificar um valor para esse argumento, um endereço IP será gerado automaticamente para cada instância de VM de standby. Por exemplo, [ "1.0.0.1", "2.3.3.4" ].

    Os endereços IP estáticos são atribuídos na ordem de criação da instância. Por exemplo, se você optar por implantar três instâncias de espera, mas especificar apenas dois endereços IP para o argumentostandby_static_ips , esses endereços IP são atribuídos às duas primeiras instâncias de VM implantadas pela configuração do Terraform. Para a terceira instância da VM em espera, o endereço IP é gerado automaticamente.

    Este argumento está disponível na versão 202306120959 do módulo sap_hana_scaleout ou posterior.

    O exemplo a seguir mostra um arquivo de configuração concluído que implanta um sistema de escalonamento horizontal do SAP HANA com três hosts workers e um host em espera na zona us-central1-f. Cada host está instalado em uma VM n2-highmem-32 que executa um sistema operacional Linux fornecido por uma imagem pública do Compute Engine. Os volumes NFS são fornecidos pelo Filestore. As senhas temporárias são usadas apenas durante a implantação e o processamento da configuração.

    Para deixar claro, os comentários no arquivo de configuração são omitidos no exemplo.

    # ...
    module "hana_scaleout" {
    source = "https://storage.googleapis.com/cloudsapdeploy/terraform/latest/terraform/sap_hana_scaleout/sap_hana_scaleout_module.zip"
    #
    # By default, this source file uses the latest release of the terraform module
    # for SAP on Google Cloud. To fix your deployments to a specific release
    # of the module, comment out the source property above and uncomment the source property below.
    #
    # source = "https://storage.googleapis.com/cloudsapdeploy/terraform/YYYYMMDDHHMM/terraform/sap_hana_scaleout/sap_hana_scaleout_module.zip"
    #
    # ...
    #
    project_id = "example-project-123456"
    zone = "us-central1-f"
    machine_type = "n2-highmem-32"
    subnetwork = "example-sub-network-sap"
    linux_image = "sles-15-sp4-sap"
    linux_image_project = "suse-sap-cloud"
    
    instance_name = "hana-scaleout-w-failover"
    sap_hana_shared_nfs = "10.74.146.58:/hana_shr"
    sap_hana_backup_nfs = "10.188.249.170:/hana_bup"
    # ...
    sap_hana_deployment_bucket = "hana2-sp5-rev53"
    sap_hana_sid = "HF0"
    sap_hana_instance_number = 00
    sap_hana_sidadm_password = "TempPa55word"
    sap_hana_system_password = "TempPa55word"
    # ...
    sap_hana_worker_nodes = 3
    sap_hana_standby_nodes = 1
    vm_static_ip = "10.0.0.1"
    worker_static_ips = ["10.0.0.2", "10.0.0.3", "10.0.0.4"]
    standby_static_ips = ["10.0.0.5"]
    # ...
    }
  6. Inicialize seu diretório de trabalho atual e faça o download do plug-in do provedor do Terraform e dos arquivos do módulo para o Google Cloud:

    terraform init

    O comando terraform init prepara seu diretório de trabalho para outros comandos do Terraform.

    Para forçar uma atualização do plug-in do provedor e dos arquivos de configuração no diretório de trabalho, especifique a sinalização --upgrade. Se a --upgrade sinalização é omitida e você não faz alterações no seu diretório de trabalho, o Terraform usa as cópias em cache local, mesmo selatest é especificado nasource URL

  7. Como opção, crie o plano de execução do Terraform:

    terraform plan

    O comando terraform plan mostra as alterações exigidas pela configuração atual. Se você pular essa etapa, o comando terraform apply criará automaticamente um novo plano e solicitará que você o aprove.

  8. Aplique o plano de execução:

    terraform apply

    Quando for solicitada a aprovação das ações, digite yes.

    O comando terraform apply configura a infraestrutura do Google Cloud. Quando a máquina do Compute Engine é inicializada, a infraestrutura do Google Cloud invoca os scripts de inicialização que configuram o sistema operacional e instalam o SAP HANA.

    Embora o Terraform tenha controle, as mensagens de status são gravadas no Cloud Shell. Depois que o script é invocado, as mensagens de status são gravadas no Logging e podem ser visualizadas no console do Google Cloud, conforme descrito em Verificar os registros do Logging.

    O tempo para a conclusão pode variar, mas o processo inteiro geralmente leva de 45 minutos a 1 hora.

Como verificar a implantação

Para verificar a implantação, é necessário verificar os registros de implantação no Cloud Logging e os discos e serviços nas VMs dos hosts primário e worker, exibir o sistema no SAP HANA Studio e testar a tomada de controle por um host em espera.

Verificar os registros

  1. No console do Google Cloud, abra o Cloud Logging para monitorar o progresso da instalação e verificar se há erros.

    Acesse o Cloud Logging

  2. Filtre os registros:

    Explorador de registros

    1. Na página Explorador de registros, acesse o painel Consulta.

    2. No menu suspenso Recurso, selecione Global e clique em Adicionar.

      Se a opção Global não for exibida, insira a seguinte consulta no editor de consultas:

      resource.type="global"
      "Deployment"
      
    3. Clique em Run query.

    Visualizador de registros legado

    • Na página Visualizador de registros legado, no menu de seleção básico, selecione Global como o recurso de registros.
  3. Analise os registros filtrados:

    • Se "--- Finished" for exibido, o processamento do Deployment Manager estará concluído e será possível prosseguir para a próxima etapa.
    • Se você vir um erro de cota:

      1. Na página Cotas do IAM e Admin, aumente as cotas que não atendem aos requisitos do SAP HANA listados no Guia de planejamento do SAP HANA.

      2. Abra o Cloud Shell.

        Acessar o Cloud Shell

      3. Acesse seu diretório de trabalho e exclua a implantação para limpar as VMs e os discos permanentes da instalação com falha:

        terraform destroy

        Quando for solicitada a aprovação da ação, digite yes.

      4. Execute a implantação novamente.

Conectar-se às VMs para verificar os discos e serviços do SAP HANA

Após a conclusão da implantação, confirme se os discos e os serviços do SAP HANA foram implantados adequadamente, verificando os discos e os serviços do host mestre e de um host worker.

  1. Na página de instâncias de VM do Compute Engine, conecte-se à VM do host mestre e de um host worker, clicando no botão SSH na linha de cada uma das duas instâncias de VM.

    Acessar instâncias de VM

    Ao se conectar ao host worker, certifique-se de não estar se conectando a um host em espera. Eles usam a mesma convenção de nomenclatura dos hosts workers, mas têm o sufixo de host worker com numeração mais alta antes da primeira transferência. Por exemplo, se você tiver três hosts workers e um host em espera, antes da primeira transferência o host em espera terá um sufixo "w4".

  2. Em cada janela de terminal, altere para usuário raiz.

    sudo su -
  3. Em cada janela de terminal, exiba o sistema de arquivos de disco.

    df -h

    No host mestre, o resultado será semelhante ao seguinte:

    hana-scaleout-w-failover:~ # df -h
    Filesystem                      Size  Used Avail Use% Mounted on
    devtmpfs                        4.0M  8.0K  4.0M   1% /dev
    tmpfs                           189G  4.0K  189G   1% /dev/shm
    tmpfs                            51G   18M   51G   1% /run
    tmpfs                           4.0M     0  4.0M   0% /sys/fs/cgroup
    /dev/sdb3                        45G  6.4G   39G  15% /
    /dev/sdb2                        20M  3.0M   17M  15% /boot/efi
    10.74.146.58:/hana_shr          2.5T   41G  2.3T   2% /hana/shared
    /dev/mapper/vg_hana_data-data   422G   12G  411G   3% /hana/data/HF0/mnt00001
    /dev/mapper/vg_hana_log-log     128G  7.8G  121G   7% /hana/log/HF0/mnt00001
    tmpfs                            26G     0   26G   0% /run/user/174
    10.188.249.170:/hana_bup        2.5T     0  2.4T   0% /hanabackup
    tmpfs                            26G     0   26G   0% /run/user/900
    tmpfs                            26G     0   26G   0% /run/user/1000

    No host worker, observe que os diretórios /hana/data e /hana/log têm ativações diferentes.

    hana-scaleout-w-failoverw1:~ # df -h
    Filesystem                      Size  Used Avail Use% Mounted on
    devtmpfs                        4.0M  8.0K  4.0M   1% /dev
    tmpfs                           189G  4.0K  189G   1% /dev/shm
    tmpfs                            51G  9.4M   51G   1% /run
    tmpfs                           4.0M     0  4.0M   0% /sys/fs/cgroup
    /dev/sda3                        45G  6.4G   39G  15% /
    /dev/sda2                        20M  3.0M   17M  15% /boot/efi
    tmpfs                            26G     0   26G   0% /run/user/0
    10.74.146.58:/hana_shr          2.5T   41G  2.3T   2% /hana/shared
    10.188.249.170:/hana_bup        2.5T     0  2.4T   0% /hanabackup
    /dev/mapper/vg_hana_data-data   422G  593M  422G   1% /hana/data/HF0/mnt00002
    /dev/mapper/vg_hana_log-log     128G  3.2G  125G   3% /hana/log/HF0/mnt00002
    tmpfs                            26G     0   26G   0% /run/user/1000

    Em um host em espera, os diretórios de dados e de registros não são montados até que o host em espera assuma uma falha no host:

    hana-scaleout-w-failoverw4:~ # df -h
    Filesystem                      Size  Used Avail Use% Mounted on
    devtmpfs                        4.0M  8.0K  4.0M   1% /dev
    tmpfs                           189G  4.0K  189G   1% /dev/shm
    tmpfs                            51G  9.4M   51G   1% /run
    tmpfs                           4.0M     0  4.0M   0% /sys/fs/cgroup
    /dev/sda3                        45G  6.4G   39G  15% /
    /dev/sda2                        20M  3.0M   17M  15% /boot/efi
    tmpfs                            26G     0   26G   0% /run/user/0
    10.74.146.58:/hana_shr          2.5T   41G  2.3T   2% /hana/shared
    10.188.249.170:/hana_bup        2.5T     0  2.4T   0% /hanabackup
    tmpfs                            26G     0   26G   0% /run/user/1000
  4. Em cada janela de terminal, altere para usuário do sistema operacional SAP HANA. Substitua SID_LC pelo valor sap_hana_sid especificado no arquivo de configuração. O valor SID_LC precisa estar em letras minúsculas.

    su - SID_LCadm
  5. Em cada janela de terminal, verifique se os serviços do SAP HANA, como hdbnameserver, hdbindexserver e outros, estão em execução na instância.

    HDB info

    No host mestre, o resultado será semelhante ao do exemplo truncado a seguir:

    hana-scaleout-w-failover:~ # su - hf0adm
    hf0adm@hana-scaleout-w-failover:/usr/sap/HF0/HDB00> HDB info
    USER          PID     PPID  %CPU        VSZ        RSS COMMAND
    hf0adm      25987    25986   0.4      15248       6312 -sh
    hf0adm      26049    25987   0.0      10448       4036  \_ /bin/sh /usr/sap/HF0/HDB00/HDB info
    hf0adm      26084    26049   0.0      19892       3864      \_ ps fx -U hf0adm -o user:8,pid:8,ppid:8,pcpu:5,vsz:10,rss:10,args
    hf0adm      22386    22385   0.0      15248       6248 -sh
    hf0adm      19164        1   0.0      13604       3124 sapstart pf=/hana/shared/HF0/profile/HF0_HDB00_hana-scaleout-w-failover
    hf0adm      19171    19164   0.0     481188      84340  \_ /usr/sap/HF0/HDB00/hana-scaleout-w-failover/trace/hdb.sapHF0_HDB00 -d -nw -f /usr/sap/HF0/HDB00/hana-scaleout-w-failover/daemon.ini pf=/usr/sap/HF0/SYS/profile/HF0_HDB00_hana-scaleout-w-failover
    hf0adm      19193    19171   3.4    9616860    3970304      \_ hdbnameserver
    hf0adm      19583    19171   0.3    4636456     206500      \_ hdbcompileserver
    hf0adm      19586    19171   0.3    4883932     235764      \_ hdbpreprocessor
    hf0adm      19624    19171   5.9    9896896    4193620      \_ hdbindexserver -port 30003
    hf0adm      19627    19171   1.2    7920208    1605448      \_ hdbxsengine -port 30007
    hf0adm      20072    19171   0.5    6825984     531884      \_ hdbwebdispatcher
    hf0adm      15053        1   0.0     590628      33208 hdbrsutil  --start --port 30003 --volume 3 --volumesuffix mnt00001/hdb00003.00003 --identifier 1689854702
    hf0adm      14420        1   0.0     590560      33308 hdbrsutil  --start --port 30001 --volume 1 --volumesuffix mnt00001/hdb00001 --identifier 1689854671
    hf0adm      14155        1   0.1     554820      33320 /usr/sap/HF0/HDB00/exe/sapstartsrv pf=/hana/shared/HF0/profile/HF0_HDB00_hana-scaleout-w-failover -D -u hf0adm
    hf0adm      14030        1   0.0      57024      11060 /usr/lib/systemd/systemd --user
    hf0adm      14031    14030   0.0     243164       4036  \_ (sd-pam)

    Em um host worker, você verá uma saída semelhante à saída no seguinte exemplo truncado:

    hana-scaleout-w-failoverw1:~ # su - hf0adm
    hf0adm@hana-scaleout-w-failoverw1:/usr/sap/HF0/HDB00> HDB info
    USER          PID     PPID  %CPU        VSZ        RSS COMMAND
    hf0adm      16442    16441   0.0      15248       6276 -sh
    hf0adm      17317    16442   0.0      10448       4032  \_ /bin/sh /usr/sap/HF0/HDB00/HDB info
    hf0adm      17352    17317   0.0      19892       3816      \_ ps fx -U hf0adm -o user:8,pid:8,ppid:8,pcpu:5,vsz:10,rss:10,args
    hf0adm      11873        1   0.0      13604       3244 sapstart pf=/hana/shared/HF0/profile/HF0_HDB00_hana-scaleout-w-failoverw1
    hf0adm      11880    11873   0.0     477076      84260  \_ /usr/sap/HF0/HDB00/hana-scaleout-w-failoverw1/trace/hdb.sapHF0_HDB00 -d -nw -f /usr/sap/HF0/HDB00/hana-scaleout-w-failoverw1/daemon.ini pf=/usr/sap/HF0/SYS/profile/HF0_HDB00_hana-scaleout-w-failoverw1
    hf0adm      11902    11880   0.8    7738216     784912      \_ hdbnameserver
    hf0adm      12140    11880   0.4    4245828     199884      \_ hdbcompileserver
    hf0adm      12143    11880   0.4    4758024     235448      \_ hdbpreprocessor
    hf0adm      12176    11880   0.6    6046020     534448      \_ hdbwebdispatcher
    hf0adm      12210    11880   2.0    8363976    1743196      \_ hdbindexserver -port 30003
    hf0adm      10452        1   0.0     525100      33640 hdbrsutil  --start --port 30003 --volume 4 --volumesuffix mnt00002/hdb00004.00003 --identifier 1689855202
    hf0adm      10014        1   0.1     554696      31992 /hana/shared/HF0/HDB00/exe/sapstartsrv pf=/hana/shared/HF0/profile/HF0_HDB00_hana-scaleout-w-failoverw1 -D -u hf0adm

    Em um host em espera, você verá uma saída semelhante à saída truncada no seguinte exemplo:

    hana-scaleout-w-failoverw4:~ # su - hf0adm
    hf0adm@hana-scaleout-w-failoverw4:/usr/sap/HF0/HDB00> HDB info
    USER          PID     PPID  %CPU        VSZ        RSS COMMAND
    hf0adm      15597    15596   0.5      15248       6272 -sh
    hf0adm      15659    15597   0.0      10448       4004  \_ /bin/sh /usr/sap/HF0/HDB00/HDB info
    hf0adm      15694    15659   0.0      19892       3860      \_ ps fx -U hf0adm -o user:8,pid:8,ppid:8,pcpu:5,vsz:10,rss:10,args
    hf0adm      10285        1   0.0      13604       3244 sapstart pf=/hana/shared/HF0/profile/HF0_HDB00_hana-scaleout-w-failoverw4
    hf0adm      10292    10285   0.0     478076      84540  \_ /usr/sap/HF0/HDB00/hana-scaleout-w-failoverw4/trace/hdb.sapHF0_HDB00 -d -nw -f /usr/sap/HF0/HDB00/hana-scaleout-w-failoverw4/daemon.ini pf=/usr/sap/HF0/SYS/profile/HF0_HDB00_hana-scaleout-w-failoverw4
    hf0adm      10314    10292   0.6    7468320     729308      \_ hdbnameserver
    hf0adm      10492    10292   0.3    3851320     191636      \_ hdbcompileserver
    hf0adm      10495    10292   0.3    4493296     227884      \_ hdbpreprocessor
    hf0adm      10528    10292   0.4    5381616     509368      \_ hdbwebdispatcher
    hf0adm       9750        1   0.0     620748      32796 /hana/shared/HF0/HDB00/exe/sapstartsrv pf=/hana/shared/HF0/profile/HF0_HDB00_hana-scaleout-w-failoverw4 -D -u hf0adm
  6. Se você estiver usando o RHEL for SAP 9.0 ou posterior, verifique se os pacotes chkconfig e compat-openssl11 estão instalados na instância de VM.

    Para mais informações da SAP, consulte a Nota SAP 3108316 – Red Hat Enterprise Linux 9.x: instalação e configuração .

Conectar-se ao SAP HANA Studio

  1. Conecte-se ao host mestre do SAP HANA do SAP HANA Studio.

    É possível se conectar de uma instância do SAP HANA Studio fora do Google Cloud ou de uma instância no Google Cloud. É necessário ativar o acesso à rede entre as VMs de destino e o SAP HANA Studio.

    Para usar o SAP HANA Studio no Google Cloud e ativar o acesso ao sistema SAP HANA, consulte Como instalar o SAP HANA Studio em uma VM do Windows do Compute Engine.

  2. No SAP HANA Studio, clique na guia Landscape no painel de administração padrão do sistema. Será exibida uma mensagem parecida com o seguinte exemplo:

    Captura de tela da visualização Landscape no SAP HANA Studio

Limpar e tentar implantar novamente

Se alguma das etapas de verificação de implantação nas seções anteriores mostrar que a instalação não foi concluída, desfaça a implantação e tente novamente seguindo as etapas a seguir:

  1. Resolva os erros para garantir que a implantação não falhe novamente pelo mesmo motivo. Para mais informações sobre como verificar os registros ou resolver erros relacionados a cotas, consulte Verificar os registros.

  2. Abra o Cloud Shell ou, se você instalou a CLI do Google Cloud na sua estação de trabalho local, abra um terminal.

    Abrir o Cloud Shell

  3. Acesse o diretório que contém o arquivo de configuração do Terraform que você usou nesta implantação.

  4. Exclua todos os recursos que fazem parte da implantação executando o seguinte comando:

    terraform destroy

    Quando for solicitada a aprovação da ação, digite yes.

  5. Tente fazer a implantação novamente, conforme indicado anteriormente neste guia.

Como realizar um teste de failover

Após a confirmação da implantação bem-sucedida do sistema SAP HANA, teste a função failover.

As instruções a seguir acionam um failover alternando para o usuário do sistema operacional SAP HANA e digitando o comando HDB stop. O comando HDB stop inicia um encerramento otimizado do SAP HANA e desconecta os discos do host, o que permite um failover relativamente rápido.

Para executar um teste de failover:

  1. Conecte-se à VM de um host worker usando SSH. É possível se conectar pela página de instâncias da VM do Compute Engine clicando no botão SSH para cada uma das instâncias ou usando o método SSH que preferir.

    Acessar instâncias de VM

  2. Altere para o usuário do sistema operacional SAP HANA. No comando a seguir, substitua SID_LC pelo valor especificado para o argumento sap_hana_sid no arquivo de configuração do Terraform.

    su - SID_LCadm
  3. Simule uma falha com a interrupção do SAP HANA:

    HDB stop

    O comando HDB stop inicia um desligamento do SAP HANA, que aciona um failover. Durante o failover, os discos são desconectados do host com falha e são reconectados ao host em espera. O host com falha é reiniciado e se torna um host em espera.

  4. Após a reinicialização, conecte-se ao host que assumiu o host com falha usando SSH.

  5. Mude para o usuário raiz:

    sudo su -
  6. Exiba as informações do sistema de arquivos em disco:

    df -h

    O resultado será semelhante a este: Os diretórios /hana/data e /hana/log do host com falha agora estão ativados no host que assumiu o controle.

    hana-scaleout-w-failoverw4:~ # df -h
    Filesystem                      Size  Used Avail Use% Mounted on
    devtmpfs                        4.0M  8.0K  4.0M   1% /dev
    tmpfs                           189G  4.0K  189G   1% /dev/shm
    tmpfs                            51G  9.4M   51G   1% /run
    tmpfs                           4.0M     0  4.0M   0% /sys/fs/cgroup
    /dev/sda3                        45G  6.4G   39G  15% /
    /dev/sda2                        20M  3.0M   17M  15% /boot/efi
    tmpfs                            26G     0   26G   0% /run/user/0
    10.74.146.58:/hana_shr          2.5T   41G  2.3T   2% /hana/shared
    10.188.249.170:/hana_bup        2.5T     0  2.4T   0% /hanabackup
    tmpfs                            26G     0   26G   0% /run/user/1000
    /dev/mapper/vg_hana_data-data   422G  593M  422G   1% /hana/data/HF0/mnt00002
    /dev/mapper/vg_hana_log-log     128G  3.2G  125G   3% /hana/log/HF0/mnt00002
  7. No SAP HANA Studio, abra a visualização Landscape do sistema SAP HANA e confirme se o failover foi bem-sucedido:

    • O status dos hosts envolvidos no failover deverá ser INFO.
    • A coluna Papel do servidor de índice (real) deve mostrar o host com falha como o novo host em espera.

    Captura de tela da visualização Landscape no SAP HANA Studio

Valide a instalação do agente do Google Cloud para SAP

Depois de implantar uma VM e instalar o sistema SAP, confirme se o agente do Google Cloud para SAP está funcionando corretamente.

Verificar se o agente do Google Cloud para SAP está em execução

Para verificar se o agente está em execução, siga estas etapas:

  1. Estabeleça uma conexão SSH com a instância da VM do host.

  2. Execute este comando:

    systemctl status google-cloud-sap-agent

    Se o agente estiver funcionando corretamente, a saída conterá active (running). Exemplo:

    google-cloud-sap-agent.service - Google Cloud Agent for SAP
    Loaded: loaded (/usr/lib/systemd/system/google-cloud-sap-agent.service; enabled; vendor preset: disabled)
    Active:  active (running)  since Fri 2022-12-02 07:21:42 UTC; 4 days ago
    Main PID: 1337673 (google-cloud-sa)
    Tasks: 9 (limit: 100427)
    Memory: 22.4 M (max: 1.0G limit: 1.0G)
    CGroup: /system.slice/google-cloud-sap-agent.service
           └─1337673 /usr/bin/google-cloud-sap-agent
    

Se o agente não estiver em execução, reinicie-o.

Verificar se o SAP Host Agent está recebendo métricas

Para verificar se as métricas de infraestrutura são coletadas pelo agente do Google Cloud para SAP e enviadas corretamente ao agente de host da SAP, siga estas etapas:

  1. No sistema SAP, insira a transação ST06.
  2. No painel de visão geral, verifique a disponibilidade e o conteúdo dos seguintes campos para a configuração completa da infraestrutura de monitoramento da SAP e do Google:

    • Provedor de nuvem: Google Cloud Platform
    • Acesso ao monitoramento avançado: TRUE
    • Detalhes do monitoramento avançado: ACTIVE

Configurar o monitoramento para o SAP HANA

Como opção, monitore as instâncias do SAP HANA usando o agente do Google Cloud para SAP. A partir da versão 2.0, é possível configurar o agente para coletar as métricas de monitoramento do SAP HANA e enviá-las para o Cloud Monitoring. O Cloud Monitoring permite criar painéis para visualizar essas métricas, configurar alertas com base em limites de métrica e muito mais.

Para mais informações sobre a coleta de métricas de monitoramento do SAP HANA usando o agente do Google Cloud para SAP, consulte Coleta de métricas de monitoramento do SAP HANA.

Ativar a reinicialização rápida do SAP HANA

O Google Cloud recomenda fortemente ativar a reinicialização rápida do SAP HANA para cada instância do SAP HANA, especialmente para instâncias maiores. A reinicialização rápida do SAP HANA reduz os tempos de reinicialização caso o SAP HANA seja encerrado, mas o sistema operacional continua em execução.

Conforme definido pelos scripts de automação que o Google Cloud fornece, as configurações do sistema operacional e do kernel já aceitam o Inicialização rápida do SAP HANA. Você precisa definir o sistema de arquivos tmpfs e configurar o SAP HANA.

Para definir o sistema de arquivos tmpfs e configurar o SAP HANA, siga as etapas manuais ou use o script de automação fornecido pelo Google Cloud para ativar a reinicialização rápida do SAP HANA. Para mais informações, veja:

Para receber instruções completas sobre a reinicialização rápida do SAP HANA, consulte a documentação da opção de reinicialização rápida do SAP HANA.

Etapas manuais

Configurar o sistema de arquivos tmpfs

Depois que as VMs do host e os sistemas SAP HANA de base forem implantados, você precisará criar e ativar diretórios para os nós NUMA no sistema de arquivos tmpfs.

Exibir a topologia de NUMA da sua VM

Antes de mapear o sistema de arquivos tmpfs necessário, você precisa saber quantos nós NUMA sua VM tem. Para exibir os nós NUMA disponíveis em uma VM do Compute Engine, digite o seguinte comando:

lscpu | grep NUMA

Por exemplo, um tipo de VM m2-ultramem-208 tem quatro nós NUMA, numerados de 0 a 3, conforme mostrado no exemplo a seguir:

NUMA node(s):        4
NUMA node0 CPU(s):   0-25,104-129
NUMA node1 CPU(s):   26-51,130-155
NUMA node2 CPU(s):   52-77,156-181
NUMA node3 CPU(s):   78-103,182-207
Criar os diretórios de nós NUMA

Crie um diretório para cada nó NUMA na sua VM e defina as permissões.

Por exemplo, para quatro nós NUMA numerados de 0 a 3:

mkdir -pv /hana/tmpfs{0..3}/SID
chown -R SID_LCadm:sapsys /hana/tmpfs*/SID
chmod 777 -R /hana/tmpfs*/SID
Montar os diretórios de nó NUMA em tmpfs

Monte os diretórios do sistema de arquivos tmpfs e especifique uma preferência de nó NUMA para cada um com mpol=prefer:

SID especifica o SID com letras maiúsculas.

mount tmpfsSID0 -t tmpfs -o mpol=prefer:0 /hana/tmpfs0/SID
mount tmpfsSID1 -t tmpfs -o mpol=prefer:1 /hana/tmpfs1/SID
mount tmpfsSID2 -t tmpfs -o mpol=prefer:2 /hana/tmpfs2/SID
mount tmpfsSID3 -t tmpfs -o mpol=prefer:3 /hana/tmpfs3/SID
Atualizar /etc/fstab

Para garantir que os pontos de montagem estejam disponíveis após uma reinicialização do sistema operacional, adicione entradas à tabela do sistema de arquivos, /etc/fstab:

tmpfsSID0 /hana/tmpfs0/SID tmpfs rw,relatime,mpol=prefer:0
tmpfsSID1 /hana/tmpfs1/SID tmpfs rw,relatime,mpol=prefer:1
tmpfsSID1 /hana/tmpfs2/SID tmpfs rw,relatime,mpol=prefer:2
tmpfsSID1 /hana/tmpfs3/SID tmpfs rw,relatime,mpol=prefer:3

Opcional: defina limites de uso de memória

O sistema de arquivos tmpfs pode aumentar e diminuir dinamicamente.

Para limitar a memória usada pelo sistema de arquivos tmpfs, defina um limite de tamanho para um volume de nó NUMA com a opção size. Exemplo:

mount tmpfsSID0 -t tmpfs -o mpol=prefer:0,size=250G /hana/tmpfs0/SID

Também é possível limitar o uso geral da memória tmpfs para todos os nós NUMA de uma determinada instância do SAP HANA e de um determinado nó do servidor definindo o parâmetro persistent_memory_global_allocation_limit na seção [memorymanager] do arquivo global.ini.

Configuração do SAP HANA para reinicialização rápida

Para configurar o SAP HANA para reinicialização rápida, atualize o arquivo global.ini e especifique as tabelas a serem armazenadas na memória permanente.

Atualize a seção [persistence] no arquivo global.ini

Configure a seção [persistence] no arquivo global.ini do SAP HANA para fazer referência aos locais tmpfs. Separe cada local tmpfs com um ponto e vírgula:

[persistence]
basepath_datavolumes = /hana/data
basepath_logvolumes = /hana/log
basepath_persistent_memory_volumes = /hana/tmpfs0/SID;/hana/tmpfs1/SID;/hana/tmpfs2/SID;/hana/tmpfs3/SID

O exemplo anterior especifica quatro volumes de memória para quatro nós NUMA, que correspondem a m2-ultramem-208. Se você estivesse executando no m2-ultramem-416, seria necessário configurar oito volumes de memória (0..7).

Reinicie o SAP HANA depois de modificar o arquivo global.ini.

O SAP HANA agora pode usar o local tmpfs como espaço de memória permanente.

Especificar as tabelas a serem armazenadas na memória permanente

Especifique tabelas ou partições específicas de coluna para armazenar na memória permanente.

Por exemplo, para ativar a memória permanente de uma tabela atual, execute a consulta SQL:

ALTER TABLE exampletable persistent memory ON immediate CASCADE

Para alterar o padrão de novas tabelas, adicione o parâmetro table_default no arquivo indexserver.ini. Exemplo:

[persistent_memory]
table_default = ON

Para mais informações sobre como controlar colunas, tabelas e quais visualizações de monitoramento fornecem informações detalhadas, consulte Memória permanente do SAP HANA.

Etapas automatizadas

O script de automação que o Google Cloud fornece para ativar a Inicialização rápida do SAP HANA faz mudanças nos diretórios /hana/tmpfs*, /etc/fstab e na configuração do SAP HANA. Ao executar o script, talvez seja necessário executar etapas adicionais, dependendo se essa é a implantação inicial do seu sistema SAP HANA ou se você está redimensionando sua máquina para um tamanho de NUMA diferente.

Para a implantação inicial do seu sistema SAP HANA ou redimensionar a máquina para aumentar o número de nós NUMA, verifique se o SAP HANA está em execução durante a execução do script de automação que o Google Cloud fornece para permitir a reinicialização rápida do SAP HANA.

Ao redimensionar a máquina para diminuir o número de nós NUMA, verifique se o SAP HANA é interrompido durante a execução do script de automação fornecido pelo Google Cloud para ativar a reinicialização rápida do SAP HANA. Depois que o script for executado, você precisará atualizar manualmente a configuração do SAP HANA para concluir a configuração de reinício rápido do SAP HANA. Para mais informações, consulte Configuração do SAP HANA para reinício rápido.

Para ativar o reinício rápido do SAP HANA, siga estas etapas:

  1. Estabeleça uma conexão SSH com sua VM do host.

  2. Mudar para raiz:

    sudo su -

  3. Faça o download do script sap_lib_hdbfr.sh:

    wget https://storage.googleapis.com/cloudsapdeploy/terraform/latest/terraform/lib/sap_lib_hdbfr.sh
  4. Torne o arquivo executável:

    chmod +x sap_lib_hdbfr.sh
  5. Verifique se o script não tem erros:

    vi sap_lib_hdbfr.sh
    ./sap_lib_hdbfr.sh -help

    Se o comando retornar um erro, entre em contato com o Cloud Customer Care. Para mais informações sobre como entrar em contato com o Customer Care, consulte Como receber suporte para a SAP no Google Cloud.

  6. Execute o script depois de substituir o ID do sistema (SID) do SAP HANA e a senha do usuário SYSTEM do banco de dados do SAP HANA. Para fornecer a senha com segurança, recomendamos que você use uma chave secreta no Gerenciador de secrets.

    Execute o script usando o nome de um secret no Secret Manager. Esse secret precisa existir no projeto do Google Cloud que contém a instância de VM do host.

    sudo ./sap_lib_hdbfr.sh -h 'SID' -s SECRET_NAME 

    Substitua:

    • SID: especifique o SID com letras maiúsculas. Por exemplo, AHA.
    • SECRET_NAME: especifique o nome do secret que corresponde à senha do usuário do SYSTEM do banco de dados do SAP HANA. Esse secret precisa existir no projeto do Google Cloud que contém a instância de VM do host.

    Outra opção é executar o script com uma senha de texto simples. Depois que a reinicialização rápida do SAP HANA estiver ativada, altere sua senha. Não é recomendável usar uma senha de texto simples, porque ela seria registrada no histórico de linha de comando da VM.

    sudo ./sap_lib_hdbfr.sh -h 'SID' -p 'PASSWORD'

    Substitua:

    • SID: especifique o SID com letras maiúsculas. Por exemplo, AHA.
    • PASSWORD: especifique a senha do usuário do SYSTEM do banco de dados SAP HANA.

Para uma execução inicial bem-sucedida, você verá uma saída semelhante a esta:

INFO - Script is running in standalone mode
ls: cannot access '/hana/tmpfs*': No such file or directory
INFO - Setting up HANA Fast Restart for system 'TST/00'.
INFO - Number of NUMA nodes is 2
INFO - Number of directories /hana/tmpfs* is 0
INFO - HANA version 2.57
INFO - No directories /hana/tmpfs* exist. Assuming initial setup.
INFO - Creating 2 directories /hana/tmpfs* and mounting them
INFO - Adding /hana/tmpfs* entries to /etc/fstab. Copy is in /etc/fstab.20220625_030839
INFO - Updating the HANA configuration.
INFO - Running command: select * from dummy
DUMMY
"X"
1 row selected (overall time 4124 usec; server time 130 usec)

INFO - Running command: ALTER SYSTEM ALTER CONFIGURATION ('global.ini', 'SYSTEM') SET ('persistence', 'basepath_persistent_memory_volumes') = '/hana/tmpfs0/TST;/hana/tmpfs1/TST;'
0 rows affected (overall time 3570 usec; server time 2239 usec)

INFO - Running command: ALTER SYSTEM ALTER CONFIGURATION ('global.ini', 'SYSTEM') SET ('persistent_memory', 'table_unload_action') = 'retain';
0 rows affected (overall time 4308 usec; server time 2441 usec)

INFO - Running command: ALTER SYSTEM ALTER CONFIGURATION ('indexserver.ini', 'SYSTEM') SET ('persistent_memory', 'table_default') = 'ON';
0 rows affected (overall time 3422 usec; server time 2152 usec)

Como se conectar ao SAP HANA

Observe que, como essas instruções não usam um IP externo para o SAP HANA, só será possível se conectar às instâncias do SAP HANA por meio da instância bastion usando SSH ou por meio do Windows server usando o SAP HANA Studio.

  • Para se conectar ao SAP HANA por meio da instância bastion, conecte-se ao bastion host e depois às instâncias do SAP HANA usando um cliente SSH de sua escolha.

  • Para conectar o banco de dados SAP HANA por meio do SAP HANA Studio, use um cliente de área de trabalho remota para se conectar à instância do Windows Server. Após a conexão, instale o SAP HANA Studio manualmente e acesse o banco de dados SAP HANA.

Como realizar tarefas de pós-implantação

Antes de usar sua instância do SAP HANA, recomendamos que você realize as etapas de pós-implantação a seguir. Para saber mais informações, consulte o Guia de instalação e atualização do SAP HANA.

  1. Altere as senhas temporárias do superusuário do sistema SAP HANA e do superusuário do banco de dados.

  2. Atualize o software SAP HANA com os patches mais recentes.

  3. Se o sistema SAP HANA for implantado em uma interface de rede VirtIO, recomendamos que você garanta que o valor do parâmetro TCP /proc/sys/net/ipv4/tcp_limit_output_bytes esteja definido como 1048576. Essa modificação ajuda a melhorar a capacidade geral da rede na interface de rede VirtIO sem afetar a latência da rede.

  4. Instale todos os componentes extras, como o Application Function Libraries (AFL) ou o Smart Data Access (SDA).

  5. Se estiver fazendo upgrade de um sistema SAP HANA atual, carregue os dados do sistema atual usando procedimentos de backup e restauração padrão ou usando a replicação do sistema SAP HANA.

  6. Configure e faça o backup do novo banco de dados do SAP HANA. Para mais informações, consulte o guia de operações do SAP HANA.

Avaliar sua carga de trabalho do SAP HANA

Para automatizar verificações de validação contínua para suas cargas de trabalho do SAP HANA em execução no Google Cloud, use o Gerenciador de carga de trabalho.

O gerenciador de cargas de trabalho permite verificar e avaliar automaticamente as cargas de trabalho do SAP HANA em relação às práticas recomendadas de fornecedores da SAP, do Google Cloud e do SO. Isso ajuda a melhorar a qualidade, o desempenho e a confiabilidade das cargas de trabalho.

Para informações sobre as práticas recomendadas compatíveis com o Gerenciador de cargas de trabalho para avaliar cargas de trabalho do SAP HANA em execução no Google Cloud, consulte Práticas recomendadas do Gerenciador de cargas de trabalho para SAP. Para informações sobre como criar e executar uma avaliação usando o Gerenciador de cargas de trabalho, consulte Criar e executar uma avaliação.

A seguir