Compartir a través de


Implementación de un sistema de escalabilidad horizontal de SAP HANA con nodo en espera en VM de Azure mediante Azure NetApp Files en Red Hat Enterprise Linux

En este artículo se describe cómo implementar un sistema SAP HANA de alta disponibilidad en una configuración de escalabilidad horizontal con modo de espera en máquinas virtuales (VM) de Azure Red Hat Enterprise Linux mediante Azure NetApp Files para los volúmenes de almacenamiento compartido.

En las configuraciones de ejemplo, como en los comandos de instalación, la instancia de HANA es 03 y el identificador del sistema de HANA es HN1. Los ejemplos se basan en HANA 2.0 SP4 y Red Hat Enterprise Linux para SAP 7.6.

Nota:

Este artículo contiene referencias a términos que Microsoft ya no utiliza. Cuando se eliminen estos términos del software, se eliminarán también de este artículo.

Antes de comenzar, consulte las siguientes notas y documentos de SAP:

Información general

Un método para lograr la alta disponibilidad de HANA es mediante la configuración de la conmutación por error automática del host. Para configurar la conmutación por error automática del host, agregue una o más máquinas virtuales al sistema HANA y configúrelas como nodos en espera. Cuando se produce un error en el nodo activo, un nodo en espera toma automáticamente el control. En la configuración presentada con máquinas virtuales de Azure, la conmutación por error automática se consigue mediante NFS en Azure NetApp Files.

Nota

El nodo en espera debe tener acceso a todos los volúmenes de la base de datos. Los volúmenes HANA deben montarse como volúmenes NFSv4. El mecanismo de bloqueo mejorado basado en la concesión de archivos en el protocolo NFSv4 se usa para el vallado I/O.

Importante

Para compilar la configuración admitida, debe implementar los volúmenes de datos y de registro de HANA como volúmenes NFSv 4.1 y montarlos mediante el protocolo NFSv 4.1. La configuración de conmutación por error automática del host de HANA con nodo en espera no se admite con NFSv3.

Información general sobre la alta disponibilidad de SAP NetWeaver

En el diagrama anterior, que sigue las recomendaciones de red de SAP HANA, se representan tres subredes dentro de una red virtual de Azure:

  • Para la comunicación del cliente
  • Para la comunicación con el sistema de almacenamiento
  • Para la comunicación interna entre nodos de HANA

Los volúmenes de Azure NetApp están en una subred independiente y delegan a Azure NetApp Files.

En esta configuración de ejemplo, las subredes son:

  • client 10.9.1.0/26
  • storage 10.9.3.0/26
  • hana 10.9.2.0/26
  • anf 10.9.0.0/26 (subred delegada en Azure NetApp Files)

Configuración de la infraestructura de Azure NetApp Files

Antes de continuar con la configuración de la infraestructura de Azure NetApp Files, familiarícese con la documentación correspondiente.

Azure NetApp Files está disponible en varias regiones de Azure. Compruebe si la región de Azure seleccionada ofrece Azure NetApp Files.

Para obtener información sobre la disponibilidad de Azure NetApp Files según la región de Azure, consulte Disponibilidad de Azure NetApp Files por región de Azure.

Consideraciones importantes

A medida que va a crear los volúmenes de Azure NetApp Files para el escenario de escalabilidad horizontal de SAP HANA con nodos independientes, tenga en cuenta las consideraciones importantes documentadas en Volúmenes NFS v4.1 en Azure NetApp Files para SAP HANA.

Ajuste del tamaño de la base de datos HANA en Azure NetApp Files

El rendimiento de un volumen de Azure NetApp Files es una función del tamaño del volumen y del nivel de servicio, como se documenta en Nivel de servicio para Azure NetApp Files.

Al diseñar la infraestructura para SAP HANA en Azure con Azure NetApp Files, tenga en cuenta las recomendaciones de Volúmenes NFS v4.1 en Azure NetApp Files para SAP HANA.
La configuración de este artículo se presenta con volúmenes de Azure NetApp Files simples.

Importante

En el caso de los sistemas de producción, donde el rendimiento es una clave, se recomienda evaluar y considerar el uso de un grupo de volúmenes de aplicación de Azure NetApp Files para SAP HANA.

Implementación de recursos de Azure NetApp Files

En las siguientes instrucciones se supone que ya ha implementado la red virtual de Azure. Los recursos de Azure NetApp Files y las VM en las que esos recursos se montarán se deben implementar en la misma red virtual de Azure o en redes virtuales de Azure emparejadas.

  1. Cree una cuenta de NetApp en la región de Azure seleccionada. Para ello, siga las instrucciones en Creación de una cuenta de NetApp.

  2. Configure el grupo de capacidad de Azure NetApp Files según disponibles en Configuración en un grupo de capacidad de Azure NetApp Files.

    La arquitectura de HANA que se presenta en este artículo utiliza un único grupo de capacidad de Azure NetApp Files, el nivel de servicio Ultra. Para las cargas de trabajo HANA en Azure, se recomienda usar el nivel de servicio Ultra o Premium de Azure NetApp Files.

  3. Delegue una subred en Azure NetApp Files tal como se describe en las instrucciones de Delegación de una subred en Azure NetApp Files.

  4. Implemente los volúmenes de Azure NetApp Files según las instrucciones de Creación de un volumen de NFS para Azure NetApp Files.

    Cuando vaya a implementar los volúmenes, asegúrese de seleccionar la versión NFSv 4.1. Implemente los volúmenes en la subred de Azure NetApp Files designada. Las direcciones IP de los volúmenes de Azure NetApp se asignan automáticamente.

    Tenga en cuenta que los recursos de Azure NetApp Files y las VM de Azure deben estar en la misma red virtual de Azure o en redes virtuales de Azure emparejadas. Por ejemplo, HN1-data-mnt00001, HN1-log-mnt00001, etc. son los nombres de los volúmenes y nfs://10.9.0.4/HN1-data-mnt00001, nfs://10.9.0.4/HN1-log-mnt00001, etc. son las rutas de acceso de archivo de los volúmenes de Azure NetApp Files.

    • volumen HN1-data-mnt00001 (nfs://10.9.0.4/HN1-data-mnt00001)
    • volumen HN1-data-mnt00002 (nfs://10.9.0.4/HN1-data-mnt00002)
    • volumen HN1-log-mnt00001 (nfs://10.9.0.4/HN1-log-mnt00001)
    • volumen HN1-log-mnt00002 (nfs://10.9.0.4/HN1-log-mnt00002)
    • volumen HN1-shared (nfs://10.9.0.4/HN1-shared)

    En este ejemplo, usamos instancias de Azure NetApp Files independientes para cada volumen de datos y registro de HANA. Para una configuración más optimizada para los costos en sistemas más pequeños o no productivos, es posible colocar todos los montajes de datos en un único volumen y todos los montajes de registros en un solo volumen distinto.

Implementación de máquinas virtuales Linux en Azure Portal

Primero deberá crear los volúmenes de Azure NetApp Files. Luego, siga estos pasos:

  1. Cree las subredes de la red virtual de Azure en la red virtual de Azure.

  2. Implemente las VM.

  3. Cree las interfaces de red adicionales y conecte las interfaces de red a las VM correspondientes.

    Cada máquina virtual tiene tres interfaces de red, que corresponden a las tres subredes de la red virtual de Azure (client, storage y hana).

    Para más información, consulte Creación de una máquina virtual Linux en Azure con varias tarjetas de interfaz de red.

Importante

Para las cargas de trabajo de SAP HANA, una baja latencia resulta fundamental. Para lograr una baja latencia, trabaje con su representante de Microsoft para asegurarse de que las máquinas virtuales y los volúmenes de Azure NetApp Files se implementen en ubicaciones muy cercanas entre sí. Envíe la información necesaria al incorporar un nuevo sistema SAP HANA, que usa Azure NetApp Files de SAP HANA.

En las instrucciones siguientes, se supone que ya ha creado el grupo de recursos, la red virtual de Azure y las tres subredes de la red virtual de Azure: client, storage y hana. Al implementar las máquinas virtuales, seleccione la subred de cliente, de modo que la interfaz de red de cliente sea la interfaz principal de las VM. También tendrá que configurar una ruta explícita a la subred delegada de Azure NetApp Files mediante la puerta de enlace de la subred de almacenamiento.

Importante

Asegúrese de que el sistema operativo seleccionado esté certificado por SAP para SAP HANA en los tipos específicos de VM que use. Para obtener una lista de los tipos de VM certificados para SAP HANA y las versiones de sistema operativo correspondientes, consulte el sitio Plataformas de IaaS certificadas para SAP HANA. Haga clic en los detalles del tipo de VM de la lista para obtener la lista completa de las versiones de sistema operativo compatibles con SAP HANA para ese tipo.

  1. Cree un conjunto de disponibilidad para SAP HANA. Asegúrese de establecer el dominio máximo de actualización.

  2. Cree tres máquinas virtuales (hanadb1, hanadb2, hanadb3). Para ello, haga lo siguiente:

    a. Use una imagen de Red Hat Enterprise Linux en la galería de Azure que sea compatible con SAP HANA. En este ejemplo se usa una imagen RHEL-SAP-HA 7.6.

    b. Seleccione el conjunto de disponibilidad que creó anteriormente para SAP HANA.

    c. Seleccione la subred de la red virtual de Azure del cliente. Seleccione Accelerated Networking.

    Al implementar las máquinas virtuales, el nombre de la interfaz de red se genera automáticamente. Para simplificar, en estas instrucciones haremos referencia a las interfaces de red generadas automáticamente, que están conectadas a la subred de la red virtual de Azure del cliente, como hanadb1-client, hanadb2-client y hanadb3-client.

  3. Cree tres interfaces de red, una para cada máquina virtual, para la subred de la red virtual storage (en este ejemplo hanadb1-storage, hanadb2-storage y hanadb3-storage).

  4. Cree tres interfaces de red, una para cada máquina virtual, para la subred de red virtual hana (en este ejemplo hanadb1-hana, hanadb2-hana y hanadb3-hana).

  5. Conecte las interfaces de red virtual recién creadas a las máquinas virtuales correspondientes. Para ello, siga estos pasos:

    a. Vaya a la máquina virtual en Azure Portal.

    b. En el menú de la izquierda, seleccione Máquinas virtuales. Filtre por el nombre de máquina virtual (por ejemplo, hanadb1) y luego seleccione la máquina virtual.

    c. En el panel Información general, seleccione Detener para desasignar la máquina virtual.

    d. Seleccione Redes y adjunte la interfaz de red. En la lista desplegable Adjuntar interfaz de red, seleccione las interfaces de red ya creadas para las subredes storage y hana.

    e. Seleccione Guardar.

    f. Repita los pasos del b al e para las demás máquinas virtuales (en nuestro ejemplo, hanadb2 y hanadb3).

    g. Deje las máquinas virtuales en estado detenido por ahora. A continuación, habilitaremos la opción Redes aceleradas para todas las interfaces de red que se acaban de conectar.

  6. Habilite redes aceleradas para las interfaces de red adicionales de las subredes storage y hana. Para ello, siga estos pasos:

    a. Abra Azure Cloud Shell en Azure Portal.

    b. Ejecute los siguientes comandos para habilitar las redes aceleradas para las interfaces de red adicionales, conectadas a las subredes storage y hana.

    
     az network nic update --id /subscriptions/your subscription/resourceGroups/your resource group/providers/Microsoft.Network/networkInterfaces/hanadb1-storage --accelerated-networking true
     az network nic update --id /subscriptions/your subscription/resourceGroups/your resource group/providers/Microsoft.Network/networkInterfaces/hanadb2-storage --accelerated-networking true
     az network nic update --id /subscriptions/your subscription/resourceGroups/your resource group/providers/Microsoft.Network/networkInterfaces/hanadb3-storage --accelerated-networking true
    
     az network nic update --id /subscriptions/your subscription/resourceGroups/your resource group/providers/Microsoft.Network/networkInterfaces/hanadb1-hana --accelerated-networking true
     az network nic update --id /subscriptions/your subscription/resourceGroups/your resource group/providers/Microsoft.Network/networkInterfaces/hanadb2-hana --accelerated-networking true
     az network nic update --id /subscriptions/your subscription/resourceGroups/your resource group/providers/Microsoft.Network/networkInterfaces/hanadb3-hana --accelerated-networking true
    
     
  7. Inicie las máquinas virtuales. Para ello, siga estos pasos:

    a. En el menú de la izquierda, seleccione Máquinas virtuales. Filtre por el nombre de máquina virtual (por ejemplo, hanadb1) y luego seleccione la máquina virtual.

    b. En el panel Información general, seleccione Iniciar.

Configuración y preparación del sistema operativo

Las instrucciones de las secciones siguientes tienen como prefijo una de las siguientes opciones:

  • [A] : Aplicable a todos los nodos
  • [1] : Aplicable solo al nodo 1
  • [2] : Aplicable solo al nodo 2
  • [3] : aplicable solo al nodo 3

Configure y prepare el sistema operativo. Para ello, siga estos pasos:

  1. [A] Mantenga los archivos de host en las máquinas virtuales. Incluya las entradas para todas las subredes. En este ejemplo se agregaron las siguientes entradas a /etc/hosts.

    
     # Storage
     10.9.3.4   hanadb1-storage
     10.9.3.5   hanadb2-storage
     10.9.3.6   hanadb3-storage
     # Client
     10.9.1.5   hanadb1
     10.9.1.6   hanadb2
     10.9.1.7   hanadb3
     # Hana
     10.9.2.4   hanadb1-hana
     10.9.2.5   hanadb2-hana
     10.9.2.6   hanadb3-hana
     
  2. [A] Agregue una ruta de red, de modo que la comunicación con Azure NetApp Files pase a través de la interfaz de red de almacenamiento.

    En este ejemplo, se utilizará Networkmanager para configurar la ruta de red adicional. En las instrucciones siguientes se presupone que la interfaz de red de almacenamiento es eth1.
    En primer lugar, determine el nombre de la conexión del dispositivo eth1. En este ejemplo, el nombre de la conexión del dispositivo eth1 es Wired connection 1.

    
     # Execute as root
     nmcli connection
     # Result
     #NAME                UUID                                  TYPE      DEVICE
     #System eth0         5fb06bd0-0bb0-7ffb-45f1-d6edd65f3e03  ethernet  eth0
     #Wired connection 1  4b0789d1-6146-32eb-83a1-94d61f8d60a7  ethernet  eth1
     

    A continuación, configure la ruta adicional en la red delegada de Azure NetApp Files a través de eth1.

    
     # Add the following route 
     # ANFDelegatedSubnet/cidr via StorageSubnetGW dev StorageNetworkInterfaceDevice
     nmcli connection modify "Wired connection 1" +ipv4.routes "10.9.0.0/26 10.9.3.1"
     

    Reinicie la máquina virtual para activar los cambios.

  3. [A] Instale el paquete de cliente NFS.

    
     yum install nfs-utils
     
  4. [A] Prepare el sistema operativo para ejecutar SAP HANA en Azure NetApp con NFS, tal y como se describe en la nota de SAP 3024346 - Linux Kernel Settings for NetApp NFS (3024346 - Configuración de Linux Kernel para NetApp NFS). Cree el archivo de configuración /etc/sysctl.d/91-NetApp-HANA.conf para la configuración de NetApp.

    
     vi /etc/sysctl.d/91-NetApp-HANA.conf
     # Add the following entries in the configuration file
     net.core.rmem_max = 16777216
     net.core.wmem_max = 16777216
     net.ipv4.tcp_rmem = 4096 131072 16777216
     net.ipv4.tcp_wmem = 4096 16384 16777216
     net.core.netdev_max_backlog = 300000 
     net.ipv4.tcp_slow_start_after_idle=0 
     net.ipv4.tcp_no_metrics_save = 1
     net.ipv4.tcp_moderate_rcvbuf = 1
     net.ipv4.tcp_window_scaling = 1
     net.ipv4.tcp_timestamps = 1
     net.ipv4.tcp_sack = 1
     
  5. [A] Cree el archivo de configuración /etc/sysctl.d/ms-az.conf con las opciones de optimización adicionales.

    
     vi /etc/sysctl.d/ms-az.conf
     # Add the following entries in the configuration file
     net.ipv6.conf.all.disable_ipv6 = 1
     net.ipv4.tcp_max_syn_backlog = 16348
     net.ipv4.conf.all.rp_filter = 0
     sunrpc.tcp_slot_table_entries = 128
     vm.swappiness=10
     

Sugerencia

Evite establecer net.ipv4.ip_local_port_range y net.ipv4.ip_local_reserved_ports explícitamente en los archivos de configuración de sysctl para permitir que el agente de host de SAP administre los intervalos de puertos. Consulte la nota de SAP 2382421 para más información.

  1. [A] Ajuste la configuración de sunrpc, como se recomienda en la nota de SAP 3024346 - Linux Kernel Settings for NetApp NFS (3024346 - Configuración de Linux Kernel para NetApp NFS).

    
     vi /etc/modprobe.d/sunrpc.conf
     # Insert the following line
     options sunrpc tcp_max_slot_table_entries=128
     
  2. [A] Configuración de Red Hat para HANA.

    Configure RHEL tal como se describe en las notas de SAP 2292690, 2455582, 2593824 y en la nota de Red Hat 2447641.

    Nota:

    Si instala HANA 2.0 SP04, deberá instalar el paquete compat-sap-c++-7 como se describe en la nota de SAP 2593824, antes de poder instalar SAP HANA.

Montaje de los volúmenes de Azure NetApp Files

  1. [A] Cree puntos de montaje para los volúmenes de bases de datos HANA.

    
     mkdir -p /hana/data/HN1/mnt00001
     mkdir -p /hana/data/HN1/mnt00002
     mkdir -p /hana/log/HN1/mnt00001
     mkdir -p /hana/log/HN1/mnt00002
     mkdir -p /hana/shared
     mkdir -p /usr/sap/HN1
     
  2. [1] Cree directorios específicos de nodo para /usr/sap en el recurso compartido HN1.

    
     # Create a temporary directory to mount HN1-shared
     mkdir /mnt/tmp
     # if using NFSv3 for this volume, mount with the following command
     mount 10.9.0.4:/HN1-shared /mnt/tmp
     # if using NFSv4.1 for this volume, mount with the following command
     mount -t nfs -o sec=sys,nfsvers=4.1 10.9.0.4:/HN1-shared /mnt/tmp
     cd /mnt/tmp
     mkdir shared usr-sap-hanadb1 usr-sap-hanadb2 usr-sap-hanadb3
     # unmount /hana/shared
     cd
     umount /mnt/tmp
     
  3. [A] Compruebe la configuración del dominio NFS. Asegúrese de que el dominio esté configurado como dominio predeterminado de Azure NetApp Files, es decir, defaultv4iddomain.com y que la asignación se haya establecido en nobody.

    Importante

    Asegúrese de establecer el dominio NFS de /etc/idmapd.conf en la máquina virtual para que coincida con la configuración de dominio predeterminada en Azure NetApp Files: defaultv4iddomain.com . Si hay alguna discrepancia entre la configuración de dominio del cliente NFS (es decir, la máquina virtual) y el servidor NFS (es decir la configuración de Azure NetApp), los permisos de archivos en volúmenes de Azure NetApp que estén montados en las máquinas virtuales se mostrarán como nobody.

    
     sudo cat /etc/idmapd.conf
     # Example
     [General]
     Domain = defaultv4iddomain.com
     [Mapping]
     Nobody-User = nobody
     Nobody-Group = nobody
     
  4. [A] Compruebe nfs4_disable_idmapping. Debe establecerse en S. Para crear la estructura de directorio en la que se encuentra nfs4_disable_idmapping, ejecute el comando mount. No podrá crear manualmente el directorio en /sys/modules, ya que el acceso está reservado para el kernel o los controladores.

    
     # Check nfs4_disable_idmapping 
     cat /sys/module/nfs/parameters/nfs4_disable_idmapping
     # If you need to set nfs4_disable_idmapping to Y
     mkdir /mnt/tmp
     mount 10.9.0.4:/HN1-shared /mnt/tmp
     umount  /mnt/tmp
     echo "Y" > /sys/module/nfs/parameters/nfs4_disable_idmapping
     # Make the configuration permanent
     echo "options nfs nfs4_disable_idmapping=Y" >> /etc/modprobe.d/nfs.conf
     

    Para obtener más información sobre cómo cambiar el parámetro nfs4_disable_idmapping, consulte https://access.redhat.com/solutions/1749883.

  5. [A] Monte los volúmenes de Azure NetApp Files compartidos.

    
     sudo vi /etc/fstab
     # Add the following entries
     10.9.0.4:/HN1-data-mnt00001 /hana/data/HN1/mnt00001  nfs   rw,nfsvers=4.1,hard,timeo=600,rsize=262144,wsize=262144,noatime,lock,_netdev,sec=sys  0  0
     10.9.0.4:/HN1-data-mnt00002 /hana/data/HN1/mnt00002  nfs   rw,nfsvers=4.1,hard,timeo=600,rsize=262144,wsize=262144,noatime,lock,_netdev,sec=sys  0  0
     10.9.0.4:/HN1-log-mnt00001 /hana/log/HN1/mnt00001  nfs   rw,nfsvers=4.1,hard,timeo=600,rsize=262144,wsize=262144,noatime,lock,_netdev,sec=sys  0  0
     10.9.0.4:/HN1-log-mnt00002 /hana/log/HN1/mnt00002  nfs   rw,nfsvers=4.1,hard,timeo=600,rsize=262144,wsize=262144,noatime,lock,_netdev,sec=sys  0  0
     10.9.0.4:/HN1-shared/shared /hana/shared  nfs   rw,nfsvers=4.1,hard,timeo=600,rsize=262144,wsize=262144,noatime,lock,_netdev,sec=sys  0  0
     # Mount all volumes
     sudo mount -a 
     

    En el caso de las cargas de trabajo, que requieren un mayor rendimiento, considere la posibilidad de usar la opción de montaje nconnect, como se describe en Volúmenes NFS v4.1 en Azure NetApp Files para SAP HANA. Compruebe si nconnect es compatible con Azure NetApp Files en la versión de Linux.

  6. [1] Monte los volúmenes específicos del nodo en hanadb1.

    
     sudo vi /etc/fstab
     # Add the following entries
     10.9.0.4:/HN1-shared/usr-sap-hanadb1 /usr/sap/HN1  nfs   rw,nfsvers=4.1,hard,timeo=600,rsize=262144,wsize=262144,noatime,lock,_netdev,sec=sys  0  0
     # Mount the volume
     sudo mount -a 
     
  7. [2] Monte los volúmenes específicos del nodo en hanadb2.

    
     sudo vi /etc/fstab
     # Add the following entries
     10.9.0.4:/HN1-shared/usr-sap-hanadb2 /usr/sap/HN1  nfs   rw,nfsvers=4.1,hard,timeo=600,rsize=262144,wsize=262144,noatime,lock,_netdev,sec=sys  0  0
     # Mount the volume
     sudo mount -a 
     
  8. [3] Monte los volúmenes específicos del nodo en hanadb3.

    
     sudo vi /etc/fstab
     # Add the following entries
     10.9.0.4:/HN1-shared/usr-sap-hanadb3 /usr/sap/HN1  nfs   rw,nfsvers=4.1,hard,timeo=600,rsize=262144,wsize=262144,noatime,lock,_netdev,sec=sys  0  0
     # Mount the volume
     sudo mount -a 
     
  9. [A] Compruebe que todos los volúmenes de HANA están montados con la versión del protocolo NFS NFSv4.

    
    sudo nfsstat -m
    # Verify that flag vers is set to 4.1 
    # Example from hanadb1
    /hana/data/HN1/mnt00001 from 10.9.0.4:/HN1-data-mnt00001
     Flags: rw,noatime,vers=4.1,rsize=262144,wsize=262144,namlen=255,hard,proto=tcp,timeo=600,retrans=2,sec=sys,clientaddr=10.9.3.4,local_lock=none,addr=10.9.0.4
    /hana/log/HN1/mnt00002 from 10.9.0.4:/HN1-log-mnt00002
     Flags: rw,noatime,vers=4.1,rsize=262144,wsize=262144,namlen=255,hard,proto=tcp,timeo=600,retrans=2,sec=sys,clientaddr=10.9.3.4,local_lock=none,addr=10.9.0.4
    /hana/data/HN1/mnt00002 from 10.9.0.4:/HN1-data-mnt00002
     Flags: rw,noatime,vers=4.1,rsize=262144,wsize=262144,namlen=255,hard,proto=tcp,timeo=600,retrans=2,sec=sys,clientaddr=10.9.3.4,local_lock=none,addr=10.9.0.4
    /hana/log/HN1/mnt00001 from 10.9.0.4:/HN1-log-mnt00001
    Flags: rw,noatime,vers=4.1,rsize=262144,wsize=262144,namlen=255,hard,proto=tcp,timeo=600,retrans=2,sec=sys,clientaddr=10.9.3.4,local_lock=none,addr=10.9.0.4
    /usr/sap/HN1 from 10.9.0.4:/HN1-shared/usr-sap-hanadb1
     Flags: rw,noatime,vers=4.1,rsize=262144,wsize=262144,namlen=255,hard,proto=tcp,timeo=600,retrans=2,sec=sys,clientaddr=10.9.3.4,local_lock=none,addr=10.9.0.4
    /hana/shared from 10.9.0.4:/HN1-shared/shared
     Flags: rw,noatime,vers=4.1,rsize=262144,wsize=262144,namlen=255,hard,proto=tcp,timeo=600,retrans=2,sec=sys,clientaddr=10.9.3.4,local_lock=none,addr=10.9.0.4
    

Instalación

En este ejemplo para implementar SAP HANA en la configuración de escalabilidad horizontal con un nodo en espera con Azure, usamos HANA 2.0 SP4.

Preparación de la instalación de HANA

  1. [A] Antes de realizar la instalación de HANA, establezca la contraseña raíz. Puede deshabilitar la contraseña raíz una vez completada la instalación. Ejecute como passwd del comando root.

  2. [1] Compruebe que puede iniciar sesión a través de SSH en hanadb2 y hanadb3, sin que se le pida una contraseña.

    
     ssh root@hanadb2
     ssh root@hanadb3
     
  3. [A] Instale paquetes adicionales, necesarios para HANA 2.0 SP4. Para más información, consulte la nota de SAP 2593824.

    
     yum install libgcc_s1 libstdc++6 compat-sap-c++-7 libatomic1 
     
  4. [2], [3] Cambie la propiedad de los directorios data y log de SAP HANA a hn1adm.

    
     # Execute as root
     sudo chown hn1adm:sapsys /hana/data/HN1
     sudo chown hn1adm:sapsys /hana/log/HN1
     
  5. [A] Deshabilite el firewall temporalmente para que no interfiera con la instalación de HANA. Puede volver a habilitarlo después de realizar la instalación de HANA.

    
     # Execute as root
     systemctl stop firewalld
     systemctl disable firewalld
    

Instalación de HANA

  1. [1] Instale SAP HANA. Para ello, siga las instrucciones de la guía de instalación y actualización de SAP HANA 2.0. En este ejemplo, se instala la escalabilidad horizontal de SAP HANA con el nodo maestro, un nodo de trabajo y uno en espera.

    a. Inicie el programa hdblcm desde el directorio de software de instalación de HANA. Use el parámetro internal_network y pase el espacio de direcciones a la subred que se usa para la comunicación interna entre nodos de HANA.

    
     ./hdblcm --internal_network=10.9.2.0/26
     

    b. Escriba los siguientes valores en el símbolo del sistema:

    • En Elegir una acción: escriba 1 (para la instalación)
    • En Additional components for installation (Componentes adicionales para la instalación): especifique 2, 3
    • Para la ruta de instalación: presione Entrar (el valor predeterminado es/Hana/Shared).
    • En Local Host Name (Nombre de host local): presione Entrar para aceptar el valor predeterminado.
    • En Do you want to add hosts to the system? (¿Desea agregar hosts al sistema): escriba y.
    • En comma-separated host names to add (nombres de host separados por comas que se deben agregar): escriba hanadb2, hanadb3
    • En Root User Name (Nombre de usuario raíz) [raíz]: presione Entrar para aceptar el valor predeterminado.
    • Para los roles de host hanadb2: escriba 1 (para el rol de trabajo)
    • En Host Failover Group (Grupo de conmutación por error de host) para el host hanadb2 [valor predeterminado]: presione Entrar para aceptar el valor predeterminado.
    • En Número de partición de almacenamiento for host hanadb2 [<<asignar automáticamente>>]: presione Entrar para aceptar el valor predeterminado
    • En Worker Group (Grupo de roles de trabajo) para el host hanadb2 [valor predeterminado]: presione Entrar para aceptar el valor predeterminado.
    • En Select roles (Seleccionar roles) para host hanadb3: escriba 2 (para el modo de espera).
    • En Host Failover Group (Grupo de conmutación por error de host) para el host hanadb3 [valor predeterminado]: presione Entrar para aceptar el valor predeterminado.
    • En Worker Group (Grupo de roles de trabajo) para el host hanadb3 [valor predeterminado]: presione Entrar para aceptar el valor predeterminado.
    • En SAP HANA ID (Id. de SAP HANA) del sistema: escriba HN1.
    • En Instance number (Número de instancia) [00]: escriba 03.
    • En Local Host Worker Group (Grupo de trabajo de host local) [valor predeterminado]: presione Entrar para aceptar el valor predeterminado.
    • En Select System Usage / Enter index [4] (Seleccionar uso del sistema o especificar el índice [4]): escriba 4 (para personalizar).
    • En Location of Data Volumes (Ubicación de los volúmenes de datos) [/hana/data/HN1]: presione Entrar para aceptar el valor predeterminado.
    • En Location of Log Volumes (Ubicación de los volúmenes de registro) [/hana/log/HN1]: presione Entrar para aceptar el valor predeterminado.
    • En Restrict maximum memory allocation? [n]: escriba n
    • En Certificate Host Name For Host hanadb1 (Nombre de host del certificado para el host hanadb1) [hanadb1]: presione Entrar para aceptar el valor predeterminado.
    • En Certificate Host Name For Host hanadb2 (Nombre de host del certificado para el host hanadb2) [hanadb2]: presione Entrar para aceptar el valor predeterminado.
    • En Certificate Host Name For hanadb3 (Nombre de host del certificado para el host hanadb3) [hanadb3]: presione Entrar para aceptar el valor predeterminado.
    • En System Administrator (hn1adm) Password (Contraseña del administrador del sistema (hn1adm)): escriba la contraseña.
    • En System Database User (system) Password (Contraseña de usuario de base de datos del sistema (sistema)): escriba la contraseña del sistema.
    • En Confirm System Database User (system) Password (Confirmar la contraseña del usuario (sistema) de la base de datos del sistema): escriba la contraseña del sistema.
    • En ¿Reiniciar el sistema tras el reinicio de la máquina? [n]: escriba n
    • En Do you want to continue (y/n) (¿Desea continuar (sí/no)?): valide el resumen y, si todo es correcto, especifique s.
  2. [1] Compruebe global.ini.

    Muestre global.ini y asegúrese de que la configuración de la comunicación interna entre nodos de SAP HANA esté presente. Compruebe la sección de communication. Debe tener el espacio de direcciones para la subred hana, y listeninterface debe estar establecido en .internal. Compruebe la sección internal_hostname_resolution. Debe tener las direcciones IP de las máquinas virtuales de HANA que pertenezcan a la subred hana.

    
     sudo cat /usr/sap/HN1/SYS/global/hdb/custom/config/global.ini
     # Example 
     #global.ini last modified 2019-09-10 00:12:45.192808 by hdbnameserve
     [communication]
     internal_network = 10.9.2.0/26
     listeninterface = .internal
     [internal_hostname_resolution]
     10.9.2.4 = hanadb1
     10.9.2.5 = hanadb2
     10.9.2.6 = hanadb3
    
  3. [1] Agregue la asignación de host para asegurarse de que las direcciones IP del cliente se utilizan para la comunicación del cliente. Agregue la sección public_host_resolution y agregue las direcciones IP correspondientes de la subred del cliente.

    
     sudo vi /usr/sap/HN1/SYS/global/hdb/custom/config/global.ini
     #Add the section
     [public_hostname_resolution]
     map_hanadb1 = 10.9.1.5
     map_hanadb2 = 10.9.1.6
     map_hanadb3 = 10.9.1.7
    
  4. [1] Reinicie SAP HANA para activar los cambios.

    
     sudo -u hn1adm /usr/sap/hostctrl/exe/sapcontrol -nr 03 -function StopSystem HDB
     sudo -u hn1adm /usr/sap/hostctrl/exe/sapcontrol -nr 03 -function StartSystem HDB
    
  5. [1] Compruebe que la interfaz de cliente utilizará las direcciones IP de la subred client para la comunicación.

    
     # Execute as hn1adm
     /usr/sap/HN1/HDB03/exe/hdbsql -u SYSTEM -p "password" -i 03 -d SYSTEMDB 'select * from SYS.M_HOST_INFORMATION'|grep net_publicname
     # Expected result
     "hanadb3","net_publicname","10.9.1.7"
     "hanadb2","net_publicname","10.9.1.6"
     "hanadb1","net_publicname","10.9.1.5"
    

    Para más información sobre cómo comprobar la configuración, consulte la nota de SAP 2183363 - Configuration of SAP HANA internal network (Configuración de la red interna de SAP HANA).

  6. [A] Vuelva a habilitar el firewall.

    • Detener HANA

      
         sudo -u hn1adm /usr/sap/hostctrl/exe/sapcontrol -nr 03 -function StopSystem HDB
        
    • Volver a habilitar el firewall

      
         # Execute as root
         systemctl start firewalld
         systemctl enable firewalld
        
    • Abrir los puertos del firewall necesarios

      Importante

      Cree reglas de firewall para permitir la comunicación entre nodos de HANA y el tráfico del cliente. Los puertos necesarios se enumeran en TCP/IP Ports of All SAP Products (Puertos TCP/IP de todos los productos de SAP). Los siguientes comandos son solo un ejemplo. En este escenario con el número de sistema usado 03.

      
         # Execute as root
         sudo firewall-cmd --zone=public --add-port={30301,30303,30306,30307,30313,30315,30317,30340,30341,30342,1128,1129,40302,40301,40307,40303,40340,50313,50314,30310,30302}/tcp --permanent
         sudo firewall-cmd --zone=public --add-port={30301,30303,30306,30307,30313,30315,30317,30340,30341,30342,1128,1129,40302,40301,40307,40303,40340,50313,50314,30310,30302}/tcp
        
    • Iniciar HANA

      
         sudo -u hn1adm /usr/sap/hostctrl/exe/sapcontrol -nr 03 -function StartSystem HDB
        
  7. Para optimizar SAP HANA para el almacenamiento de Azure NetApp Files subyacente, establezca los siguientes parámetros de SAP HANA:

    • max_parallel_io_requests 128
    • async_read_submitactivado
    • async_write_submit_activeactivado
    • async_write_submit_blocks todo

    Para más información, consulte Configuración de pila de E/S para SAP HANA.

    A partir de los sistemas SAP HANA 2.0, puede establecer los parámetros en global.ini. Para más información, consulte la nota de SAP 1999930.

    En el caso de los sistemas SAP HANA 1.0, en las versiones SPS12 y anteriores, estos parámetros se pueden establecer durante la instalación, tal y como se describe en la nota de SAP 2267798.

  8. El almacenamiento que usa Azure NetApp Files tiene un límite de tamaño de archivo de 16 terabytes (TB). SAP HANA no es consciente implícitamente de la limitación de almacenamiento y no creará automáticamente un nuevo archivo de datos cuando se alcance el límite de tamaño de archivo de 16 TB. Cuando SAP HANA intente aumentar el tamaño del archivo más allá de 16 TB, se producirán errores y finalmente se bloqueará el servidor de índice.

    Importante

    Para evitar que SAP HANA intente aumentar los archivos de datos más allá del límite de 16 TB del subsistema de almacenamiento, establezca los parámetros siguientes en global.ini.

    • datavolume_striping = true
    • datavolume_striping_size_gb = 15000 Para más información, consulte la nota de SAP 2400005. Tenga en cuenta la nota de SAP 2631285.

Prueba de la conmutación por error de SAP HANA

  1. Haga una simulación del bloqueo de nodos en un nodo de trabajo de SAP HANA. Haga lo siguiente:

    a. Antes de simular el bloqueo del nodo, ejecute los siguientes comandos como hn1adm para capturar el estado del entorno:

    
     # Check the landscape status
     python /usr/sap/HN1/HDB03/exe/python_support/landscapeHostConfiguration.py
     | Host    | Host   | Host   | Failover | Remove | Storage   | Storage   | Failover | Failover | NameServer | NameServer | IndexServer | IndexServer | Host    | Host    | Worker  | Worker  |
     |         | Active | Status | Status   | Status | Config    | Actual    | Config   | Actual   | Config     | Actual     | Config      | Actual      | Config  | Actual  | Config  | Actual  |
     |         |        |        |          |        | Partition | Partition | Group    | Group    | Role       | Role       | Role        | Role        | Roles   | Roles   | Groups  | Groups  |
     | ------- | ------ | ------ | -------- | ------ | --------- | --------- | -------- | -------- | ---------- | ---------- | ----------- | ----------- | ------- | ------- | ------- | ------- |
     | hanadb1 | yes    | ok     |          |        |         1 |         1 | default  | default  | master 1   | master     | worker      | master      | worker  | worker  | default | default |
     | hanadb2 | yes    | ok     |          |        |         2 |         2 | default  | default  | master 2   | slave      | worker      | slave       | worker  | worker  | default | default |
     | hanadb3 | yes    | ignore |          |        |         0 |         0 | default  | default  | master 3   | slave      | standby     | standby     | standby | standby | default | -       |
    
     # Check the instance status
     sapcontrol -nr 03  -function GetSystemInstanceList
     GetSystemInstanceList
     OK
     hostname, instanceNr, httpPort, httpsPort, startPriority, features, dispstatus
     hanadb2, 3, 50313, 50314, 0.3, HDB|HDB_WORKER, GREEN
     hanadb1, 3, 50313, 50314, 0.3, HDB|HDB_WORKER, GREEN
     hanadb3, 3, 50313, 50314, 0.3, HDB|HDB_STANDBY, GREEN
    

    b. Para simular un bloqueo de nodo, ejecute el siguiente comando como raíz en el nodo de trabajo, que en este caso es hanadb2:

    
     echo b > /proc/sysrq-trigger
    

    c. Supervise el sistema para la finalización de la conmutación por error. Cuando se haya completado la conmutación por error, capture el estado, que debería tener el aspecto siguiente:

    
     # Check the instance status
     sapcontrol -nr 03  -function GetSystemInstanceList
     GetSystemInstanceList
     OK
     hostname, instanceNr, httpPort, httpsPort, startPriority, features, dispstatus
     hanadb1, 3, 50313, 50314, 0.3, HDB|HDB_WORKER, GREEN
     hanadb2, 3, 50313, 50314, 0.3, HDB|HDB_WORKER, GRAY
     hanadb3, 3, 50313, 50314, 0.3, HDB|HDB_STANDBY, GREEN
     # Check the landscape status
     python /usr/sap/HN1/HDB03/exe/python_support/landscapeHostConfiguration.py
     | Host    | Host   | Host   | Failover | Remove | Storage   | Storage   | Failover | Failover | NameServer | NameServer | IndexServer | IndexServer | Host    | Host    | Worker  | Worker  |
     |         | Active | Status | Status   | Status | Config    | Actual    | Config   | Actual   | Config     | Actual     | Config      | Actual      | Config  | Actual  | Config  | Actual  |
     |         |        |        |          |        | Partition | Partition | Group    | Group    | Role       | Role       | Role        | Role        | Roles   | Roles   | Groups  | Groups  |
     | ------- | ------ | ------ | -------- | ------ | --------- | --------- | -------- | -------- | ---------- | ---------- | ----------- | ----------- | ------- | ------- | ------- | ------- |
     | hanadb1 | yes    | ok     |          |        |         1 |         1 | default  | default  | master 1   | master     | worker      | master      | worker  | worker  | default | default |
     | hanadb2 | no     | info   |          |        |         2 |         0 | default  | default  | master 2   | slave      | worker      | standby     | worker  | standby | default | -       |
     | hanadb3 | yes    | info   |          |        |         0 |         2 | default  | default  | master 3   | slave      | standby     | slave       | standby | worker  | default | default |
    

    Importante

    Cuando un nodo experimenta un estado de pánico del kernel, para evitar retrasos con la conmutación por error de SAP HANA, establezca kernel.panic en 20 segundos en todas las máquinas virtuales de HANA. La configuración está terminada en /etc/sysctl. Reinicie las máquinas virtuales para activar el cambio. Si no se realiza este cambio, la conmutación por error puede tardar 10 minutos o más cuando un nodo está experimentando un estado de pánico del kernel.

  2. Termine el servidor de nombres. Para ello, haga lo siguiente:

    a. Antes de la prueba, ejecute los siguientes comandos como hn1adm para comprobar el estado del entorno:

    
     #Landscape status 
     python /usr/sap/HN1/HDB03/exe/python_support/landscapeHostConfiguration.py
     | Host    | Host   | Host   | Failover | Remove | Storage   | Storage   | Failover | Failover | NameServer | NameServer | IndexServer | IndexServer | Host    | Host    | Worker  | Worker  |
     |         | Active | Status | Status   | Status | Config    | Actual    | Config   | Actual   | Config     | Actual     | Config      | Actual      | Config  | Actual  | Config  | Actual  |
     |         |        |        |          |        | Partition | Partition | Group    | Group    | Role       | Role       | Role        | Role        | Roles   | Roles   | Groups  | Groups  |
     | ------- | ------ | ------ | -------- | ------ | --------- | --------- | -------- | -------- | ---------- | ---------- | ----------- | ----------- | ------- | ------- | ------- | ------- |
     | hanadb1 | yes    | ok     |          |        |         1 |         1 | default  | default  | master 1   | master     | worker      | master      | worker  | worker  | default | default |
     | hanadb2 | yes    | ok     |          |        |         2 |         2 | default  | default  | master 2   | slave      | worker      | slave       | worker  | worker  | default | default |
     | hanadb3 | yes    | ignore |          |        |         0 |         0 | default  | default  | master 3   | slave      | standby     | standby     | standby | standby | default | -       |
     # Check the instance status
     sapcontrol -nr 03  -function GetSystemInstanceList
     GetSystemInstanceList
     OK
     hostname, instanceNr, httpPort, httpsPort, startPriority, features, dispstatus
     hanadb2, 3, 50313, 50314, 0.3, HDB|HDB_WORKER, GREEN
     hanadb3, 3, 50313, 50314, 0.3, HDB|HDB_STANDBY, GREEN
     hanadb1, 3, 50313, 50314, 0.3, HDB|HDB_WORKER, GREEN
    

    b. Ejecute los siguientes comandos como hn1adm en el nodo principal activo, que en este caso es hanadb1:

    
         hn1adm@hanadb1:/usr/sap/HN1/HDB03> HDB kill
     

    El nodo en espera hanadb3 asumirá el control como nodo maestro. Este es el estado de los recursos una vez completada la prueba de conmutación por error:

    
      # Check the instance status
      sapcontrol -nr 03  -function GetSystemInstanceList
      GetSystemInstanceList
      OK
      hostname, instanceNr, httpPort, httpsPort, startPriority, features, dispstatus
      hanadb2, 3, 50313, 50314, 0.3, HDB|HDB_WORKER, GREEN
      hanadb3, 3, 50313, 50314, 0.3, HDB|HDB_STANDBY, GREEN
      hanadb1, 3, 50313, 50314, 0.3, HDB|HDB_WORKER, GRAY
      # Check the landscape status
      python /usr/sap/HN1/HDB03/exe/python_support/landscapeHostConfiguration.py
      | Host    | Host   | Host   | Failover | Remove | Storage   | Storage   | Failover | Failover | NameServer | NameServer | IndexServer | IndexServer | Host    | Host    | Worker  | Worker  |
      |         | Active | Status | Status   | Status | Config    | Actual    | Config   | Actual   | Config     | Actual     | Config      | Actual      | Config  | Actual  | Config  | Actual  |
      |         |        |        |          |        | Partition | Partition | Group    | Group    | Role       | Role       | Role        | Role        | Roles   | Roles   | Groups  | Groups  |
      | ------- | ------ | ------ | -------- | ------ | --------- | --------- | -------- | -------- | ---------- | ---------- | ----------- | ----------- | ------- | ------- | ------- | ------- |
      | hanadb1 | no     | info   |          |        |         1 |         0 | default  | default  | master 1   | slave      | worker      | standby     | worker  | standby | default | -       |
      | hanadb2 | yes    | ok     |          |        |         2 |         2 | default  | default  | master 2   | slave      | worker      | slave       | worker  | worker  | default | default |
      | hanadb3 | yes    | info   |          |        |         0 |         1 | default  | default  | master 3   | master     | standby     | master      | standby | worker  | default | default |
     

    c. Reinicie la instancia de HANA en hanadb1, es decir, en la misma máquina virtual donde se ha terminado el servidor de nombres. El nodo hanadb1 volverá a unirse al entorno y mantendrá su rol de nodo en espera.

    
     hn1adm@hanadb1:/usr/sap/HN1/HDB03> HDB start
    

    Después de que se haya iniciado SAP HANA en hanadb1, espere el siguiente estado:

    
     # Check the instance status
     sapcontrol -nr 03  -function GetSystemInstanceList
     GetSystemInstanceList
     OK
     hostname, instanceNr, httpPort, httpsPort, startPriority, features, dispstatus
     hanadb2, 3, 50313, 50314, 0.3, HDB|HDB_WORKER, GREEN
     hanadb3, 3, 50313, 50314, 0.3, HDB|HDB_STANDBY, GREEN
     hanadb1, 3, 50313, 50314, 0.3, HDB|HDB_WORKER, GREEN
     # Check the landscape status
     python /usr/sap/HN1/HDB03/exe/python_support/landscapeHostConfiguration.py
     | Host    | Host   | Host   | Failover | Remove | Storage   | Storage   | Failover | Failover | NameServer | NameServer | IndexServer | IndexServer | Host    | Host    | Worker  | Worker  |
     |         | Active | Status | Status   | Status | Config    | Actual    | Config   | Actual   | Config     | Actual     | Config      | Actual      | Config  | Actual  | Config  | Actual  |
     |         |        |        |          |        | Partition | Partition | Group    | Group    | Role       | Role       | Role        | Role        | Roles   | Roles   | Groups  | Groups  |
     | ------- | ------ | ------ | -------- | ------ | --------- | --------- | -------- | -------- | ---------- | ---------- | ----------- | ----------- | ------- | ------- | ------- | ------- |
     | hanadb1 | no     | info   |          |        |         1 |         0 | default  | default  | master 1   | slave      | worker      | standby     | worker  | standby | default | -       |
     | hanadb2 | yes    | ok     |          |        |         2 |         2 | default  | default  | master 2   | slave      | worker      | slave       | worker  | worker  | default | default |
     | hanadb3 | yes    | info   |          |        |         0 |         1 | default  | default  | master 3   | master     | standby     | master      | standby | worker  | default | default |
    

    d. Ahora, vuelva a terminar el servidor de nombres en el nodo maestro actualmente activo, es decir, en el nodo hanadb3.

    
     hn1adm@hanadb3:/usr/sap/HN1/HDB03> HDB kill
    

    El nodo hanadb1 reanudará el rol del nodo maestro. Una vez completada la prueba de conmutación por error, el estado tendrá el aspecto siguiente:

    
     # Check the instance status
     sapcontrol -nr 03  -function GetSystemInstanceList
     GetSystemInstanceList
     OK
     hostname, instanceNr, httpPort, httpsPort, startPriority, features, dispstatus
     hanadb2, 3, 50313, 50314, 0.3, HDB|HDB_WORKER, GREEN
     hanadb3, 3, 50313, 50314, 0.3, HDB|HDB_STANDBY, GRAY
     hanadb1, 3, 50313, 50314, 0.3, HDB|HDB_WORKER, GREEN
     # Check the landscape status
     python /usr/sap/HN1/HDB03/exe/python_support/landscapeHostConfiguration.py
     | Host    | Host   | Host   | Failover | Remove | Storage   | Storage   | Failover | Failover | NameServer | NameServer | IndexServer | IndexServer | Host    | Host    | Worker  | Worker  |
     |         | Active | Status | Status   | Status | Config    | Actual    | Config   | Actual   | Config     | Actual     | Config      | Actual      | Config  | Actual  | Config  | Actual  |
     |         |        |        |          |        | Partition | Partition | Group    | Group    | Role       | Role       | Role        | Role        | Roles   | Roles   | Groups  | Groups  |
     | ------- | ------ | ------ | -------- | ------ | --------- | --------- | -------- | -------- | ---------- | ---------- | ----------- | ----------- | ------- | ------- | ------- | ------- |
     | hanadb1 | yes    | ok     |          |        |         1 |         1 | default  | default  | master 1   | master     | worker      | master      | worker  | worker  | default | default |
     | hanadb2 | yes    | ok     |          |        |         2 |         2 | default  | default  | master 2   | slave      | worker      | slave       | worker  | worker  | default | default |
     | hanadb3 | no     | ignore |          |        |         0 |         0 | default  | default  | master 3   | slave      | standby     | standby     | standby | standby | default | -       |
    

    e. Inicie SAP HANA en hanadb3, que estará preparado para funcionar como nodo en espera.

    
     hn1adm@hanadb3:/usr/sap/HN1/HDB03> HDB start
    

    Una vez que SAP HANA se haya iniciado en hanadb3, el estado tiene el aspecto siguiente:

    
     # Check the instance status
     sapcontrol -nr 03  -function GetSystemInstanceList & python /usr/sap/HN1/HDB03/exe/python_support/landscapeHostConfiguration.py
     GetSystemInstanceList
     OK
     hostname, instanceNr, httpPort, httpsPort, startPriority, features, dispstatus
     GetSystemInstanceList
     OK
     hostname, instanceNr, httpPort, httpsPort, startPriority, features, dispstatus
     hanadb2, 3, 50313, 50314, 0.3, HDB|HDB_WORKER, GREEN
     hanadb3, 3, 50313, 50314, 0.3, HDB|HDB_STANDBY, GREEN
     hanadb1, 3, 50313, 50314, 0.3, HDB|HDB_WORKER, GREEN
     # Check the landscape status
     python /usr/sap/HN1/HDB03/exe/python_support/landscapeHostConfiguration.py
     | Host    | Host   | Host   | Failover | Remove | Storage   | Storage   | Failover | Failover | NameServer | NameServer | IndexServer | IndexServer | Host    | Host    | Worker  | Worker  |
     |         | Active | Status | Status   | Status | Config    | Actual    | Config   | Actual   | Config     | Actual     | Config      | Actual      | Config  | Actual  | Config  | Actual  |
     |         |        |        |          |        | Partition | Partition | Group    | Group    | Role       | Role       | Role        | Role        | Roles   | Roles   | Groups  | Groups  |
     | ------- | ------ | ------ | -------- | ------ | --------- | --------- | -------- | -------- | ---------- | ---------- | ----------- | ----------- | ------- | ------- | ------- | ------- |
     | hanadb1 | yes    | ok     |          |        |         1 |         1 | default  | default  | master 1   | master     | worker      | master      | worker  | worker  | default | default |
     | hanadb2 | yes    | ok     |          |        |         2 |         2 | default  | default  | master 2   | slave      | worker      | slave       | worker  | worker  | default | default |
     | hanadb3 | no     | ignore |          |        |         0 |         0 | default  | default  | master 3   | slave      | standby     | standby     | standby | standby | default | -       |
    

Pasos siguientes