Introdução à configuração do Ansible
Ao usar o SAP Deployment Automation Framework, você pode executar uma implantação de infraestrutura automatizada. Você também pode fazer as configurações necessárias do sistema operacional e instalar o SAP usando os playbooks do Ansible fornecidos no repositório. Esses playbooks estão localizados no repositório da estrutura de automação na /sap-automation/deploy/ansible
pasta.
Nome do ficheiro | Description |
---|---|
playbook_01_os_base_config.yaml |
Configuração básica do sistema operacional |
playbook_02_os_sap_specific_config.yaml |
Configuração do sistema operacional específico do SAP |
playbook_03_bom_processing.yaml |
Processamento de listas de materiais SAP |
playbook_04_00_00_hana_db_install |
Instalação do banco de dados SAP HANA |
playbook_05_00_00_sap_scs_install.yaml |
Instalação de serviços centrais SAP |
playbook_05_01_sap_dbload.yaml |
Carregador de banco de dados |
playbook_04_00_01_hana_hsr.yaml |
Configuração de alta disponibilidade do SAP HANA |
playbook_05_02_sap_pas_install.yaml |
Instalação do servidor de aplicativos principal SAP |
playbook_05_03_sap_app_install.yaml |
Instalação do servidor de aplicativos SAP |
playbook_05_04_sap_web_install.yaml |
Instalação do SAP Web Dispatcher |
Pré-requisitos
Os playbooks do Ansible exigem os sap-parameters.yaml
arquivos e SID_host.yaml
no diretório atual.
Arquivos de configuração
O sap-parameters.yaml
arquivo contém informações que o Ansible usa para a configuração da infraestrutura SAP.
---
# bom_base_name is the name of the SAP Application Bill of Materials file
bom_base_name: S41909SPS03_v0010ms
# Set to true to instruct Ansible to update all the packages on the virtual machines
upgrade_packages: false
# TERRAFORM CREATED
sap_fqdn: sap.contoso.net
# kv_name is the name of the key vault containing the system credentials
kv_name: LABSECESAP01user###
# secret_prefix is the prefix for the name of the secret stored in key vault
secret_prefix: LAB-SECE-SAP01
# sap_sid is the application SID
sap_sid: L00
# scs_high_availability is a boolean flag indicating
# if the SAP Central Services are deployed using high availability
scs_high_availability: false
# SCS Instance Number
scs_instance_number: "00"
# scs_lb_ip is the SCS IP address of the load balancer in
# front of the SAP Central Services virtual machines
scs_lb_ip: 10.110.32.26
# ERS Instance Number
ers_instance_number: "02"
# ecs_lb_ip is the ERS IP address of the load balancer in
# front of the SAP Central Services virtual machines
ers_lb_ip:
# sap_sid is the database SID
db_sid: XDB
# platform
platform: HANA
# db_high_availability is a boolean flag indicating if the
# SAP database servers are deployed using high availability
db_high_availability: false
# db_lb_ip is the IP address of the load balancer in front of the database virtual machines
db_lb_ip: 10.110.96.13
disks:
- { host: 'l00dxdb00l0538', LUN: 0, type: 'sap' }
- { host: 'l00dxdb00l0538', LUN: 10, type: 'data' }
- { host: 'l00dxdb00l0538', LUN: 11, type: 'data' }
- { host: 'l00dxdb00l0538', LUN: 12, type: 'data' }
- { host: 'l00dxdb00l0538', LUN: 13, type: 'data' }
- { host: 'l00dxdb00l0538', LUN: 20, type: 'log' }
- { host: 'l00dxdb00l0538', LUN: 21, type: 'log' }
- { host: 'l00dxdb00l0538', LUN: 22, type: 'log' }
- { host: 'l00dxdb00l0538', LUN: 2, type: 'backup' }
- { host: 'l00app00l538', LUN: 0, type: 'sap' }
- { host: 'l00app01l538', LUN: 0, type: 'sap' }
- { host: 'l00scs00l538', LUN: 0, type: 'sap' }
...
O L00_hosts.yaml
arquivo é o arquivo de inventário que o Ansible usa para a configuração da infraestrutura SAP. O L00
rótulo pode ser diferente para suas implantações.
L00_DB:
hosts:
l00dxdb00l0538:
ansible_host : 10.110.96.12
ansible_user : azureadm
ansible_connection : ssh
connection_type : key
vars:
node_tier : hana
L00_SCS:
hosts:
l00scs00l538:
ansible_host : 10.110.32.25
ansible_user : azureadm
ansible_connection : ssh
connection_type : key
vars:
node_tier : scs
L00_ERS:
hosts:
vars:
node_tier : ers
L00_PAS:
hosts:
l00app00l538:
ansible_host : 10.110.32.24
ansible_user : azureadm
ansible_connection : ssh
connection_type : key
vars:
node_tier : pas
L00_APP:
hosts:
l00app01l538:
ansible_host : 10.110.32.15
ansible_user : azureadm
ansible_connection : ssh
connection_type : key
vars:
node_tier : app
L00_WEB:
hosts:
vars:
node_tier : web
Executar um manual
Certifique-se de baixar o software SAP para seu ambiente do Azure antes de executar esta etapa.
Uma maneira de executar os playbooks é usar o menu de configuração.
Execute o script configuration_menu
.
${HOME}/Azure_SAP_Automated_Deployment/sap-automation/deploy/ansible/configuration_menu.sh
Para executar um playbook ou vários playbooks, use o seguinte ansible-playbook
comando. Este exemplo executa o playbook de configuração do sistema operacional.
sap_params_file=sap-parameters.yaml
if [[ ! -e "${sap_params_file}" ]]; then
echo "Error: '${sap_params_file}' file not found!"
exit 1
fi
# Extract the sap_sid from the sap_params_file, so that we can determine
# the inventory file name to use.
sap_sid="$(awk '$1 == "sap_sid:" {print $2}' ${sap_params_file})"
kv_name="$(awk '$1 == "kv_name:" {print $2}' ${sap_params_file})"
prefix="$(awk '$1 == "secret_prefix:" {print $2}' ${sap_params_file})"
password_secret_name=$prefix-sid-password
password_secret=$(az keyvault secret show --vault-name ${kv_name} --name ${password_secret_name} --query value --output table )
export ANSIBLE_PASSWORD=$password_secret
export ANSIBLE_INVENTORY="${sap_sid}_hosts.yaml"
export ANSIBLE_PRIVATE_KEY_FILE=sshkey
export ANSIBLE_COLLECTIONS_PATHS=/opt/ansible/collections${ANSIBLE_COLLECTIONS_PATHS:+${ANSIBLE_COLLECTIONS_PATHS}}
export ANSIBLE_REMOTE_USER=azureadm
export ANSIBLE_PYTHON_INTERPRETER=auto_silent
# Set of options that will be passed to the ansible-playbook command
playbook_options=(
--inventory-file="${sap_sid}_hosts.yaml"
--private-key=${ANSIBLE_PRIVATE_KEY_FILE}
--extra-vars="_workspace_directory=`pwd`"
--extra-vars="@${sap_params_file}"
-e ansible_ssh_pass='{{ lookup("env", "ANSIBLE_PASSWORD") }}'
"${@}"
)
ansible-playbook "${playbook_options[@]}" ~/Azure_SAP_Automated_Deployment/sap-automation/deploy/ansible/playbook_01_os_base_config.yaml
Configuração do sistema operativo
O manual de configuração do sistema operacional é usado para configurar o sistema operacional das máquinas virtuais SAP. O manual executa as seguintes tarefas.
Você pode executar o manual usando:
- O pipeline
Configuration and SAP installation
de DevOps escolhendoCore Operating System Configuration
. - O script
configuration_menu.sh
do menu de configuração . - A linha de comando.
As seguintes tarefas são executadas em máquinas virtuais Linux:
- Habilite o registro em log para
sudo
operações. - Verifique se o agente de máquina virtual do Azure está configurado corretamente.
- Certifique-se de que todos os repositórios estão registados e ativados.
- Certifique-se de que todos os pacotes estão instalados.
- Crie grupos de volumes e volumes lógicos.
- Configure os parâmetros do kernel.
- Configure o roteamento para mais interfaces de rede (se necessário).
- Crie as contas de usuário e grupos.
- Configure os banners exibidos quando conectado.
- Configure os serviços necessários.
cd ${HOME}/Azure_SAP_Automated_Deployment/WORKSPACES/SYSTEM/LAB-SECE-SAP04-L00/
export sap_sid=L00
export ANSIBLE_PRIVATE_KEY_FILE=sshkey
playbook_options=(
--inventory-file="${sap_sid}_hosts.yaml"
--private-key=${ANSIBLE_PRIVATE_KEY_FILE}
--extra-vars="_workspace_directory=`pwd`"
--extra-vars="@sap-parameters.yaml"
"${@}"
)
# Run the playbook to retrieve the ssh key from the Azure key vault
ansible-playbook "${playbook_options[@]}" ~/Azure_SAP_Automated_Deployment/sap-automation/deploy/ansible/pb_get-sshkey.yaml
# Run the playbook to perform the Operating System configuration
ansible-playbook "${playbook_options[@]}" ~/Azure_SAP_Automated_Deployment/sap-automation/deploy/ansible/playbook_01_os_base_config.yaml
Configuração do sistema operacional específico do SAP
O manual de configuração do sistema operacional específico do SAP é usado para configurar o sistema operacional das máquinas virtuais SAP. O manual executa as seguintes tarefas.
As seguintes tarefas são executadas em máquinas virtuais Linux:
- Configure o arquivo hosts.
- Certifique-se de que todos os repositórios específicos do SAP estejam registrados e habilitados.
- Certifique-se de que todos os pacotes específicos do SAP estejam instalados.
- Execute as operações de montagem em disco.
- Configure os serviços específicos do SAP.
- Implementar configurações definidas nas Notas SAP relevantes.
Você pode executar o manual usando:
- O pipeline
Configuration and SAP installation
de DevOps escolhendoSAP Operating System Configuration
. - O script
configuration_menu.sh
do menu de configuração . - A linha de comando.
cd ${HOME}/Azure_SAP_Automated_Deployment/WORKSPACES/SYSTEM/LAB-SECE-SAP04-L00/
export sap_sid=L00
export ANSIBLE_PRIVATE_KEY_FILE=sshkey
playbook_options=(
--inventory-file="${sap_sid}_hosts.yaml"
--private-key=${ANSIBLE_PRIVATE_KEY_FILE}
--extra-vars="_workspace_directory=`pwd`"
--extra-vars ansible_ssh_pass='{{ lookup("env", "ANSIBLE_PASSWORD") }}'
--extra-vars="@sap-parameters.yaml"
"${@}"
)
# Run the playbook to retrieve the ssh key from the Azure key vault
ansible-playbook "${playbook_options[@]}" ~/Azure_SAP_Automated_Deployment/sap-automation/deploy/ansible/pb_get-sshkey.yaml
# Run the playbook to perform the SAP Specific Operating System configuration
ansible-playbook "${playbook_options[@]}" ~/Azure_SAP_Automated_Deployment/sap-automation/deploy/ansible/playbook_02_os_sap_specific_config.yaml
Download de software local
Este playbook baixa a mídia de instalação do plano de controle para a fonte de mídia de instalação. A mídia de instalação pode ser compartilhada a partir da instância de serviços central ou dos Arquivos do Azure ou dos Arquivos NetApp do Azure.
Você pode executar o manual usando:
- O pipeline
Configuration and SAP installation
de DevOps escolhendoLocal software download
. - O script
configuration_menu.sh
do menu de configuração . - A linha de comando.
As seguintes tarefas são executadas na máquina virtual da instância de serviços centrais:
- Baixe o software da conta de armazenamento e disponibilize-o para as outras máquinas virtuais.
cd ${HOME}/Azure_SAP_Automated_Deployment/WORKSPACES/SYSTEM/LAB-SECE-SAP04-L00/
export sap_sid=L00
export ANSIBLE_PRIVATE_KEY_FILE=sshkey
playbook_options=(
--inventory-file="${sap_sid}_hosts.yaml"
--private-key=${ANSIBLE_PRIVATE_KEY_FILE}
--extra-vars="_workspace_directory=`pwd`"
--extra-vars ansible_ssh_pass='{{ lookup("env", "ANSIBLE_PASSWORD") }}'
--extra-vars="@sap-parameters.yaml"
"${@}"
)
# Run the playbook to retrieve the ssh key from the Azure key vault
ansible-playbook "${playbook_options[@]}" ~/Azure_SAP_Automated_Deployment/sap-automation/deploy/ansible/pb_get-sshkey.yaml
# Run the playbook to download the software from the SAP Library
ansible-playbook "${playbook_options[@]}" ~/Azure_SAP_Automated_Deployment/sap-automation/deploy/ansible/playbook_03_bom_processing.yaml
SAP Central Services e configuração de alta disponibilidade
Este manual executa a instalação dos Serviços Centrais. Para cenários de alta disponibilidade, o manual também configura o cluster Pacemaker necessário para SAP Central Services para alta disponibilidade no Linux e Windows Failover Clustering para Windows.
Você pode executar o manual usando:
- O pipeline
Configuration and SAP installation
de DevOps escolhendoSCS Installation & High Availability Configuration
. - O script
configuration_menu.sh
do menu de configuração . - A linha de comando.
O manual executa as seguintes tarefas:
- Instalação de Serviços Centrais
- Configuração do cluster Pacemaker
cd ${HOME}/Azure_SAP_Automated_Deployment/WORKSPACES/SYSTEM/LAB-SECE-SAP04-L00/
export sap_sid=L00
export ANSIBLE_PRIVATE_KEY_FILE=sshkey
playbook_options=(
--inventory-file="${sap_sid}_hosts.yaml"
--private-key=${ANSIBLE_PRIVATE_KEY_FILE}
--extra-vars="_workspace_directory=`pwd`"
--extra-vars ansible_ssh_pass='{{ lookup("env", "ANSIBLE_PASSWORD") }}'
--extra-vars="@sap-parameters.yaml"
"${@}"
)
# Run the playbook to retrieve the ssh key from the Azure key vault
ansible-playbook "${playbook_options[@]}" ~/Azure_SAP_Automated_Deployment/sap-automation/deploy/ansible/pb_get-sshkey.yaml
# Run the playbook to download the software from the SAP Library
ansible-playbook "${playbook_options[@]}" ~/Azure_SAP_Automated_Deployment/sap-automation/deploy/ansible/playbook_05_00_00_sap_scs_install.yaml
Instalação de banco de dados
Este manual executa a instalação do servidor de banco de dados.
Você pode executar o manual usando:
- O pipeline
Configuration and SAP installation
de DevOps escolhendoDatabase installation
. - O script
configuration_menu.sh
do menu de configuração . - A linha de comando.
O manual executa a seguinte tarefa:
- Instalação da instância do banco de dados
cd ${HOME}/Azure_SAP_Automated_Deployment/WORKSPACES/SYSTEM/LAB-SECE-SAP04-L00/
export sap_sid=L00
export ANSIBLE_PRIVATE_KEY_FILE=sshkey
playbook_options=(
--inventory-file="${sap_sid}_hosts.yaml"
--private-key=${ANSIBLE_PRIVATE_KEY_FILE}
--extra-vars="_workspace_directory=`pwd`"
--extra-vars ansible_ssh_pass='{{ lookup("env", "ANSIBLE_PASSWORD") }}'
--extra-vars="@sap-parameters.yaml"
"${@}"
)
# Run the playbook to retrieve the ssh key from the Azure key vault
ansible-playbook "${playbook_options[@]}" ~/Azure_SAP_Automated_Deployment/sap-automation/deploy/ansible/pb_get-sshkey.yaml
# Run the playbook to download the software from the SAP Library
ansible-playbook "${playbook_options[@]}" ~/Azure_SAP_Automated_Deployment/sap-automation/deploy/ansible/playbook_04_00_00_db_install.yaml
Carregamento do banco de dados
Este manual executa o carregamento do banco de dados.
Você pode executar o manual usando:
- O pipeline
Configuration and SAP installation
de DevOps escolhendoDatabase Load
. - O script
configuration_menu.sh
do menu de configuração . - A linha de comando.
O manual executa a seguinte tarefa:
- Carregamento do banco de dados
cd ${HOME}/Azure_SAP_Automated_Deployment/WORKSPACES/SYSTEM/LAB-SECE-SAP04-L00/
export sap_sid=L00
export ANSIBLE_PRIVATE_KEY_FILE=sshkey
playbook_options=(
--inventory-file="${sap_sid}_hosts.yaml"
--private-key=${ANSIBLE_PRIVATE_KEY_FILE}
--extra-vars="_workspace_directory=`pwd`"
--extra-vars ansible_ssh_pass='{{ lookup("env", "ANSIBLE_PASSWORD") }}'
--extra-vars="@sap-parameters.yaml"
"${@}"
)
# Run the playbook to retrieve the ssh key from the Azure key vault
ansible-playbook "${playbook_options[@]}" ~/Azure_SAP_Automated_Deployment/sap-automation/deploy/ansible/pb_get-sshkey.yaml
# Run the playbook to download the software from the SAP Library
ansible-playbook "${playbook_options[@]}" ~/Azure_SAP_Automated_Deployment/sap-automation/deploy/ansible/playbook_05_01_sap_dbload.yaml
Configuração de alta disponibilidade do banco de dados
Este manual executa a configuração de alta disponibilidade do servidor de banco de dados.
Você pode executar o manual usando:
- O pipeline
Configuration and SAP installation
de DevOps escolhendoDatabase High Availability Configuration
. - O script
configuration_menu.sh
do menu de configuração . - A linha de comando.
O manual executa as seguintes tarefas:
- Configuração de alta disponibilidade do banco de dados.
- Para o HANA, o manual também configura o cluster Pacemaker necessário para o SAP HANA para alta disponibilidade no Linux e configura a replicação do sistema HANA.
- Para a Oracle, o manual também configura o Oracle Data Guard.
cd ${HOME}/Azure_SAP_Automated_Deployment/WORKSPACES/SYSTEM/LAB-SECE-SAP04-L00/
export sap_sid=L00
export ANSIBLE_PRIVATE_KEY_FILE=sshkey
playbook_options=(
--inventory-file="${sap_sid}_hosts.yaml"
--private-key=${ANSIBLE_PRIVATE_KEY_FILE}
--extra-vars="_workspace_directory=`pwd`"
--extra-vars ansible_ssh_pass='{{ lookup("env", "ANSIBLE_PASSWORD") }}'
--extra-vars="@sap-parameters.yaml"
"${@}"
)
# Run the playbook to retrieve the ssh key from the Azure key vault
ansible-playbook "${playbook_options[@]}" ~/Azure_SAP_Automated_Deployment/sap-automation/deploy/ansible/pb_get-sshkey.yaml
# Run the playbook to download the software from the SAP Library
ansible-playbook "${playbook_options[@]}" ~/Azure_SAP_Automated_Deployment/sap-automation/deploy/ansible/playbook_04_00_01_db_ha.yaml
Instalação do servidor de aplicativos primário
Este manual executa a instalação do servidor de aplicativos primário.
Você pode executar o manual usando:
- O pipeline
Configuration and SAP installation
de DevOps escolhendoPrimary Application Server Installation
. - O script
configuration_menu.sh
do menu de configuração . - A linha de comando.
O manual executa a seguinte tarefa:
- Instalação do servidor de aplicativos primário
cd ${HOME}/Azure_SAP_Automated_Deployment/WORKSPACES/SYSTEM/LAB-SECE-SAP04-L00/
export sap_sid=L00
export ANSIBLE_PRIVATE_KEY_FILE=sshkey
playbook_options=(
--inventory-file="${sap_sid}_hosts.yaml"
--private-key=${ANSIBLE_PRIVATE_KEY_FILE}
--extra-vars="_workspace_directory=`pwd`"
--extra-vars ansible_ssh_pass='{{ lookup("env", "ANSIBLE_PASSWORD") }}'
--extra-vars="@sap-parameters.yaml"
"${@}"
)
# Run the playbook to retrieve the ssh key from the Azure key vault
ansible-playbook "${playbook_options[@]}" ~/Azure_SAP_Automated_Deployment/sap-automation/deploy/ansible/pb_get-sshkey.yaml
# Run the playbook to download the software from the SAP Library
ansible-playbook "${playbook_options[@]}" ~/Azure_SAP_Automated_Deployment/sap-automation/deploy/ansible/playbook_05_02_sap_pas_install.yaml
Instalação adicional do servidor de aplicativos
Este manual executa a instalação dos servidores de aplicativos.
Você pode executar o manual usando:
- O pipeline
Configuration and SAP installation
de DevOps escolhendoApplication Server Installation
. - O script
configuration_menu.sh
do menu de configuração . - A linha de comando.
O manual executa a seguinte tarefa:
- Instalação do servidor de aplicativos
cd ${HOME}/Azure_SAP_Automated_Deployment/WORKSPACES/SYSTEM/LAB-SECE-SAP04-L00/
export sap_sid=L00
export ANSIBLE_PRIVATE_KEY_FILE=sshkey
playbook_options=(
--inventory-file="${sap_sid}_hosts.yaml"
--private-key=${ANSIBLE_PRIVATE_KEY_FILE}
--extra-vars="_workspace_directory=`pwd`"
--extra-vars ansible_ssh_pass='{{ lookup("env", "ANSIBLE_PASSWORD") }}'
--extra-vars="@sap-parameters.yaml"
"${@}"
)
# Run the playbook to retrieve the ssh key from the Azure key vault
ansible-playbook "${playbook_options[@]}" ~/Azure_SAP_Automated_Deployment/sap-automation/deploy/ansible/pb_get-sshkey.yaml
# Run the playbook to download the software from the SAP Library
ansible-playbook "${playbook_options[@]}" ~/Azure_SAP_Automated_Deployment/sap-automation/deploy/ansible/playbook_05_02_sap_app_install.yaml
Instalação do Web Dispatcher
Este manual executa a instalação dos Web Dispatchers.
Você pode executar o manual usando:
- O pipeline
Configuration and SAP installation
de DevOps escolhendoWeb Dispatcher Installation
. - O script
configuration_menu.sh
do menu de configuração . - A linha de comando.
O manual executa a seguinte tarefa:
- Instalação do Web Dispatcher
cd ${HOME}/Azure_SAP_Automated_Deployment/WORKSPACES/SYSTEM/LAB-SECE-SAP04-L00/
export sap_sid=L00
export ANSIBLE_PRIVATE_KEY_FILE=sshkey
playbook_options=(
--inventory-file="${sap_sid}_hosts.yaml"
--private-key=${ANSIBLE_PRIVATE_KEY_FILE}
--extra-vars="_workspace_directory=`pwd`"
--extra-vars ansible_ssh_pass='{{ lookup("env", "ANSIBLE_PASSWORD") }}'
--extra-vars="@sap-parameters.yaml"
"${@}"
)
# Run the playbook to retrieve the ssh key from the Azure key vault
ansible-playbook "${playbook_options[@]}" ~/Azure_SAP_Automated_Deployment/sap-automation/deploy/ansible/pb_get-sshkey.yaml
# Run the playbook to download the software from the SAP Library
ansible-playbook "${playbook_options[@]}" ~/Azure_SAP_Automated_Deployment/sap-automation/deploy/ansible/playbook_05_04_sap_web_install.yaml
Registo ACSS
Este manual executa o registro do Azure Center for SAP Solutions (ACSS).
Você pode executar o manual usando:
- O pipeline
Configuration and SAP installation
de DevOps escolhendoRegister System in ACSS
. - O script
configuration_menu.sh
do menu de configuração . - A linha de comando.
O manual executa a seguinte tarefa:
- Registo ACSS
cd ${HOME}/Azure_SAP_Automated_Deployment/WORKSPACES/SYSTEM/LAB-SECE-SAP04-L00/
export sap_sid=L00
export ANSIBLE_PRIVATE_KEY_FILE=sshkey
playbook_options=(
--inventory-file="${sap_sid}_hosts.yaml"
--private-key=${ANSIBLE_PRIVATE_KEY_FILE}
--extra-vars="_workspace_directory=`pwd`"
--extra-vars ansible_ssh_pass='{{ lookup("env", "ANSIBLE_PASSWORD") }}'
--extra-vars="@sap-parameters.yaml"
"${@}"
)
# Run the playbook to retrieve the ssh key from the Azure key vault
ansible-playbook "${playbook_options[@]}" ~/Azure_SAP_Automated_Deployment/sap-automation/deploy/ansible/pb_get-sshkey.yaml
# Run the playbook to download the software from the SAP Library
ansible-playbook "${playbook_options[@]}" ~/Azure_SAP_Automated_Deployment/sap-automation/deploy/ansible/playbook_06_00_acss_registration.yaml