Implementación del sistema SAP para el marco de automatización
La creación del sistema SAP forma parte del proceso de SAP Deployment Automation Framework. La implementación del sistema SAP crea las máquinas virtuales (VM) y los componentes auxiliares de la aplicación SAP.
El sistema SAP implementa:
- El nivel de base de datos, que implementa máquinas virtuales de base de datos, sus discos y una instancia estándar de Azure Load Balancer. En este nivel puede ejecutar bases de datos de HANA o bases de datos de AnyDB.
- El nivel de servicios centrales de SAP, que implementa un número definido por el cliente de máquinas virtuales y una instancia estándar de Load Balancer.
- La capa de aplicación, que implementa las máquinas virtuales y sus discos.
- Nivel de distribuidor web.
Nivel de aplicación
La capa de aplicación implementa un número de máquinas virtuales definido por el cliente. Estas máquinas virtuales son del tamaño Standard_D4s_v3 y tienen un disco de sistema operativo (SO) de 30 GB y un disco de datos de 512 GB.
Para establecer el número de servidores de aplicaciones, defina el parámetro application_server_count
para este nivel en el archivo de parámetros. Por ejemplo, use application_server_count= 3
.
Nivel de servicios centrales
El nivel de servicios centrales de SAP (SCS) implementa un número de máquinas virtuales definido por el cliente. Estas máquinas virtuales son del tamaño Standard_D4s_v3 y tienen un disco de sistema operativo de 30 GB y un disco de datos de 512 GB. Este nivel también implementa una instancia estándar de Load Balancer.
Para establecer el número de servidores de SCS, defina el parámetro scs_server_count
para este nivel en el archivo de parámetros. Por ejemplo, use scs_server_count=1
.
El nivel de Web Dispatcher
El nivel de Web Dispatcher implementa un número de máquinas virtuales definido por el cliente. Este nivel también implementa una instancia estándar de Load Balancer.
Para establecer el número de servidores web, defina el parámetro web_server_count
para este nivel en el archivo de parámetros. Por ejemplo, use web_server_count = 2
.
Nivel de base de datos
El nivel de base de datos implementa las máquinas virtuales y sus discos y también implementa una instancia estándar de Load Balancer. En este nivel se pueden usar bases de datos de HANA o bases de datos de AnyDB.
Puede establecer el tamaño de las máquinas virtuales de base de datos con el parámetro size
para este nivel. Por ejemplo, use "size": "S4Demo"
para bases de datos de HANA o "size": "1 TB"
para bases de datos AnyDB. Para conocer los valores posibles, consulte el parámetro Size en las tablas de las opciones de máquina virtual de base de datos de HANA y las opciones de máquina virtual de base de datos AnyDB.
De forma predeterminada, el marco de automatización implementa la configuración de disco correcta para las implementaciones de base de datos de HANA. Para las implementaciones de base de datos de HANA, el marco calcula la configuración de disco predeterminada en función del tamaño de la máquina virtual. Sin embargo, en el caso de las implementaciones de base de datos de HANA, el marco calcula la configuración de disco predeterminada en función del tamaño de la base de datos. Puede establecer el tamaño de disco necesario mediante la creación de un archivo JSON personalizado en la implementación. Para ver un ejemplo, consulte el siguiente ejemplo de código JSON y reemplace los valores según sea necesario para la configuración. Luego, defina el parámetro db_disk_sizes_filename
en el archivo de parámetros para el nivel de base de datos. Un ejemplo es db_disk_sizes_filename = "path/to/JSON/file"
.
También puede agregar discos adicionales a un nuevo sistema o agregar discos adicionales a un sistema existente.
Configuración básica
En el siguiente archivo de parámetros de ejemplo solo se muestran los parámetros necesarios.
# The environment value is a mandatory field, it is used for partitioning the environments, for example (PROD and NP)
environment="DEV"
# The location value is a mandatory field, it is used to control where the resources are deployed
location="westeurope"
# The network logical name is mandatory - it is used in the naming convention and should map to the workload virtual network logical name
network_name="SAP01"
# sid is a mandatory field that defines the SAP Application SID
sid="S15"
app_tier_vm_sizing="Production"
app_tier_use_DHCP=true
database_platform="HANA"
database_size="S4Demo"
database_sid="XDB"
database_vm_use_DHCP=true
database_vm_image={
os_type="linux"
source_image_id=""
publisher="SUSE"
offer="sles-sap-15-sp2"
sku="gen2"
version="latest"
}
# application_server_count defines how many application servers to deploy
application_server_count=2
application_server_image= {
os_type=""
source_image_id=""
publisher="SUSE"
offer="sles-sap-15-sp2"
sku="gen2"
version="latest"
}
scs_server_count=1
# scs_instance_number
scs_instance_number="00"
# ers_instance_number
ers_instance_number="02"
# webdispatcher_server_count defines how many web dispatchers to deploy
webdispatcher_server_count=0
Implementación del sistema SAP
El archivo DEV-WEEU-SAP01-X01.tfvars
de configuración del sistema SAP de ejemplo se encuentra en la ~/Azure_SAP_Automated_Deployment/samples/WORKSPACES/SYSTEM/DEV-WEEU-SAP01-X01
carpeta .
Ejecute el siguiente comando para implementar el sistema SAP.
Realice esta tarea desde el implementador.
Puede copiar los archivos de configuración de ejemplo para empezar a probar el marco de automatización de la implementación.
cd ~/Azure_SAP_Automated_Deployment
cp -Rp sap-automation/deploy/samples/WORKSPACES config
export CONFIG_REPO_PATH="${HOME}/Azure_SAP_Automated_Deployment/config/WORKSPACES"
export SAP_AUTOMATION_REPO_PATH="${HOME}/Azure_SAP_Automated_Deployment/sap-automation"
cd ~/Azure_SAP_Automated_Deployment/WORKSPACES/SYSTEM/DEV-WEEU-SAP01-X01
${SAP_AUTOMATION_REPO_PATH}/deploy/scripts/installer.sh \
--parameterfile DEV-WEEU-SAP01-X01.tfvars \
--type sap_system --auto-approve
archivos de salida
La implementación crea un archivo de hosts de Ansible (SID_hosts.yaml
) y un archivo de parámetros de Ansible (sap-parameters.yaml
). Estos archivos son una entrada necesaria para los cuadernos de estrategias de Ansible.