Guia de implantação do SAP MaxDB para Linux

Neste guia de implantação, você aprenderá como implantar e conectar-se a uma máquina virtual (VM, na sigla em inglês) do Compute Engine pronta para a instalação do SAP MaxDB em um sistema operacional Linux.

Nestas instruções, o Cloud Deployment Manager é usado para implantar e configurar a VM, o sistema operacional Linux e os volumes de disco necessários para o SAP MaxDB.

Para ver mais detalhes sobre como planejar sua implantação, consulte o Guia de planejamento do SAP MaxDB.

Pré-requisitos

Se você ainda não tem um projeto do Google Cloud com faturamento ativado, crie-o antes de implantar uma VM para a instalação do SAP MaxDB.

Para criar um projeto, siga estas etapas:

  1. Faça login na sua conta do Google.

    Se você ainda não tiver uma, inscreva-se.

  2. No Console do Cloud, na página do seletor de projetos, selecione ou crie um projeto do Cloud.

    Acessar a página do seletor de projetos

  3. Verifique se a cobrança está ativada para o seu projeto do Google Cloud. Saiba como confirmar se a cobrança está ativada para o seu projeto.

Como configurar o ambiente de comando gcloud

Para estas instruções, use o Cloud Shell para inserir comandos gcloud que implantam ou configuram os recursos do Google Cloud. Acesse o Cloud Shell por meio do Console do Cloud no seu navegador.

Uma VM fornecida pelo Google Cloud executa o Cloud Shell toda vez que ele é iniciado. No primeiro uso, o Google Cloud também cria um diretório $HOME permanente para você, que é restaurado toda vez que você abre o Cloud Shell.

A VM provisionada inclui o SDK do Cloud mais recente, que fornece a interface de linha de comando gcloud. Portanto, os comandos do gcloud que você usa no Cloud Shell são os mesmos que usaria em uma instância instalada localmente do SDK do Cloud.

Se você tiver o SDK do Cloud instalado, poderá emitir os comandos gcloud que são usados nessas instruções a partir da máquina local. No entanto, se ele estiver instalado localmente, sempre verifique se você está usando a versão mais recente dele.

Se você usa o Cloud Shell ou o SDK do Cloud, pode definir e alterar as propriedades do seu ambiente de comando gcloud e salvá-las como uma configuração. Configurações são conjuntos de pares de chave-valor que influenciam o comportamento dos comandos gcloud.

Algumas ações básicas que podem ser realizadas com uma configuração no Cloud Shell incluem:

  • inicializar uma configuração com gcloud init;

  • verificar as configurações atuais da gcloud com gcloud config list;

  • alterar o projeto do Google Cloud em que você está trabalhando com gcloud config set project [PROJECT_ID], em que [PROJECT_ID] representa seu projeto do Google Cloud;

  • definir uma região padrão com gcloud config set compute/region [REGION], em que [REGION] representa uma região do Google Cloud;

  • definir uma zona padrão com gcloud config set compute/zone [ZONE], em que [ZONE] representa uma zona do Google Cloud;

  • criar uma nova configuração com gcloud config configurations create [NAME], em que [NAME] representa o nome da configuração.

Para mais informações sobre como trabalhar com as configurações, consulte Como gerenciar configurações do SDK do Cloud.

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 geralmente exigem acesso à Internet para fazer o download do agente de monitoramento do Google. 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 configurar a rede:

  1. Acesse o Cloud Shell.

    Acessar o Cloud Shell (em inglês)

  2. Para criar uma nova rede no modo de sub-redes personalizadas, execute:

    gcloud compute networks create [YOUR_NETWORK_NAME] --subnet-mode custom

    em que [YOUR_NETWORK_NAME] é o nome da nova rede. Esse nome pode conter apenas letras minúsculas, dígitos e o caractere traço (-).

    Especifique --subnet-mode custom para evitar o uso do modo automático padrão, que cria automaticamente uma sub-rede em cada região do Compute Engine. Para mais informações, consulte Modo de criação da sub-rede.

  3. Crie uma sub-rede e especifique a região e o intervalo de IP:

    gcloud compute networks subnets create [YOUR_SUBNETWORK_NAME] \
            --network [YOUR_NETWORK_NAME] --region [YOUR_REGION] --range [YOUR_RANGE]

    onde:

    • [YOUR_SUBNETWORK_NAME] é a nova sub-rede;
    • [YOUR_NETWORK_NAME] é o nome da rede que você criou na etapa anterior;
    • [REGION] é a região em que você quer a sub-rede;
    • [YOUR_RANGE] é o intervalo de endereços IP, especificado no formato CIDR (em inglês). Por exemplo, 10.1.0.0/24. Se você planeja adicionar mais de uma sub-rede, atribua intervalos IP CIDR não sobrepostos para cada sub-rede na rede. Observe que cada sub-rede e os respectivos intervalos IP internos são mapeados para uma única região.
  4. Se quiser, repita o passo anterior e adicione mais sub-redes.

Como configurar um gateway NAT

Se você pretende criar uma ou mais VMs que não terão endereços IP públicos, precisará criar um gateway NAT para que suas VMs possam acessar a Internet e fazer o download do agente de monitoramento do Google.

Se você tiver intenção de atribuir um endereço IP público externo à VM, pule esta etapa.

Para criar um gateway NAT, faça o seguinte:

  1. Crie uma VM para atuar como o gateway NAT na sub-rede que você acabou de criar:

    gcloud compute instances create [YOUR_VM_NAME] --can-ip-forward \
            --zone [YOUR_ZONE]  --image-family [YOUR_IMAGE_FAMILY] \
            --image-project [YOUR_IMAGE_PROJECT] \
            --machine-type=[YOUR_MACHINE_TYPE] --subnet [YOUR_SUBNETWORK_NAME] \
            --metadata startup-script="sysctl -w net.ipv4.ip_forward=1; iptables \
            -t nat -A POSTROUTING -o eth0 -j MASQUERADE" --tags [YOUR_VM_TAG]

    em que:

    • [YOUR_VM_NAME] é o nome da VM que você está criando e que pretende usar para o gateway NAT;
    • [YOUR_ZONE] é a zona em que você quer a VM;
    • [YOUR_IMAGE_FAMILY] e [YOUR_IMAGE_PROJECT] especificam a imagem que você pretende usar no gateway NAT;
    • [YOUR_MACHINE_TYPE] é qualquer tipo de máquina compatível. Se você espera um tráfego de rede alto, escolha um tipo de máquina com pelo menos oito CPUs virtuais;
    • [YOUR_SUBNETWORK_NAME] é o nome da sub-rede em que você quer a VM;
    • [YOUR_VM_TAG] é uma tag aplicada à VM que você está criando. Se a VM for usada como um Bastion Host, a tag será usada para aplicar a regra de firewall relacionada somente a essa VM.
  2. Crie uma rota com tag para que o tráfego passe pela VM NAT e não pelo gateway de Internet padrão:

    gcloud compute routes create [YOUR_ROUTE_NAME] \
            --network [YOUR_NETWORK_NAME] --destination-range 0.0.0.0/0 \
            --next-hop-instance [YOUR_VM_NAME] --next-hop-instance-zone \
            [YOUR_ZONE] --tags [YOUR_TAG_NAME] --priority 800

    em que:

    • [YOUR_ROUTE_NAME] é o nome da rota que você está criando;
    • [YOUR_NETWORK_NAME] é a rede criada;
    • [YOUR_VM_NAME] é a VM que você está usando para seu gateway NAT;
    • [YOUR_ZONE] é a zona em que a VM está localizada;
    • [YOUR_TAG_NAME] é a tag na rota que direciona o tráfego por meio da VM NAT.
  3. Também é possível usar a VM do gateway NAT como um Bastion Host. Para isso, execute o comando a seguir. Com ele, é criada uma regra de firewall para permitir o acesso SSH de entrada a essa instância a partir da Internet:

    gcloud compute firewall-rules create allow-ssh --network [YOUR_NETWORK_NAME] --allow tcp:22 --source-ranges 0.0.0.0/0 --target-tags "[YOUR_VM_TAG]"

    em que:

    • [YOUR_NETWORK_NAME] é a rede criada;
    • [YOUR_VM_TAG] é a tag especificada na criação da VM do gateway NAT. Com o uso dessa tag, a regra de firewall é válida somente para a VM que hospeda o gateway NAT, não para todas as VMs na rede.

Como implantar uma VM do Linux para SAP MaxDB com o Deployment Manager

Nas instruções a seguir, o Deployment Manager é usado para implantar uma instância de VM com o Linux e todos os discos permanentes exigidos pelo SAP MaxDB.

Sobre o Deployment Manager

Nestas instruções, você definirá as opções de recursos para a instalação em um modelo de arquivo de configuração do Deployment Manager.

O Deployment Manager trata todos os recursos criados para o sistema SAP como uma única entidade chamada de implantação. Veja e trabalhe com todas as implantações do seu projeto na página Implantações no Console do Cloud.

Ao usar o Deployment Manager, esteja ciente dos seguintes comportamentos:

  • A exclusão de uma implantação exclui todos os recursos associados a ela, incluindo as VMs, os discos permanentes e quaisquer sistemas SAP instalados nas VMs.
  • Por padrão, o Deployment Manager usa a política de criação de recursos do ACQUIRE. Ao especificar um nome de VM que já esteja em uso por outra VM no projeto, o Deployment Manager não criará uma nova, mas adicionará a atual à nova implantação. Se a VM original foi criada por uma execução anterior do Deployment Manager, ela será associada a duas implantações.

    Se você excluir a nova implantação, a VM adquirida será excluída da implantação que a criou. Para evitar que isso aconteça, defina a política de recursos do Deployment Manager como CREATE ou use nomes de recursos exclusivos na nova implantação.

    Para informações sobre as políticas que podem ser usadas ao criar recursos com o Deployment Manager e como especificá-las, consulte a documentação do Deployment Manager.

Procedimento de implantação

  1. Abra o Cloud Shell.

    Acessar o Cloud Shell

  2. Faça o download do modelo do arquivo de configuração template.yaml no seu diretório ativo. Para isso, digite o seguinte comando no Cloud Shell:

    wget https://storage.googleapis.com/sapdeploy/dm-templates/sap_maxdb/template.yaml
    
  3. Se quiser, renomeie o arquivo template.yaml para identificar a configuração definida por ele.

  4. Abra o arquivo template.yaml no editor de código do Cloud Shell.

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

  5. No arquivo template.yaml, atualize os valores de propriedade a seguir substituindo os colchetes e respectivos conteúdos pelos valores da sua instalação.

    Propriedade Tipo de dados Descrição
    instanceName String Nome da instância da VM em que o SAP MaxDB será instalado. O nome precisa ter até 13 caracteres e ser especificado em letras minúsculas, números ou hifens.
    instanceType String O tipo de máquina virtual do Compute Engine em que o SAP MaxDB será instalado. Especifique um tipo de máquina com duas ou mais vCPUs. Por exemplo, n1-standard-4. Se você estiver executando o SAP MaxDB com o SAP NetWeaver na mesma VM, selecione um tipo de máquina que inclua CPUs e memória suficientes para dar suporte aos dois sistemas. Consulte o Guia de planejamento do SAP NetWeaver.
    zone String A zona em que você está implantando o SAP MaxDB. Ela precisa estar na mesma região que você selecionou para a sub-rede.
    subnetwork String O nome da sub-rede que você criou em uma etapa anterior. Ao implantar em uma VPC compartilhada, especifique esse valor como [SHAREDVPC_PROJECT]/[SUBNETWORK]. Por exemplo, myproject/network1.
    linuxImage String O nome da imagem do sistema operacional Linux ou da família de imagens que você está usando com o SAP MaxDB. Para especificar uma família de imagens, adicione o prefixo family/ ao nome dela. Por exemplo, family/rhel-7 ou family/sles-12-sp3-sap. Para definir uma imagem específica, determine somente o nome da imagem. Para ver a lista de famílias de imagens disponíveis, consulte a página "Imagens" no Console do Cloud.
    linuxImageProject String O projeto do Google Cloud que contém a imagem que você usará. Ele pode ser o próprio projeto ou um projeto de imagem do Google Cloud, como rhel-sap-cloud ou suse-sap-cloud. Para acessar uma lista de projetos de imagem do GCP, consulte a página Imagens na documentação do Compute Engine.
    maxdbSID String O código da instância do banco de dados.
    maxdbRootSize Número inteiro O tamanho em GB de /sapdb, o diretório raiz da instância do banco de dados. Os valores mínimo e padrão para maxdbRootSize são 8 GB.
    maxdbDataSize Inteiro O tamanho de /sapdb/[DBSID]/sapdata, que contém os arquivos de dados do banco de dados. Os valores mínimo e padrão para maxdbDataSize são 30 GB.
    maxdbLogSize Inteiro O tamanho de /sapdb/[DBSID]saplog, que contém os registros de transações do banco de dados. Os valores mínimo e padrão para maxdbLogSize são 8 GB.
    maxdbBackupSize Número inteiro O tamanho do volume /maxdbbackup. Esta propriedade é opcional. Se definida como 0 ou omitida, nenhum disco será criado.
    maxdbDataSSD booleano Especifica se a unidade de dados usa um disco permanente SSD (Yes) ou HDD (No). Yes é o padrão.
    maxdbLogSSD booleano Especifica se a unidade de registros usa um disco permanente SSD (Yes) ou HDD (No). Yes é o padrão. É recomendado o uso de SSD.
    usrsapSize Inteiro Necessário apenas se você estiver instalando o SAP MaxDB para ser executado com o SAP NetWeaver na mesma instância de VM.
    sapmntSize Número inteiro Necessário apenas se você estiver instalando o SAP MaxDB para ser executado com o SAP NetWeaver na mesma instância de VM.
    swapSize Inteiro Necessário apenas se você estiver instalando o SAP MaxDB para ser executado com o SAP NetWeaver na mesma instância de VM.

    Com o arquivo de configuração a seguir, é criada uma VM configurada para execução do servidor de banco de dados do SAP MaxDB e o SAP NetWeaver. O Deployment Manager é direcionado pelo arquivo de configuração a implantar uma VM n1-standard-16 em execução em um sistema operacional SLES 12 SP3. A VM inclui todos os diretórios necessários para executar o SAP MaxDB com o NetWeaver.

     imports:
     - path: https://storage.googleapis.com/sapdeploy/dm-templates/sap_maxdb/sap_maxdb.py
    
     resources:
     - name: sap_maxdb
       type: https://storage.googleapis.com/sapdeploy/dm-templates/sap_maxdb/sap_maxdb.py
       properties:
         instanceName: xmp-maxdb-lin
         instanceType: n1-standard-16
         zone: us-central1-f
         subnetwork: example-sub-network
         linuxImage: family/sles-12-sp3-sap
         linuxImageProject: suse-sap-cloud
         maxdbSID: MD1
         maxdbRootSize: 10
         maxdbDataSize: 50
         maxdbLogSize: 30
         maxdbBackupSize: 100
         maxdbDataSSD: Yes
         maxdbLogSSD: Yes
         usrsapSize: 15
         sapmntSize: 15
         swapSize: 24
    
  6. Crie a instância da VM.

    gcloud deployment-manager deployments create [DEPLOYMENT-NAME] --config [TEMPLATE-NAME].yaml
    

    O comando acima invoca o Deployment Manager, que implanta a VM de acordo com as especificações em seu arquivo template.yaml. Isso pode levar alguns minutos. Para verificar o progresso da implantação, siga as etapas na próxima seção.

Como verificar a implantação

As etapas a seguir usam o Cloud Logging, o que pode gerar cobranças. Para mais informações, consulte os preços do Cloud Logging.

  1. Abra o Cloud Logging para verificar se há erros e monitorar o progresso da instalação.

    Acessar o Logging

  2. Na guia Resources, selecione Global como o recurso de geração de registros. Se INSTANCE DEPLOYMENT COMPLETE for exibido para uma VM, isso significa que o processamento do Deployment Manager foi concluído para ela.

    Exibição do Logging

  3. Depois que o sistema do SAP MaxDB for implantado, conecte-se à VM usando o SSH. Na página "Instâncias de VM" do Compute Engine, clique no botão SSH da instância de VM ou use o método SSH que preferir.

    Botão SSH na página

  4. Mude para o usuário raiz.

    sudo su -
  5. No prompt de comando, insira df -h. Verifique se o resultado é semelhante ao seguinte, como o diretório //sapdb/[DBSID]/sapdata.

    Volumes de dados criados pelo script.

  6. Se você estiver instalando o SAP MaxDB na mesma VM que o SAP NetWeaver, digite o comando a seguir para confirmar se o diretório de troca foi criado:

    cat /proc/meminfo | grep Swap

    Você verá resultados parecidos com os deste exemplo:

    Exemplo de saída do terminal quando há um diretório de troca

Se qualquer uma das etapas de validação mostrar que a instalação falhou, faça o seguinte:

  1. Corrija o erro.
  2. Na página "Implantações", exclua a implantação para limpar as VMs e os discos permanentes da instalação que falhou.
  3. Execute a implantação novamente.

Como instalar o banco de dados

Agora que o sistema operacional está configurado, instale o banco de dados do SAP MaxDB. O MaxDB normalmente é instalado com o produto SAP a que ele está integrado.

Para instalar o SAP MaxDB na VM, faça o seguinte:

  1. Estabeleça uma conexão SSH com a VM baseada em Linux.
  2. Faça o download do SAP Software Provisioning Manager (SWPM), da mídia de instalação do produto SAP e da mídia de instalação do MaxDB, de acordo com os guias de instalação da SAP.
  3. Instale o produto SAP e o banco de dados do SAP MaxDB de acordo com os guias de instalação da SAP para o produto. Para receber mais orientações, consulte a documentação do SAP MaxDB (em inglês).

A SAP fornece mais informações sobre instalação na Nota SAP 1020175 - Perguntas frequentes: instalação, upgrade ou aplicação de um patch no SAP MaxDB.

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

Antes de usar sua instância do SAP MaxDB, é recomendável que você execute as seguintes etapas de pós-implantação:

  1. Atualize seu software SAP MaxDB com os patches mais recentes, se disponíveis.
  2. Instale quaisquer outros componentes.
  3. Configure e faça o backup do seu novo banco de dados SAP MaxDB.

Para mais informações, consulte Administração do banco de dados do SAP MaxDB (em inglês).

Solução de problemas

Nesta seção, você encontrará informações sobre como corrigir problemas comuns.

Solução de problemas de conexão com a VM

Se você estiver com problemas para se conectar à sua VM por meio do SSH, verifique se foi criada uma regra de firewall para abrir a porta 22 na rede do GCP que você está usando.

Para outros problemas possíveis, consulte Problemas conhecidos do SSH no navegador.