Terraform: guia de configuração de cluster de alta disponibilidade para escalonamento horizontal do SAP HANA

Neste guia, mostramos como automatizar a implantação de um sistema de escalonamento horizontal do SAP HANA em um cluster de alta disponibilidade (HA, na sigla em inglês) do SUSE Linux Enterprise Server (SLES) no Google Cloud.

Neste guia, usamos o Terraform para implantar um sistema de escalonamento horizontal de vários hosts do SAP HANA, um endereço IP virtual (VIP, na sigla em inglês) com uma implementação do balanceador de carga de rede de passagem interna. um cluster de alta disponibilidade baseado em SO, de acordo com as práticas recomendadas do Google Cloud, SAP e SUSE.

Um dos sistemas SAP HANA funciona como o sistema primário ativo e o outro como sistema secundário em espera. Implante os dois sistemas SAP HANA na mesma região, de preferência em diferentes zonas.

O cluster implantado inclui as seguintes funções e recursos:

  • O gerenciador de recursos do cluster de alta disponibilidade do Pacemaker
  • Um mecanismo de isolamento do Google Cloud
  • Um IP virtual (VIP) que usa uma implementação de balanceador de carga interno TCP de nível 4, incluindo:
    • Uma reserva do endereço IP que você seleciona para o VIP.
    • Dois grupos de instâncias do Compute Engine.
    • Um balanceador de carga interno de TCP.
    • Uma verificação de integridade do Compute Engine.
  • O padrão de alta disponibilidade do SUSE
  • O pacote de agente de recursos SUSE SAPHanaSR
  • Replicação síncrona do sistema
  • Memória pré-carregada
  • Reinicialização automática da instância com falha como nova instância secundária

Se você precisar de um sistema de escalonamento horizontal com hosts em espera para failover automático do host do SAP HANA, consulte Terraform: sistema de escalonamento horizontal do SAP HANA com guia de implantação de failover automático do host do Google Analytics.

Para implantar um sistema SAP HANA sem um cluster de alta disponibilidade do Linux ou hosts em espera, use o Guia de implantação do SAP HANA.

Este guia é destinado a usuários avançados do SAP HANA familiarizados com as configurações de alta disponibilidade do Linux para SAP HANA.

Pré-requisitos

Antes de criar o cluster de alta disponibilidade do SAP HANA, verifique se os pré-requisitos a seguir são atendidos:

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.

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

Como criar um cluster de alta disponibilidade do Linux com o SAP HANA instalado

As instruções a seguir usam um arquivo de configuração do Terraform para criar um cluster do SLES com dois sistemas SAP HANA, um sistema SAP HANA principal e um sistema SAP HANA secundário ou em espera na mesma região do Compute Engine. Os sistemas SAP HANA usam replicação síncrona, e o sistema em espera pré-carrega os dados replicados.

Defina as opções de configuração do cluster de alta disponibilidade do SAP HANA em um arquivo de configuração do Terraform.

As instruções a seguir usam o Cloud Shell, mas geralmente são aplicáveis a um terminal local com o Terraform instalado e configurado com o Provedor do Google.

  1. Confirme se as cotas atuais para recursos, como discos permanentes e CPUs, são suficientes para os sistemas SAP HANA que você está prestes a instalar. Se as cotas forem insuficientes, a implantação falhará.

    Para saber os requisitos de cotas do SAP HANA, consulte Considerações sobre preços e cotas para SAP HANA.

    Acessar "Cotas"

  2. Abra o Cloud Shell ou seu terminal local.

    Abrir o Cloud Shell

  3. Faça o download do arquivo de configuração sap_hana_ha.tf para o diretório de trabalho executando o comando a seguir no Cloud Shell ou no terminal:

    $ wget https://storage.googleapis.com/cloudsapdeploy/terraform/latest/terraform/sap_hana_ha/terraform/sap_hana_ha.tf
  4. Abra o arquivo sap_hana_ha.tf no editor de código do Cloud Shell ou, se estiver usando seu terminal, abra o arquivo em um editor de texto de sua escolha.

    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_ha.tf, atualize os valores do argumento substituindo o conteúdo dentro das aspas duplas pelos valores da sua instalação. Os argumentos são descritos na tabela a seguir.

    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_ha.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.
    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.

    network String Especifique o nome da rede em que você precisa criar o balanceador de carga que gerencia o VIP.

    Se você estiver usando uma rede VPC compartilhada, será preciso adicionar o ID do projeto host como um diretório pai do nome da rede. Por exemplo, HOST_PROJECT_ID/NETWORK_NAME.

    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, 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 suse-sap-cloud. Para encontrar o projeto de imagem do sistema operacional, consulte Detalhes do sistema operacional.
    primary_instance_name String Especifique um nome da instância de VM para o sistema SAP HANA principal. O nome pode conter letras minúsculas, números ou hífens.
    primary_zone String Especifique uma zona em que o sistema SAP HANA principal está implantado. As zonas principal e secundária precisam estar na mesma região. Por exemplo, us-east1-c
    secondary_instance_name String Especifique um nome da instância de VM para o sistema secundário do SAP HANA. O nome pode conter letras minúsculas, números ou hífens.
    secondary_zone String Especifique uma zona em que o sistema secundário do SAP HANA está implantado. As zonas principal e secundária precisam estar na mesma região. Por exemplo, us-east1-b
    majority_maker_instance_name String

    Especifique um nome para a instância de VM do Compute Engine que atua como maior fabricante.

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

    majority_maker_instance_type String Especifique o tipo de máquina virtual (VM, na sigla em inglês) do Compute Engine que você quer usar para a instância de maioria. Por exemplo, n1-highmem-32.

    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..

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

    majority_maker_zone String Especifique uma zona em que a instância de VM da maioria dos fabricantes está implantada. Essa zona precisa estar na mesma região que as zonas principal e secundária. Por exemplo, us-east1-d.

    O Google Cloud recomenda que a instância de VM da maioria dos fabricantes seja implantada em uma zona diferente dos sistemas principal e secundário do SAP HANA.

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

    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_scaleout_nodes Inteiro Especifique o número de hosts workers necessários para seu sistema de escalonamento horizontal. Para implantar um sistema de escalonamento horizontal, você precisa de pelo menos um host de worker.

    O Terraform cria os hosts de worker além da instância principal do SAP HANA. Por exemplo, se você especificar 3, quatro instâncias do SAP HANA serão implantadas no sistema de escalonamento horizontal nas zonas principal e secundária.

    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_backup_size Inteiro Opcional. Especifique o tamanho do volume /hanabackup em GB. Se você não especificar ou definir esse argumento como 0, o script de instalação vai provisionar a instância do Compute Engine com um volume de backup do HANA duas vezes maior que a memória total.
    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_vip String Especifique o endereço IP que você usará para o VIP. O endereço IP precisa estar dentro do intervalo de endereços IP atribuídos à sua sub-rede. O arquivo de configuração do Terraform reserva esse endereço IP para você.
    primary_instance_group_name String Opcional. Define o nome do grupo de instâncias não gerenciadas para o nó principal.a O nome padrão é ig-PRIMARY_INSTANCE_NAME.
    secondary_instance_group_name String Opcional. Define o nome do grupo de instâncias não gerenciadas para o nó secundário. O nome padrão é ig-SECONDARY_INSTANCE_NAME.
    loadbalancer_name String Opcional. Especifique o nome do balanceador de carga de rede de passagem interno. O nome padrão é lb-SAP_HANA_SID-ilb.
    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. Nas implantações de escalonamento vertical do SAP HANA, um disco permanente equilibrado e separado também é implantado no diretório /hana/shared.

    É 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_ha/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.
    include_backup_disk Booleano Opcional. Esse argumento é aplicável a implantações de escalonamento vertical do SAP HANA. O valor padrão é true, que direciona o Terraform a implantar um disco permanente HDD padrão para hospedar o diretório /hanabackup. O tamanho desse disco é determinado pelo argumento sap_hana_backup_size.

    Se você definir o valor de include_backup_disk como false, nenhum disco será implantado no diretório /hanabackup.

    enable_fast_restart Booleano Opcional. Esse argumento determina se a opção de reinicialização rápida do SAP HANA está ativada para sua implantação. O valor padrão é true. O Google Cloud recomenda ativar a opção de reinicialização rápida do SAP HANA.

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

    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.
    primary_reservation_name String Opcional. Para usar uma reserva de VM do Compute Engine específica para provisionar a instância da VM que hospeda a instância principal do SAP HANA do cluster de alta disponibilidade, 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.
    secondary_reservation_name String Opcional. Para usar uma reserva de VM específica do Compute Engine para provisionar a instância da VM que hospeda a instância secundária do SAP HANA do cluster de alta disponibilidade, 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.
    primary_static_ip String Opcional. Especifique um endereço IP estático válido para a instância de VM primária no cluster de alta disponibilidade. Se não houver uma especificação, um endereço IP será gerado automaticamente para sua instância de VM. Por exemplo, 128.10.10.10.

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

    secondary_static_ip String Opcional. Especifique um endereço IP estático válido para a instância de VM secundária no cluster de alta disponibilidade. Se não houver uma especificação, um endereço IP será gerado automaticamente para sua instância de VM. Por exemplo, 128.11.11.11.

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

    primary_worker_static_ips List(String) Opcional. Especifique uma matriz de endereços IP estáticos válidos para as instâncias de worker na instância principal do sistema de alta disponibilidade de escalonamento horizontal do SAP HANA. 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 argumentoprimary_worker_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 202307270727 do módulo sap_hana_ha ou posterior.

    secondary_worker_static_ips List(String) Opcional. Especifique uma matriz de endereços IP estáticos válidos para as instâncias de worker na instância secundária do sistema de alta disponibilidade de escalonamento horizontal do SAP HANA. 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.2", "2.3.3.5" ].

    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 argumentosecondary_worker_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 202307270727 do módulo sap_hana_ha ou posterior.

    No exemplo a seguir, mostramos um arquivo de configuração concluído que define um cluster de alta disponibilidade para um sistema de escalonamento horizontal do SAP HANA no SLES. O cluster usa um balanceador de carga de rede de passagem interno para gerenciar o VIP.

    O Deployment Manager implanta os recursos do Google Cloud definidos no arquivo de configuração e, em seguida, os scripts assumem a configuração do sistema operacional, instalam o SAP HANA, configuram a replicação e configuram o cluster de alta disponibilidade do Linux.

    Para esclarecer, os comentários na configuração de exemplo a seguir são omitidos.

    # ...
    module "sap_hana_ha" {
    source = "https://storage.googleapis.com/cloudsapdeploy/terraform/latest/terraform/sap_hana_ha/sap_hana_ha_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 argument above and uncomment the source argument below.
    #
    # source = "https://storage.googleapis.com/cloudsapdeploy/terraform/YYYYMMDDHHMM/terraform/sap_hana_ha/sap_hana_ha_module.zip"
    # ...
    project_id = "example-project-123456"
    machine_type = "n2-highmem-32"
    network = "example-network"
    subnetwork = "example-subnet-us-central1"
    linux_image = "sles-15-sp4-sap"
    linux_image_project = "suse-sap-cloud"
    
    primary_instance_name = "example-ha-vm1"
    primary_zone = "us-central1-a"
    
    secondary_instance_name = "example-ha-vm2"
    secondary_zone = "us-central1-b"
    
    majority_maker_instance_name = "example-ha-mj"
    majority_maker_instance_type = "n2-highmem-32"
    majority_maker_zone = "us-central1-c"
    
    sap_hana_scaleout_nodes = 2
    # ...
    sap_hana_deployment_bucket = "my-hana-bucket"
    sap_hana_sid = "HA1"
    sap_hana_instance_number = 00
    sap_hana_sidadm_password_secret = "hana_sid_adm_pwd"
    sap_hana_system_password_secret = "hana_sys_pwd"
    # ...
    sap_vip = "10.0.0.100"
    primary_instance_group_name = "ig-example-ha-vm1"
    secondary_instance_group_name = "ig-example-ha-vm2"
    loadbalancer_name = "lb-ha1"
    # ...
    network_tags = ["hana-ha-ntwk-tag"]
    service_account = "sap-deploy-example@example-project-123456.iam.gserviceaccount.com"
    primary_static_ip = "10.0.0.1"
    secondary_static_ip = "10.0.0.2"
    primary_worker_static_ips = ["10.0.0.3", "10.0.0.4"]
    secondary_worker_static_ips = ["10.0.0.5", "10.0.0.6"]
    enable_fast_restart = true
    # ...
    }
  6. Para inicializar seu diretório de trabalho atual e fazer o download do plug-in do provedor do Terraform e dos arquivos de 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

    terraform init --upgrade 
  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 e, em seguida, controla manualmente um script que configura o cluster de alta disponibilidade e instala o SAP HANA de acordo com os argumentos definidos no arquivo de configuração do Terraform.

    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.

Como verificar a implantação do sistema HANA de alta disponibilidade

A verificação de um cluster de alta disponibilidade do SAP HANA envolve vários procedimentos diferentes:

  • Como verificar a geração de registros
  • Como verificar a configuração da VM e a instalação do SAP HANA
  • Como verificar a configuração do cluster
  • Como verificar o balanceador de carga e a integridade dos grupos de instâncias
  • Como verificar o sistema SAP HANA usando o SAP HANA Studio
  • Como realizar um teste de failover

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.

Verificar a configuração da VM e a instalação do SAP HANA

  1. Depois de implantar o sistema SAP HANA sem erros, conecte-se a cada VM usando SSH. Na página Instâncias de VM do Compute Engine, clique no botão SSH para cada instância de VM ou use seu método de SSH preferido.

    Botão SSH na página "Instâncias de VM" do Compute Engine.

  2. Mude para o usuário raiz:

    sudo su -
  3. No prompt de comando, insira:

    df -h

    A resposta será semelhante a: Verifique se a saída inclui os diretórios /hana, como /hana/data.

    example-ha-vm1:~ # df -h
    Filesystem                         Size  Used Avail Use% Mounted on
    devtmpfs                           4.0M  8.0K  4.0M   1% /dev
    tmpfs                              189G   48M  189G   1% /dev/shm
    tmpfs                               51G   26M   51G   1% /run
    tmpfs                              4.0M     0  4.0M   0% /sys/fs/cgroup
    /dev/sda3                           30G  6.2G   24G  21% /
    /dev/sda2                           20M  3.0M   17M  15% /boot/efi
    /dev/mapper/vg_hana_shared-shared  256G   41G  215G  16% /hana/shared
    /dev/mapper/vg_hana_data-data      308G   12G  297G   4% /hana/data
    /dev/mapper/vg_hana_log-log        128G  8.8G  120G   7% /hana/log
    /dev/mapper/vg_hana_usrsap-usrsap   32G  265M   32G   1% /usr/sap
    /dev/mapper/vg_hanabackup-backup   512G  8.5G  504G   2% /hanabackup
    tmpfs                               26G     0   26G   0% /run/user/174
    tmpfs                               26G     0   26G   0% /run/user/900
    tmpfs                               26G     0   26G   0% /run/user/0
    tmpfs                               26G     0   26G   0% /run/user/1000
  4. Verifique o status do novo cluster digitando o comando de status específico para seu sistema operacional:

    crm status
    

    Você verá uma saída semelhante ao exemplo a seguir, em que as instâncias de VM nos sistemas principal e secundário do SAP HANA e a instância majoritária do criador são iniciadas. example-ha-vm1 é a instância principal ativa.

    example-ha-vm1:~ # crm status
    Cluster Summary:
      * Stack: corosync
      * Current DC: example-ha-vm1 (version 2.1.2+20211124.ada5c3b36-150400.4.9.2-2.1.2+20211124.ada5c3b36) - partition with quorum
      * Last updated: Sat Jul 15 19:42:56 2023
      * Last change:  Sat Jul 15 19:42:21 2023 by root via crm_attribute on example-ha-vm1
      * 7 nodes configured
      * 23 resource instances configured
    
    Node List:
      * Online: [ example-ha-mj example-ha-vm1 example-ha-vm1w1 example-ha-vm1w2 example-ha-vm2 example-ha-vm2w1 example-ha-vm2w2 ]
    
    Full List of Resources:
      * STONITH-example-ha-vm1  (stonith:external/gcpstonith):   Started example-ha-mj
      * STONITH-example-ha-vm2        (stonith:external/gcpstonith):   Started example-ha-vm1
      * STONITH-example-ha-mjw2     (stonith:external/gcpstonith):   Started example-ha-vm1w1
      * STONITH-example-ha-vm1w1        (stonith:external/gcpstonith):   Started example-ha-vm1w2
      * STONITH-example-ha-vm2w1      (stonith:external/gcpstonith):   Started example-ha-vm2
      * STONITH-example-ha-vm1w2        (stonith:external/gcpstonith):   Started example-ha-vm2w1
      * STONITH-example-ha-vm2w2      (stonith:external/gcpstonith):   Started example-ha-mj
      * Resource Group: g-primary:
        * rsc_vip_int-primary       (ocf::heartbeat:IPaddr2):        Started example-ha-vm1
        * rsc_vip_hc-primary        (ocf::heartbeat:anything):       Started example-ha-vm1
      * Clone Set: cln_SAPHanaTopology_HA1_HDB00 [rsc_SAPHanaTopology_HA1_HDB00]:
        * Started: [ example-ha-vm1 example-ha-vm1w1 example-ha-vm1w2 example-ha-vm2 example-ha-vm2w1 example-ha-vm2w2 ]
        * Stopped: [ example-ha-mj ]
      * Clone Set: msl_SAPHana_HA1_HDB00 [rsc_SAPHana_HA1_HDB00] (promotable):
        * Masters: [ example-ha-vm1 ]
        * Slaves: [ example-ha-vm1w1 example-ha-vm1w2 example-ha-vm2 example-ha-vm2w1 example-ha-vm2w2 ]
        * Stopped: [ example-ha-mj ]
  5. Altere para o usuário administrador do SAP substituindo SID_LC no seguinte comando pelo valor de sap_hana_sid que você especificou no arquivo sap_hana_ha.tf. O valor SID_LC precisa estar em letras minúsculas.

    su - SID_LCadm
    
  6. Para verificar se os serviços do SAP HANA, como hdbnameserver, hdbindexserver e outros, estão sendo executados na instância, digite o seguinte comando:

    HDB info
    

Verificar a configuração do cluster

Depois que o cluster for implantado com sucesso, verifique as configurações de parâmetros dele. Verifique as configurações exibidas pelo software do cluster e as configurações dos parâmetros no arquivo de configuração do cluster. Compare suas configurações com as configurações do exemplo a seguir, que foi criado pelos scripts de automação usados neste guia.

  1. Exiba as configurações de recursos do cluster:

    crm config show

    Os scripts de automação usados neste guia criam as configurações de recursos mostradas no exemplo a seguir:

      node 1: example-ha-vm1 \
        attributes hana_ha1_site=example-ha-vm1 hana_ha1_gra=2.0
      node 2: example-ha-vm2 \
        attributes hana_ha1_site=example-ha-vm2 hana_ha1_gra=2.0
      node 3: example-ha-mj
      node 4: example-ha-vm1w1 \
        attributes hana_ha1_site=example-ha-vm1 hana_ha1_gra=2.0
      node 5: example-ha-vm2w1 \
        attributes hana_ha1_site=example-ha-vm2 hana_ha1_gra=2.0
      node 6: example-ha-vm1w2 \
        attributes hana_ha1_site=example-ha-vm1 hana_ha1_gra=2.0
      node 7: example-ha-vm2w2 \
        attributes hana_ha1_site=example-ha-vm2 hana_ha1_gra=2.0
      primitive STONITH-example-ha-mjw2 stonith:external/gcpstonith \
        params instance_name=example-ha-mjw2 gcloud_path="/usr/bin/gcloud" logging=yes pcmk_reboot_timeout=300 pcmk_monitor_retries=4 pcmk_delay_max=30 \
        op monitor interval=300s timeout=120s \
        op start interval=0 timeout=60s \
        op stop timeout=15 interval=0s
      primitive STONITH-example-ha-vm1 stonith:external/gcpstonith \
        params instance_name=example-ha-vm1 gcloud_path="/usr/bin/gcloud" logging=yes pcmk_reboot_timeout=300 pcmk_monitor_retries=4 pcmk_delay_max=30 \
        op monitor interval=300s timeout=120s \
        op start interval=0 timeout=60s \
        op stop timeout=15 interval=0s
      primitive STONITH-example-ha-vm1w1 stonith:external/gcpstonith \
        params instance_name=example-ha-vm1w1 gcloud_path="/usr/bin/gcloud" logging=yes pcmk_reboot_timeout=300 pcmk_monitor_retries=4 pcmk_delay_max=30 \
        op monitor interval=300s timeout=120s \
        op start interval=0 timeout=60s \
        op stop timeout=15 interval=0s
      primitive STONITH-example-ha-vm1w2 stonith:external/gcpstonith \
        params instance_name=example-ha-vm1w2 gcloud_path="/usr/bin/gcloud" logging=yes pcmk_reboot_timeout=300 pcmk_monitor_retries=4 pcmk_delay_max=30 \
        op monitor interval=300s timeout=120s \
        op start interval=0 timeout=60s \
        op stop timeout=15 interval=0s
      primitive STONITH-example-ha-vm2 stonith:external/gcpstonith \
        params instance_name=example-ha-vm2 gcloud_path="/usr/bin/gcloud" logging=yes pcmk_reboot_timeout=300 pcmk_monitor_retries=4 \
        op monitor interval=300s timeout=120s \
        op start interval=0 timeout=60s \
        op stop timeout=15 interval=0s
      primitive STONITH-example-ha-vm2w1 stonith:external/gcpstonith \
        params instance_name=example-ha-vm2w1 gcloud_path="/usr/bin/gcloud" logging=yes pcmk_reboot_timeout=300 pcmk_monitor_retries=4 \
        op monitor interval=300s timeout=120s \
        op start interval=0 timeout=60s \
        op stop timeout=15 interval=0s
      primitive STONITH-example-ha-vm2w2 stonith:external/gcpstonith \
        params instance_name=example-ha-vm2w2 gcloud_path="/usr/bin/gcloud" logging=yes pcmk_reboot_timeout=300 pcmk_monitor_retries=4 \
        op monitor interval=300s timeout=120s \
        op start interval=0 timeout=60s \
        op stop timeout=15 interval=0s
      primitive rsc_SAPHanaTopology_HA1_HDB00 ocf:suse:SAPHanaTopology \
        operations $id=rsc_sap2_HA1_HDB00-operations \
        op monitor interval=10 timeout=600 \
        op start interval=0 timeout=600 \
        op stop interval=0 timeout=300 \
        params SID=HA1 InstanceNumber=00
      primitive rsc_SAPHana_HA1_HDB00 ocf:suse:SAPHanaController \
        op start interval=0 timeout=3600 \
        op stop interval=0 timeout=3600 \
        op promote interval=0 timeout=3600 \
        op demote interval=0 timeout=3600 \
        op monitor interval=60 role=Master timeout=700 \
        op monitor interval=61 role=Slave timeout=700 \
        params SID=HA1 InstanceNumber=00 PREFER_SITE_TAKEOVER=true DUPLICATE_PRIMARY_TIMEOUT=7200 AUTOMATED_REGISTER=true
      primitive rsc_vip_hc-primary anything \
        params binfile="/usr/bin/socat" cmdline_options="-U TCP-LISTEN:60000,backlog=10,fork,reuseaddr /dev/null" \
        op monitor timeout=20s interval=10s \
        op_params depth=0 \
        op start timeout=20s interval=0s \
        op stop timeout=20s interval=0s
      primitive rsc_vip_int-primary IPaddr2 \
        params ip=10.1.0.23 cidr_netmask=32 nic=eth0 \
        op monitor interval=3600s timeout=60s \
        op start timeout=20s interval=0s \
        op stop timeout=20s interval=0s
      group g-primary rsc_vip_int-primary rsc_vip_hc-primary \
        meta resource-stickiness=0
      ms msl_SAPHana_HA1_HDB00 rsc_SAPHana_HA1_HDB00 \
        meta clone-node-max=1 master-max=1 interleave=true target-role=Started interleave=true
      clone cln_SAPHanaTopology_HA1_HDB00 rsc_SAPHanaTopology_HA1_HDB00 \
        meta clone-node-max=1 target-role=Started interleave=true
      location LOC_STONITH_example-ha-vm1 STONITH-example-ha-vm1 -inf: example-ha-vm1
      location LOC_STONITH_example-ha-vm1w1 STONITH-example-ha-vm1w1 -inf: example-ha-vm1w1
      location LOC_STONITH_example-ha-vm1w2 STONITH-example-ha-vm1w2 -inf: example-ha-vm1w2
      location LOC_STONITH_example-ha-vm2 STONITH-example-ha-vm2 -inf: example-ha-vm2
      location LOC_STONITH_example-ha-vm2w1 STONITH-example-ha-vm2w1 -inf: example-ha-vm2w1
      location LOC_STONITH_example-ha-vm2w2 STONITH-example-ha-vm2w2 -inf: example-ha-vm2w2
      location SAPHanaCon_not_on_mm msl_SAPHana_HA1_HDB00 -inf: example-ha-mj
      location SAPHanaTop_not_on_mm cln_SAPHanaTopology_HA1_HDB00 -inf: example-ha-mj
      colocation col_saphana_ip_HA1_HDB00 4000: g-primary:Started msl_SAPHana_HA1_HDB00:Master
      order ord_SAPHana_HA1_HDB00 Optional: cln_SAPHanaTopology_HA1_HDB00 msl_SAPHana_HA1_HDB00
      property SAPHanaSR: \
        hana_ha1_glob_mts=true \
        hana_ha1_site_srHook_example-ha-vm2=SOK \
        hana_ha1_site_lss_example-ha-vm1=4 \
        hana_ha1_site_srr_example-ha-vm1=P \
        hana_ha1_site_lss_example-ha-vm2=4 \
        hana_ha1_site_srr_example-ha-vm2=S \
        hana_ha1_glob_srmode=syncmem \
        hana_ha1_glob_upd=ok \
        hana_ha1_site_mns_example-ha-vm1=example-ha-vm1 \
        hana_ha1_site_mns_example-ha-vm2=example-ha-vm2 \
        hana_ha1_site_lpt_example-ha-vm2=30 \
        hana_ha1_site_srHook_example-ha-vm1=PRIM \
        hana_ha1_site_lpt_example-ha-vm1=1689450463 \
        hana_ha1_glob_sync_state=SOK \
        hana_ha1_glob_prim=example-ha-vm1
      property cib-bootstrap-options: \
        have-watchdog=false \
        dc-version="2.1.2+20211124.ada5c3b36-150400.4.9.2-2.1.2+20211124.ada5c3b36" \
        cluster-infrastructure=corosync \
        cluster-name=hacluster \
        maintenance-mode=false \
        stonith-timeout=300s \
        stonith-enabled=true \
        concurrent-fencing=true
      rsc_defaults build-resource-defaults: \
        resource-stickiness=1000 \
        migration-threshold=5000
      op_defaults op-options: \
        timeout=600
    
  2. Exiba o arquivo de configuração do cluster, corosync.conf:

    cat /etc/corosync/corosync.conf

    Os scripts de automação usados neste guia especificam as configurações de parâmetros no arquivo corosync.conf, conforme mostrado no exemplo a seguir:

      totem {
        version: 2
        secauth: off
        crypto_hash: sha1
        crypto_cipher: aes256
        cluster_name: hacluster
        clear_node_high_bit: yes
        token: 20000
        token_retransmits_before_loss_const: 10
        join: 60
        max_messages: 20
        transport: udpu
        interface {
          ringnumber: 0
          bindnetaddr: "10.1.0.7"
          mcastport: 5405
          ttl: 1
        }
      }
      logging {
        fileline: off
        to_stderr: no
        to_logfile: no
        logfile: /var/log/cluster/corosync.log
        to_syslog: yes
        debug: off
        timestamp: on
        logger_subsys {
          subsys: QUORUM
          debug: off
        }
      }
      quorum {
        provider: corosync_votequorum
    
      }
      nodelist {
        node {
          ring0_addr: example-ha-vm1
          nodeid: 1
        }
        node {
          ring0_addr: example-ha-vm2
          nodeid: 2
        }
        node {
          ring0_addr: example-ha-mj
          nodeid: 3
         }
        node {
          ring0_addr: example-ha-vm1w1
          nodeid: 4
         }
        node {
          ring0_addr: example-ha-vm2w1
          nodeid: 5
         }
        node {
          ring0_addr: example-ha-vm1w2
          nodeid: 6
         }
        node {
          ring0_addr: example-ha-vm2w2
          nodeid: 7
         }
      }
    

Verificar o balanceador de carga e a integridade dos grupos de instâncias

Para confirmar se o balanceador de carga e a verificação de integridade foram configurados corretamente, verifique o balanceador de carga e os grupos de instâncias no Console do Google Cloud.

  1. No Console do Google Cloud, abra a página Balanceamento de carga.

    Acessar o Cloud Load Balancing

  2. Na lista de balanceadores de carga, confirme se um balanceador de carga foi criado para seu cluster de alta disponibilidade.

  3. Na página Detalhes do balanceador de carga, na seção Back-end, na coluna Íntegra, confirme se um dos grupos de instâncias mostra 1 de 1 e a outra mostra 0 de 1. Após um failover, o indicador íntegro, 1 de 1, muda para o novo grupo de instâncias ativas.

    Mostra a página de detalhes do balanceador de carga com o grupo de instâncias principal ativo
indicado por "1/1" e o secundário indicado por "0/1".

Verificar o sistema SAP HANA usando o SAP HANA Studio

É possível usar o Cockpit do SAP HANA ou o SAP HANA Studio para monitorar e gerenciar os sistemas SAP HANA em um cluster de alta disponibilidade.

  1. Conecte-se ao sistema HANA usando o SAP HANA Studio. Ao definir a conexão, especifique os seguintes valores:

    • No painel "Especificar o sistema", especifique o endereço IP flutuante como o nome do host.
    • No painel "Propriedades de conexão", para autenticação do usuário do banco de dados, especifique o nome do superusuário do banco de dados e a senha que você especificou para o argumento sap_hana_system_password no arquivo sap_hana_ha.tf.

    Para mais informações da SAP sobre a instalação do SAP HANA Studio, consulte o Guia de instalação e atualização do SAP HANA Studio.

  2. Depois que o SAP HANA Studio estiver conectado ao sistema HANA de alta disponibilidade, exiba a visão geral do sistema clicando duas vezes no nome do sistema no painel de navegação no lado esquerdo da janela.

    Captura de tela do painel de navegação do SAP HANA Studio

  3. Em Informações gerais, na guia Visão geral, confirme o seguinte:

    • O Status operacional mostra All services started.
    • O Status de replicação do sistema mostra All services are active and in sync.

    Captura de tela da guia "Overview" do SAP HANA Studio

  4. Confirme o modo de replicação clicando no link System Replication Status em General Information. A replicação síncrona é indicada por SYNCMEM na coluna REPLICATION_MODE, na guia System Replication.

    Captura de tela da guia "System Replication Status" do 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.

Executar um teste de failover

Depois de verificar se o sistema SAP HANA foi implantado com sucesso, teste a função de failover.

As instruções a seguir usam o comando ip link set eth0 down para deixar a interface de rede off-line. Esse comando valida o failover e o isolamento.

Para executar um teste de failover, siga estas etapas:

  1. Na instância principal do SAP HANA, conecte-se ao nó mestre usando SSH. É possível se conectar a partir da página Instâncias de VM do Compute Engine clicando no botão SSH referente a cada uma delas. Se preferir, use o método SSH que preferir.

  2. No prompt de comando, digite o seguinte comando:

    ip link set eth0 down

    O comando ip link set eth0 down aciona um failover ao interromper as comunicações com a instância principal do SAP HANA.

  3. Conecte-se a qualquer outro nó no cluster usando SSH e mude para o usuário raiz.

  4. Execute o comando a seguir para confirmar se a instância principal do SAP HANA está ativa na VM que continha a instância secundária.

    crm status
    

    Como a reinicialização automática está ativada no cluster, a instância interrompida é reiniciada e assume o papel da instância secundária. O exemplo a seguir mostra que os papéis em cada instância do SAP HANA foram alterados:

    example-ha-vm2:~ # crm status
    Cluster Summary:
      * Stack: corosync
      * Current DC: example-ha-vm2 (version 2.1.2+20211124.ada5c3b36-150400.4.9.2-2.1.2+20211124.ada5c3b36) - partition with quorum
      * Last updated: Mon Jul 17 19:47:11 2023
      * Last change:  Mon Jul 17 19:46:56 2023 by root via crm_attribute on example-ha-vm2
      * 7 nodes configured
      * 23 resource instances configured
    
    Node List:
      * Online: [ example-ha-mj example-ha-vm1 example-ha-vm1w1 example-ha-vm1w2 example-ha-vm2 example-ha-vm2w1 example-ha-vm2w2 ]
    
    Full List of Resources:
      * STONITH-example-ha-vm1      (stonith:external/gcpstonith):   Started example-ha-mj
      * STONITH-example-ha-vm2      (stonith:external/gcpstonith):   Started example-ha-vm1w1
      * STONITH-example-ha-mjw2     (stonith:external/gcpstonith):   Started example-ha-vm1w1
      * STONITH-example-ha-vm1w1    (stonith:external/gcpstonith):   Started example-ha-vm1w2
      * STONITH-example-ha-vm2w1    (stonith:external/gcpstonith):   Started example-ha-vm2
      * STONITH-example-ha-vm1w2    (stonith:external/gcpstonith):   Started example-ha-vm2w1
      * STONITH-example-ha-vm2w2    (stonith:external/gcpstonith):   Started example-ha-mj
      * Resource Group: g-primary:
        * rsc_vip_int-primary       (ocf::heartbeat:IPaddr2):        Started example-ha-vm2
        * rsc_vip_hc-primary        (ocf::heartbeat:anything):       Started example-ha-vm2
      * Clone Set: cln_SAPHanaTopology_HA1_HDB00 [rsc_SAPHanaTopology_HA1_HDB00]:
        * Started: [ example-ha-vm1 example-ha-vm1w1 example-ha-vm1w2 example-ha-vm2 example-ha-vm2w1 example-ha-vm2w2 ]
        * Stopped: [ example-ha-mj ]
      * Clone Set: msl_SAPHana_HA1_HDB00 [rsc_SAPHana_HA1_HDB00] (promotable):
        * Masters: [ example-ha-vm2 ]
        * Slaves: [ example-ha-vm1 example-ha-vm1w1 example-ha-vm1w2 example-ha-vm2w1 example-ha-vm2w2 ]
        * Stopped: [ example-ha-mj ]
  5. No console do Google Cloud, na página Detalhes do balanceador de carga, confirme se a nova instância principal ativa mostra 1 de 1 na coluna Íntegra. Se necessário, atualize a página.

    Acessar o Cloud Load Balancing

    Por exemplo, veja a imagem a seguir:

    Mostra a página de detalhes do balanceador de carga com a instância "ig-example-ha-vm2"
mostrando "1/1" na coluna "Íntegro".

  6. No SAP HANA Studio, para confirmar se você ainda está conectado ao sistema, clique duas vezes na entrada do sistema no painel de navegação para atualizar as informações.

  7. Clique no link System Replication Status para confirmar se os hosts principal e secundário foram trocados e estão ativos.

    Captura de tela da guia "System Replication Status" do SAP HANA Studio

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

Depois que a infraestrutura for implantada e o sistema SAP HANA estiver instalado, valide 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.

Conectar-se ao SAP HANA

Como essas instruções não usam um endereço 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 o cliente SSH de sua escolha.

  • Para se conectar ao 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 (em inglês) manualmente e acesse o banco de dados SAP HANA.

Configurar o HANA ativo/ativo (ativado para leitura)

A partir do SAP HANA 2.0 SPS1, é possível configurar o HANA Active/Active (Read Enabled) em um cluster do Pacemaker. Para instruções, consulte Configurar HANA ativo/ativo (ativado para leitura) em um cluster do SUSE Pacemaker.

Executar tarefas pós-implantação

Antes de usar sua instância do SAP HANA, recomendamos que você siga os passos de pós-implantação a seguir. Para mais informações, consulte o guia de instalação e atualização do SAP HANA (em inglês).

  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. Configure e faça o backup do seu novo banco de dados 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 de alta disponibilidade do SAP HANA em execução no Google Cloud, use o Gerenciador de carga de trabalho.

O Gerenciador de carga de trabalho permite verificar e avaliar automaticamente suas cargas de trabalho de alta disponibilidade 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 de alta disponibilidade 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.

Resolver problemas

Para resolver problemas com configurações de alta disponibilidade do SAP HANA no SLES, consulte Como solucionar problemas de configurações de alta disponibilidade para SAP.

Receba ajuda

Se você precisar de ajuda para resolver um problema com clusters de alta disponibilidade para SAP HANA no SLES, colete as informações de diagnóstico necessárias e entre em contato com o Cloud Customer Care. Para mais informações, consulte Clusters de alta disponibilidade em informações de diagnóstico do SLES.

A seguir