Виртуальные машины Azure для обеспечения высокой доступности SAP NetWeaver на RHEL с использованием Azure NetApp Files для приложений SAP

В этой статье описывается, как развернуть виртуальные машины , настроить виртуальные машины, установить платформу кластера и установить высокодоступную систему SAP NetWeaver 7.50 с помощью Azure NetApp Files. В примерах конфигураций и команд установки экземпляр ASCS имеет номер 00, экземпляр ERS имеет номер 01, основной экземпляр приложения (PAS) равен 02, а экземпляр приложения (AAS) равен 03. Используется идентификатор системы SAP QAS.

В этой статье нет подробных сведений об уровне базы данных.

Предварительные требования

Прежде всего прочитайте следующие примечания и документы SAP:

Обзор

Высокий уровень доступности для центральных служб SAP NetWeaver требует общего хранилища. До сих пор, чтобы достичь высокой доступности (HA) в системе Red Hat Linux, необходимо было создать отдельный кластер GlusterFS с высокой доступностью.

Теперь можно достичь высокого уровня доступности SAP NetWeaver с помощью общего хранилища, развернутого на Azure NetApp Files. Использование Azure NetApp Files для общего хранилища устраняет необходимость в дополнительных кластерах GlusterFS. Pacemaker по-прежнему необходим для HA центральных сервисов SAP NetWeaver (ASCS/SCS).

Схема с обзором высокого уровня доступности SAP NetWeaver.

SAP NetWeaver ASCS, SAP NetWeaver SCS, SAP NetWeaver ERS и база данных SAP HANA используют имя виртуального узла и виртуальные IP-адреса. В Azure подсистема балансировки нагрузки требуется для использования виртуального IP-адреса. Мы рекомендуем использовать Azure Load Balancer Standard. В этой конфигурации показана система балансировки нагрузки.

  • Внешний IP-адрес 192.168.14.9 для ASCS.
  • Внешний IP-адрес 192.168.14.10 для ERS.
  • Проверьте порт 62000 для ASCS.
  • Порт пробы 62101 для ERS.

Настройка инфраструктуры Azure NetApp Files

SAP NetWeaver требует общее хранилище для каталога транспорта и профиля. Прежде чем продолжить настройку инфраструктуры Azure NetApp Files, ознакомьтесь с документацией Azure NetApp Files. Проверьте, предлагает ли выбранный регион Azure Azure NetApp Files. Сведения о доступности Azure NetApp Files по регионам Azure см. в разделе Azure NetApp Files доступность по Azure региону.

Azure NetApp Files доступны в нескольких регионах Azure.

Развертывание ресурсов Azure NetApp Files

В шагах предполагается, что вы уже развернули Azure Virtual Network. Ресурсы Azure NetApp Files и виртуальные машины, на которых будут подключены ресурсы Azure NetApp Files, должны быть развернуты в той же виртуальной сети Azure или в связанных одноранговых виртуальных сетях Azure.

  1. Создайте учетную запись Azure NetApp Files в выбранном регионе Azure, следуя указаниям для создания учетной записи Azure NetApp Files.

  2. Настройте пул емкости Azure NetApp Files, следуя инструкции по настройке пула емкости Azure NetApp Files. Архитектура SAP NetWeaver, представленная в этой статье, использует один пул емкости Azure NetApp Files класса Premium. Мы рекомендуем Azure NetApp Files SKU Премиум для рабочей нагрузки приложения SAP NetWeaver на Azure.

  3. Делегируйте подсеть для Azure NetApp Files, как описано в инструкции по делегированию подсети для Azure NetApp Files.

  4. Разверните тома Azure NetApp Files, следуя инструкциям для создания тома Azure NetApp Files. Разверните тома в указанной подсети Azure NetApp Files . IP-адреса томов NetApp Azure назначаются автоматически. Ресурсы Azure NetApp Files и виртуальные машины Azure должны находиться в одной Azure виртуальной сети или в одноранговых виртуальных сетях Azure. В этом примере мы используем два тома Azure NetApp Files: sapQAS и transSAP. Пути к файлам, смонтированным в соответствующие точки монтирования, являются /usrsapqas/sapmntQAS и /usrsapqas/usrsapQASsys.

    1. Volume sapQAS (nfs://192.168.24.5/usrsapqas/sapmntQAS)
    2. Volume sapQAS (nfs://192.168.24.5/usrsapqas/usrsapQASascs)
    3. Volume sapQAS (nfs://192.168.24.5/usrsapqas/usrsapQASsys)
    4. Volume sapQAS (nfs://192.168.24.5/usrsapqas/usrsapQASers)
    5. Объем transSAP (nfs://192.168.24.4/transSAP)
    6. Volume sapQAS (nfs://192.168.24.5/usrsapqas/usrsapQASpas)
    7. Volume sapQAS (nfs://192.168.24.5/usrsapqas/usrsapQAS aas)

В этом примере мы использовали Azure NetApp Files для всех файловых систем SAP NetWeaver, чтобы продемонстрировать, как можно использовать Azure NetApp Files. Файловые системы SAP, которые не нуждаются в подключении через NFS, также можно развернуть как дисковое хранилище Azure. В этом примере a-e должны быть на Azure NetApp Files, а f-g (т. е. /usr/sap/QAS/D02 и /usr/sap/QAS/D03) могут быть развернуты в качестве хранилища дисков Azure.

Важные замечания

При рассмотрении Azure NetApp Files для архитектуры SAP NetWeaver на архитектуре высокого уровня доступности RHEL следует учитывать следующие важные аспекты:

  • Минимальный размер пула емкости равен 4 ТиБ. Вы можете увеличить размер пула емкости с шагом 1 ТиБ.
  • Минимальный размер тома — 100 ГиБ.
  • Azure NetApp Files и все виртуальные машины, в которых будут подключены тома Azure NetApp Files, должны находиться в одной виртуальной сети Azure или в объединённых виртуальных сетях в одном регионе. В Azure NetApp Files теперь поддерживается доступ через пиринг виртуальных сетей в том же регионе. Доступ к Azure NetApp Files через глобальную пиринговую связь еще не поддерживается.
  • Выбранная виртуальная сеть должна иметь подсеть, делегированную Azure NetApp Files.
  • Характеристики пропускной способности и производительности тома Azure NetApp Files — это функция квоты тома и уровня обслуживания. Для получения дополнительной информации см. Уровень обслуживания для Azure NetApp Files. При определении размера томов SAP Azure NetApp следите за тем, чтобы полученная пропускная способность соответствовала требованиям приложения.
  • Azure NetApp Files предлагает политику export. Вы можете контролировать разрешенные клиенты и тип доступа (например, чтение и запись или только чтение).
  • Функция Azure NetApp Files еще не знает о зоне. В настоящее время функция Azure NetApp Files не развертывается во всех зонах доступности в Azure регионе. Имейте в виду потенциальные последствия латентности в некоторых регионах Azure.
  • Вы можете развернуть тома Azure NetApp Files с поддержкой NFSv3 или NFSv4.1. Оба протокола поддерживаются на уровне приложений SAP (ASCS/ERS, серверы приложений SAP).

Подготовка инфраструктуры

Azure Marketplace содержит образы, сертифицированные для SAP с дополнением для высокой доступности, которые можно использовать для развертывания новых виртуальных машин с помощью разных версий Red Hat.

Развертывание виртуальных машин Linux вручную с помощью портала Azure

В этом документе предполагается, что вы уже развернули виртуальную сеть Azure, подсеть и группу ресурсов.

Развертывание виртуальных машин для СЕРВЕРОВ SAP ASCS, ERS и приложений. Выберите подходящий образ RHEL, поддерживаемый для системы SAP. Виртуальную машину можно развернуть в любом из вариантов доступности: масштабируемый набор виртуальных машин, зона доступности или группу доступности.

Настройка подсистемы балансировки нагрузки Azure

Во время настройки виртуальной машины можно создать или выбрать выход из подсистемы балансировки нагрузки в разделе сети. Выполните приведенные ниже действия, чтобы настроить стандартную подсистему балансировки нагрузки для установки высокого уровня доступности SAP ASCS и SAP ERS.

Следуйте инструкциям create load balancer, чтобы настроить стандартную подсистему балансировки нагрузки для системы SAP с высоким уровнем доступности с помощью портала Azure. Во время настройки подсистемы балансировки нагрузки рассмотрите следующие моменты.

  1. Конфигурация внешнего IP-адреса: создайте два внешних IP-адреса, один для ASCS и другой для ERS. Выберите ту же виртуальную сеть и подсеть, что и для виртуальных машин ASCS/ERS.
  2. Внутренний пул: создание внутреннего пула и добавление виртуальных машин ASCS и ERS.
  3. Правила для входящего трафика: создайте два правила балансировки нагрузки, одно для ASCS и другое для ERS. Выполните те же действия для обоих правил балансировки нагрузки.
    • Внешний IP-адрес: выбор внешнего IP-адреса
    • Серверный пул: выбрать серверный пул
    • Проверьте "Порты высокой доступности"
    • Протокол: TCP
    • Проба работоспособности: создание пробы работоспособности со следующими сведениями (применяется как для ASCS, так и для ERS)
      • Протокол: TCP
      • Порт: [например: 620<номер экземпляра> для ASCS, 621<номер экземпляра> для ERS]
      • Интервал: 5
      • Пороговое значение пробы: 2
    • Время ожидания простоя (минуты): 30
    • Установите флажок "Включить плавающий IP-адрес"

Примечание.

Номер свойства конфигурации пробы работоспособностиOfProbes, иначе известный как "Неработоспособное пороговое значение" на портале, не учитывается. Таким образом, чтобы управлять числом успешных или неудачных последовательных проб, задайте для свойства "probeThreshold" значение 2. В настоящее время невозможно задать это свойство с помощью портала Azure, поэтому используйте команду Azure CLI или PowerShell.

Примечание.

Если виртуальные машины без общедоступных IP-адресов помещаются в внутренний пул внутренней подсистемы балансировки нагрузки (без общедоступного IP-адреса) стандартной подсистемы балансировки нагрузки, подключение к исходящему интернету не выполняется, если только не выполняется дополнительная настройка, чтобы разрешить маршрутизацию на общедоступные конечные точки. Дополнительные сведения о том, как достичь исходящего подключения, см. в статье Публикованная конечная точка для виртуальных машин с помощью Azure Standard Load Balancer в сценариях высокой доступности SAP.

Внимание

Не включайте метки времени TCP на виртуальных машинах Azure, размещенных за балансировщиком нагрузки Azure. Включение меток времени TCP может привести к сбоям проверок работоспособности. Задайте параметру net.ipv4.tcp_timestamps значение 0. Дополнительную информацию см. в разделе проверки работоспособности Load Balancer.

Отключение сопоставления идентификаторов (если используется NFSv4.1)

Инструкции в этом разделе применимы только при использовании томов Azure NetApp Files с протоколом NFSv4.1. Выполните настройку на всех виртуальных машинах, где будут монтироваться тома Azure NetApp Files NFSv4.1.

Следующий префикс [A] применяется как к PAS, так и к AAS.

  1. Проверьте параметр домена NFS. Убедитесь, что домен настроен в качестве домена Azure NetApp Files по умолчанию, то есть defaultv4iddomain.com, а сопоставление имеет значение nobody.

    Внимание

    Убедитесь, что домен NFS в /etc/idmapd.conf на виртуальной машине соответствует конфигурации домена по умолчанию в Azure NetApp Files: defaultv4iddomain.com. Если между конфигурацией домена на клиенте NFS (то есть виртуальной машиной) и сервером NFS (то есть конфигурацией Azure NetApp) существует несоответствие, то разрешения для файлов на томах Azure NetApp, подключённых на виртуальные машины, отображаются как nobody.

    sudo cat /etc/idmapd.conf
    
    # Example
    [General]
    Domain = defaultv4iddomain.com
    [Mapping]
    Nobody-User = nobody
    Nobody-Group = nobody
    
  2. [A] Проверьте параметр nfs4_disable_idmapping. Оно должно иметь значение Y. Чтобы создать структуру каталогов, в которой nfs4_disable_idmapping находится, выполните команду подключения. Вы не сможете вручную создать каталог /sys/modules , так как доступ зарезервирован для ядра и драйверов.

    # 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 192.168.24.5:/sapQAS
    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
    

Настройка (A)SCS

Далее вы подготовите и установите экземпляры SAP ASCS и ERS.

Создание кластера Pacemaker

Выполните действия, описанные в Set up Pacemaker в Red Hat Enterprise Linux в Azure чтобы создать базовый кластер Pacemaker для этого сервера (A)SCS.

Подготовка к установке SAP NetWeaver

Следующие элементы имеют один из следующих префиксов:

  • [A]: применимо ко всем узлам;
  • [1]: применимо только к узлу 1
  • [2]: применимо только к узлу 2
  1. [A] Настройте разрешение имен хоста.

    Вы можете использовать DNS-сервер или изменить /etc/hosts файл на всех узлах. В этом примере показано, как использовать файл /etc/hosts. Замените IP-адрес и имя узла в следующих командах:

    sudo vi /etc/hosts
    

    Вставьте следующие строки в /etc/hosts. Измените IP-адрес и имя узла в соответствии с параметрами среды.

    # IP address of cluster node 1
    192.168.14.5    anftstsapcl1
    # IP address of cluster node 2
    192.168.14.6     anftstsapcl2
    # IP address of the load balancer frontend configuration for SAP Netweaver ASCS
    192.168.14.9    anftstsapvh
    # IP address of the load balancer frontend configuration for SAP Netweaver ERS
    192.168.14.10    anftstsapers
    
  2. [1] Создайте каталоги SAP в томе Azure NetApp Files. Временно подключите том Azure NetApp Files на одну из виртуальных машин и создайте каталоги SAP (пути к файлам внутри этих каталогов).

    # mount temporarily the volume
    sudo mkdir -p /saptmp
    
    # If using NFSv3
    sudo mount -t nfs -o rw,hard,rsize=65536,wsize=65536,nfsvers=3,tcp 192.168.24.5:/sapQAS /saptmp
    
    # If using NFSv4.1
    sudo mount -t nfs -o rw,hard,rsize=65536,wsize=65536,nfsvers=4.1,sec=sys,tcp 192.168.24.5:/sapQAS /saptmp
    
    # create the SAP directories
    sudo cd /saptmp
    sudo mkdir -p sapmntQAS
    sudo mkdir -p usrsapQASascs
    sudo mkdir -p usrsapQASers
    sudo mkdir -p usrsapQASsys
    sudo mkdir -p usrsapQASpas
    sudo mkdir -p usrsapQASaas
    
    # unmount the volume and delete the temporary directory
    sudo cd ..
    sudo umount /saptmp
    sudo rmdir /saptmp
    
  3. [A] Создайте общие папки.

    sudo mkdir -p /sapmnt/QAS
    sudo mkdir -p /usr/sap/trans
    sudo mkdir -p /usr/sap/QAS/SYS
    sudo mkdir -p /usr/sap/QAS/ASCS00
    sudo mkdir -p /usr/sap/QAS/ERS01
    
    sudo chattr +i /sapmnt/QAS
    sudo chattr +i /usr/sap/trans
    sudo chattr +i /usr/sap/QAS/SYS
    sudo chattr +i /usr/sap/QAS/ASCS00
    sudo chattr +i /usr/sap/QAS/ERS01
    
  4. [A] Установите клиент NFS и другие требования.

    sudo yum -y install nfs-utils resource-agents resource-agents-sap
    
  5. [A] Проверьте версию resource-agents-sap.

    Убедитесь, что версия установленного пакета resource-agents-sap равна или выше 3.9.5-124.el7.

    sudo yum info resource-agents-sap
    
    # Loaded plugins: langpacks, product-id, search-disabled-repos
    # Repodata is over 2 weeks old. Install yum-cron? Or run: yum makecache fast
    # Installed Packages
    # Name        : resource-agents-sap
    # Arch        : x86_64
    # Version     : 3.9.5
    # Release     : 124.el7
    # Size        : 100 k
    # Repo        : installed
    # From repo   : rhel-sap-for-rhel-7-server-rpms
    # Summary     : SAP cluster resource agents and connector script
    # URL         : https://github.com/ClusterLabs/resource-agents
    # License     : GPLv2+
    # Description : The SAP resource agents and connector script interface with
    #          : Pacemaker to allow SAP instances to be managed in a cluster
    #          : environment.
    
  6. [A]: добавьте записи подключения.

    Если вы используете NFSv3:

    sudo vi /etc/fstab
    
    # Add the following lines to fstab, save and exit
    192.168.24.5:/sapQAS/sapmntQAS /sapmnt/QAS nfs rw,hard,rsize=65536,wsize=65536,nfsvers=3
    192.168.24.5:/sapQAS/usrsapQASsys /usr/sap/QAS/SYS nfs rw,hard,rsize=65536,wsize=65536,nfsvers=3
    192.168.24.4:/transSAP /usr/sap/trans nfs rw,hard,rsize=65536,wsize=65536,nfsvers=3
    

    Если вы используете NFSv4.1:

    sudo vi /etc/fstab
    
    # Add the following lines to fstab, save and exit
    192.168.24.5:/sapQAS/sapmntQAS /sapmnt/QAS nfs rw,hard,rsize=65536,wsize=65536,nfsvers=4.1,sec=sys
    192.168.24.5:/sapQAS/usrsapQASsys /usr/sap/QAS/SYS nfs rw,hard,rsize=65536,wsize=65536,nfsvers=4.1,sec=sys
    192.168.24.4:/transSAP /usr/sap/trans nfs rw,hard,rsize=65536,wsize=65536,nfsvers=4.1,sec=sys
    

    Примечание.

    Не забудьте сопоставить версию протокола NFS томов Azure NetApp Files при подключении томов. Если тома Azure NetApp Files созданы как тома NFSv3, используйте соответствующую конфигурацию NFSv3. Если тома Azure NetApp Files создаются как тома NFSv4.1, следуйте инструкциям по отключению сопоставления идентификаторов и обязательно используйте соответствующую конфигурацию NFSv4.1. В этом примере тома Azure NetApp Files были созданы в виде томов NFSv3.

    Монтируйте новые общие ресурсы.

    sudo mount -a  
    
  7. [A] Настройте файл подкачки.

    sudo vi /etc/waagent.conf
    
    # Set the property ResourceDisk.EnableSwap to y
    # Create and use swapfile on resource disk.
    ResourceDisk.EnableSwap=y
    
    # Set the size of the SWAP file with property ResourceDisk.SwapSizeMB
    # The free space of resource disk varies by VM size. Make sure that you do not set a value that is too big. You can check the SWAP space with command swapon
    # Size of the swapfile.
    ResourceDisk.SwapSizeMB=2000
    

    Перезапустите агент, чтобы активировать изменение.

    sudo service waagent restart
    
  8. [A] Выполните конфигурацию ОС RHEL.

    На основе версии RHEL выполните конфигурацию, указанную в заметках SAP 2002167, 2772999 или 3108316.

Установка SAP NetWeaver ASCS/ERS

  1. [1] Настройка свойств кластера по умолчанию.

    # If using RHEL 7.x
    pcs resource defaults resource-stickiness=1
    pcs resource defaults migration-threshold=3
    # If using RHEL 8.x, 9.x, 10.x
    pcs resource defaults update resource-stickiness=1
    pcs resource defaults update migration-threshold=3
    
  2. [1] Создайте виртуальный IP-адрес и пробу работоспособности для экземпляра ASCS.

    sudo pcs node standby anftstsapcl2
    
    # If using NFSv3
    sudo pcs resource create fs_QAS_ASCS Filesystem device='192.168.24.5:/sapQAS/usrsapQASascs' \
      directory='/usr/sap/QAS/ASCS00' fstype='nfs' force_unmount=safe fast_stop=no \
      op start interval=0 timeout=60 op stop interval=0 timeout=120 op monitor interval=200 timeout=40
    
    # If using NFSv4.1
    sudo pcs resource create fs_QAS_ASCS Filesystem device='192.168.24.5:/sapQAS/usrsapQASascs' \
      directory='/usr/sap/QAS/ASCS00' fstype='nfs' force_unmount=safe options='sec=sys,nfsvers=4.1' fast_stop=no \
      op start interval=0 timeout=60 op stop interval=0 timeout=120 op monitor interval=200 timeout=105
    
    sudo pcs resource create vip_QAS_ASCS IPaddr2 \
      ip=192.168.14.9
    
    sudo pcs resource create nc_QAS_ASCS azure-lb port=62000
    
    sudo pcs resource group add g-QAS_ASCS fs_QAS_ASCS vip_QAS_ASCS nc_QAS_ASCS
    

    Убедитесь, что состояние кластера нормально и все ресурсы запущены. Неважно, на каком узле выполняются ресурсы.

    sudo pcs status
    
    # Node anftstsapcl2: standby
    # Online: [ anftstsapcl1 ]
    #
    # Full list of resources:
    #
    # rsc_st_azure    (stonith:fence_azure_arm):      Started anftstsapcl1
    #  Resource Group: g-QAS_ASCS
    #      fs_QAS_ASCS        (ocf::heartbeat:Filesystem):    Started anftstsapcl1
    #      nc_QAS_ASCS        (ocf::heartbeat:azure-lb):      Started anftstsapcl1
    #      vip_QAS_ASCS       (ocf::heartbeat:IPaddr2):       Started anftstsapcl1
    
  3. [1] Установите SAP NetWeaver ASCS.

    Установите SAP NetWeaver ASCS в качестве корневого узла на первом узле с помощью имени виртуального узла, которое сопоставляется с IP-адресом интерфейсной конфигурации подсистемы балансировки нагрузки для ASCS, например anftstsapvh, 192.168.14.9, а также номер экземпляра, используемый для проверки подсистемы балансировки нагрузки, например 00.

    Вы можете использовать параметр sapinstSAPINST_REMOTE_ACCESS_USER, чтобы разрешить пользователю, не имеющему права root, подключаться к sapinst.

    # Allow access to SWPM. This rule is not permanent. If you reboot the machine, you have to run the command again.
    sudo firewall-cmd --zone=public  --add-port=4237/tcp
    
    sudo <swpm>/sapinst SAPINST_REMOTE_ACCESS_USER=sapadmin SAPINST_USE_HOSTNAME=<virtual_hostname>
    

    Если установка завершилась ошибкой при создании вложенной папки в /usr/sap/QAS/ASCS00, попробуйте задать владельца и группу папки ASCS00 и повторите.

    sudo chown qasadm /usr/sap/QAS/ASCS00
    sudo chgrp sapsys /usr/sap/QAS/ASCS00
    
  4. [1] Создайте виртуальный IP-адрес и пробу работоспособности для экземпляра ERS.

    sudo pcs node unstandby anftstsapcl2
    sudo pcs node standby anftstsapcl1
    
    # If using NFSv3
    sudo pcs resource create fs_QAS_AERS Filesystem device='192.168.24.5:/sapQAS/usrsapQASers' \
      directory='/usr/sap/QAS/ERS01' fstype='nfs' force_unmount=safe fast_stop=no \
      op start interval=0 timeout=60 op stop interval=0 timeout=120 op monitor interval=200 timeout=40
    
    # If using NFSv4.1
    sudo pcs resource create fs_QAS_AERS Filesystem device='192.168.24.5:/sapQAS/usrsapQASers' \
      directory='/usr/sap/QAS/ERS01' fstype='nfs' force_unmount=safe options='sec=sys,nfsvers=4.1' fast_stop=no \
      op start interval=0 timeout=60 op stop interval=0 timeout=120 op monitor interval=200 timeout=105
    
    sudo pcs resource create vip_QAS_AERS IPaddr2 \
      ip=192.168.14.10
    
    sudo pcs resource create nc_QAS_AERS azure-lb port=62101
    
    sudo pcs resource group add g-QAS_AERS fs_QAS_AERS vip_QAS_AERS nc_QAS_AERS
    

    Убедитесь, что состояние кластера нормально и все ресурсы запущены. Неважно, на каком узле выполняются ресурсы.

    sudo pcs status
    
    # Node anftstsapcl1: standby
    # Online: [ anftstsapcl2 ]
    #
    # Full list of resources:
    #
    # rsc_st_azure    (stonith:fence_azure_arm):      Started anftstsapcl2
    #  Resource Group: g-QAS_ASCS
    #      fs_QAS_ASCS        (ocf::heartbeat:Filesystem):    Started anftstsapcl2
    #      nc_QAS_ASCS        (ocf::heartbeat:azure-lb):      Started anftstsapcl2<
    #      vip_QAS_ASCS       (ocf::heartbeat:IPaddr2):       Started anftstsapcl2
    #  Resource Group: g-QAS_AERS
    #      fs_QAS_AERS        (ocf::heartbeat:Filesystem):    Started anftstsapcl2
    #      nc_QAS_AERS        (ocf::heartbeat:azure-lb):      Started anftstsapcl2
    #      vip_QAS_AERS       (ocf::heartbeat:IPaddr2):       Started anftstsapcl2
    
  5. [2] Установите ERS SAP NetWeaver.

    Установите SAP NetWeaver ERS в качестве корня на втором узле с помощью имени виртуального узла, которое сопоставляется с IP-адресом интерфейсной конфигурации подсистемы балансировки нагрузки для ERS, например anftstsapers, 192.168.14.10, а также номер экземпляра, используемый для проверки подсистемы балансировки нагрузки, например 01.

    Вы можете использовать параметр sapinstSAPINST_REMOTE_ACCESS_USER, чтобы разрешить пользователю, не имеющему права root, подключаться к sapinst.

    # Allow access to SWPM. This rule is not permanent. If you reboot the machine, you have to run the command again.
    sudo firewall-cmd --zone=public  --add-port=4237/tcp
    
    sudo <swpm>/sapinst SAPINST_REMOTE_ACCESS_USER=sapadmin SAPINST_USE_HOSTNAME=<virtual_hostname>
    

    Если установка завершилась ошибкой при создании вложенной папки в /usr/sap/QAS/ERS01, попробуйте установить владельца и группу папки ERS01 и повторите попытку.

    sudo chown qaadm /usr/sap/QAS/ERS01
    sudo chgrp sapsys /usr/sap/QAS/ERS01
    
  6. [1] Адаптация профилей экземпляров ASCS/SCS и ERS.

    • Профиль ASCS/SCS

      sudo vi /sapmnt/QAS/profile/QAS_ASCS00_anftstsapvh
      
      # Change the restart command to a start command
      #Restart_Program_01 = local $(_EN) pf=$(_PF)
      Start_Program_01 = local $(_EN) pf=$(_PF)
      
      # Add the keep alive parameter, if using ENSA1
      enque/encni/set_so_keepalive = TRUE
      

      Для ENSA1 и ENSA2 убедитесь, что параметры ОС настроены, как описано в SAP заметке 1410736.

    • Профиль ERS

      sudo vi /sapmnt/QAS/profile/QAS_ERS01_anftstsapers
      
      # Change the restart command to a start command
      #Restart_Program_00 = local $(_ER) pf=$(_PFL) NR=$(SCSID)
      Start_Program_00 = local $(_ER) pf=$(_PFL) NR=$(SCSID)
      
      # remove Autostart from ERS profile
      # Autostart = 1
      
  7. [A] Настройка поддержания активности.

    Обмен данными между сервером приложений SAP NetWeaver и ASCS/SCS происходит через программный балансировщик нагрузки. Балансировщик нагрузки отключает неактивные подключения по истечении времени ожидания, которое можно настроить. Чтобы предотвратить это действие, задайте параметр в профиле SAP NetWeaver ASCS/SCS, если вы используете ENSA1, и измените параметры системы keepalive Linux на всех серверах SAP для обоих ENSA1/ENSA2. Для получения дополнительной информации, см. SAP заметку 1410736.

    # Change the Linux system configuration
    sudo sysctl net.ipv4.tcp_keepalive_time=300
    
  8. [A] Обновите /usr/sap/sapservices файл.

    Чтобы предотвратить запуск экземпляров скриптом sapinit запуска, все экземпляры, управляемые Pacemaker, должны быть закомментированы из /usr/sap/sapservices файла.

    sudo vi /usr/sap/sapservices
    
    # Depending on whether the SAP Startup framework is integrated with systemd, you will observe one of the two entries on the ASCS node. You should comment out the line(s). 
    # LD_LIBRARY_PATH=/usr/sap/QAS/ASCS00/exe:$LD_LIBRARY_PATH; export LD_LIBRARY_PATH; /usr/sap/QAS/ASCS00/exe/sapstartsrv pf=/usr/sap/QAS/SYS/profile/QAS_ASCS00_anftstsapvh -D -u qasadm
    # systemctl --no-ask-password start SAPQAS_00 # sapstartsrv pf=/usr/sap/QAS/SYS/profile/QAS_ASCS00_anftstsapvh
    
    # Depending on whether the SAP Startup framework is integrated with systemd, you will observe one of the two entries on the ASCS node. You should comment out the line(s). 
    # LD_LIBRARY_PATH=/usr/sap/QAS/ERS01/exe:$LD_LIBRARY_PATH; export LD_LIBRARY_PATH; /usr/sap/QAS/ERS01/exe/sapstartsrv pf=/usr/sap/QAS/ERS01/profile/QAS_ERS01_anftstsapers -D -u qasadm
    # systemctl --no-ask-password start SAPQAS_01 # sapstartsrv pf=/usr/sap/QAS/ERS01/profile/QAS_ERS01_anftstsapers
    

    Внимание

    Благодаря платформе SAP Startup Framework на базе systemd, экземпляры SAP теперь могут управляться с помощью systemd. Минимальная требуемая версия Red Hat Enterprise Linux (RHEL) — RHEL 8 для SAP. Как описано в примечании SAP 3115048, новая установка ядра SAP с интегрированной поддержкой SAP Startup Framework всегда приведет к управляемому системой экземпляру SAP. После обновления ядра существующей установки SAP до версии, поддерживающей SAP Startup Framework на основе systemd, необходимо выполнить несколько ручных действий, как описано в SAP Note 3115048, чтобы преобразовать текущую среду запуска SAP в систему, управляемую с помощью systemd.

    При использовании служб Red Hat HA для SAP (конфигурации кластера) для управления экземплярами сервера приложений SAP, такими как SAP ASCS и SAP ERS, необходимо внести дополнительные изменения, чтобы обеспечить совместимость агента ресурсов SAPInstance и новой платформы запуска SAP на основе системы. Поэтому после установки или переключения экземпляров сервера приложений SAP на включённое systemd ядро SAP, как указано в заметках 3115048 SAP, шаги, описанные в Red Hat KBA 6884531, должны быть успешно выполнены на всех узлах кластера.

  9. [1] Создайте кластерные ресурсы SAP.

    В зависимости от того, выполняется ли система ENSA1 или ENSA2, выберите соответствующую вкладку, чтобы определить ресурсы. SAP представила поддержку ENSA2, включая репликацию, в SAP NetWeaver версии 7.52. Начиная с ABAP Platform 1809, ENSA2 устанавливается по умолчанию. Для поддержки ENSA2. См. примечание SAP 2630416 для поддержки сервера 2.

    Если вы используете архитектуру enqueue server 2 (ENSA2), установите агент ресурсов resource-agents-sap-4.1.1-12.el7.x86_64 или более поздней версии и определите ресурсы, как показано ниже:

    sudo pcs property set maintenance-mode=true
    
    # If using NFSv3
    sudo pcs resource create rsc_sap_QAS_ASCS00 SAPInstance \
    InstanceName=QAS_ASCS00_anftstsapvh START_PROFILE="/sapmnt/QAS/profile/QAS_ASCS00_anftstsapvh" \
    AUTOMATIC_RECOVER=false \
    meta resource-stickiness=5000 migration-threshold=1 failure-timeout=60 \
    op monitor interval=20 on-fail=restart timeout=60 \
    op start interval=0 timeout=600 op stop interval=0 timeout=600
    
    # If using NFSv4.1
    sudo pcs resource create rsc_sap_QAS_ASCS00 SAPInstance \
    InstanceName=QAS_ASCS00_anftstsapvh START_PROFILE="/sapmnt/QAS/profile/QAS_ASCS00_anftstsapvh" \
    AUTOMATIC_RECOVER=false \
    meta resource-stickiness=5000 migration-threshold=1 failure-timeout=60 \
    op monitor interval=20 on-fail=restart timeout=105 \
    op start interval=0 timeout=600 op stop interval=0 timeout=600
    
    sudo pcs resource group add g-QAS_ASCS rsc_sap_QAS_ASCS00
    sudo pcs resource meta g-QAS_ASCS resource-stickiness=3000
    
    # If using NFSv3
    sudo pcs resource create rsc_sap_QAS_ERS01 SAPInstance \
    InstanceName=QAS_ERS01_anftstsapers START_PROFILE="/sapmnt/QAS/profile/QAS_ERS01_anftstsapers" \
    AUTOMATIC_RECOVER=false IS_ERS=true \
    op monitor interval=20 on-fail=restart timeout=60 op start interval=0 timeout=600 op stop interval=0 timeout=600
    
    # If using NFSv4.1
    sudo pcs resource create rsc_sap_QAS_ERS01 SAPInstance \
    InstanceName=QAS_ERS01_anftstsapers START_PROFILE="/sapmnt/QAS/profile/QAS_ERS01_anftstsapers" \
    AUTOMATIC_RECOVER=false IS_ERS=true \
    op monitor interval=20 on-fail=restart timeout=105 op start interval=0 timeout=600 op stop interval=0 timeout=600
    
    sudo pcs resource group add g-QAS_AERS rsc_sap_QAS_ERS01
    
    sudo pcs constraint order start g-QAS_ASCS then stop g-QAS_AERS kind=Optional symmetrical=false
    sudo pcs constraint colocation add g-QAS_AERS with g-QAS_ASCS score=-5000
    # On RHEL 7.x, 8.x, 9.x
    sudo pcs constraint location rsc_sap_QAS_ASCS00 rule score=2000 runs_ers_QAS eq 1
    # On RHEL 10.x
    sudo pcs constraint location rsc_sap_QAS_ASCS00 rule score=2000 "runs_ers_QAS eq 1"
    
    sudo pcs node unstandby anftstsapcl1
    sudo pcs property set maintenance-mode=false
    

    Если вы обновляете более раннюю версию и переходите на сервер очереди 2, см. заметку SAP 2641322.

    Примечание.

    Более высокие таймауты, предлагаемые при использовании NFSv4.1, необходимы из-за задержки, специфичной для протокола, связанной с продлением аренды в NFSv4.1. Для получения дополнительной информации см. в лучших практиках NetApp по NFS. Примеры времен ожидания в предыдущей конфигурации представлены только для примера и могут потребоваться адаптировать к конкретной настройке SAP.

    Убедитесь, что состояние кластера нормально и все ресурсы запущены. Неважно, на каком узле выполняются ресурсы.

    sudo pcs status
    
    # Online: [ anftstsapcl1 anftstsapcl2 ]
    #
    # Full list of resources:
    #
    # rsc_st_azure    (stonith:fence_azure_arm):      Started anftstsapcl2
    #  Resource Group: g-QAS_ASCS
    #      fs_QAS_ASCS        (ocf::heartbeat:Filesystem):    Started anftstsapcl2
    #      nc_QAS_ASCS        (ocf::heartbeat:azure-lb):      Started anftstsapcl2
    #      vip_QAS_ASCS       (ocf::heartbeat:IPaddr2):       Started anftstsapcl2
    #      rsc_sap_QAS_ASCS00 (ocf::heartbeat:SAPInstance):   Started anftstsapcl2
    #  Resource Group: g-QAS_AERS
    #      fs_QAS_AERS        (ocf::heartbeat:Filesystem):    Started anftstsapcl1
    #      nc_QAS_AERS        (ocf::heartbeat:azure-lb):      Started anftstsapcl1
    #      vip_QAS_AERS       (ocf::heartbeat:IPaddr2):       Started anftstsapcl1
    #      rsc_sap_QAS_ERS01  (ocf::heartbeat:SAPInstance):   Started anftstsapcl1
    
  10. [1] Выполните следующий шаг по настройке priority-fencing-delay (применимо только для pacemaker-2.0.4-6.el8 или более поздних версий).

    Примечание.

    Если у вас есть кластер с двумя узлами, у вас есть возможность настроить priority-fencing-delay свойство кластера. Это свойство представляет большую задержку в ограждении узла, имеющего более высокий общий приоритет ресурсов при возникновении сценария разделения мозга. Дополнительные сведения см. в статье «Может ли Pacemaker изолировать узел кластера с наименьшим количеством работающих ресурсов?».

    Свойство priority-fencing-delay применимо к pacemaker-2.0.4-6.el8 или более поздней версии. Если вы настраиваете priority-fencing-delay на существующем кластере, обязательно снимите pcmk_delay_max параметр на устройстве управления доступом.

    sudo pcs resource defaults update priority=1
    sudo pcs resource update rsc_sap_QAS_ASCS00 meta priority=10
    
    sudo pcs property set priority-fencing-delay=15s
    
  11. [A] Добавление правил брандмауэра для ASCS и ERS в обоих узлах.

    # Probe Port of ASCS
    sudo firewall-cmd --zone=public --add-port={62000,3200,3600,3900,8100,50013,50014,50016}/tcp --permanent
    sudo firewall-cmd --zone=public --add-port={62000,3200,3600,3900,8100,50013,50014,50016}/tcp
    # Probe Port of ERS
    sudo firewall-cmd --zone=public --add-port={62101,3201,3301,50113,50114,50116}/tcp --permanent
    sudo firewall-cmd --zone=public --add-port={62101,3201,3301,50113,50114,50116}/tcp
    

Примечание.

Кластер SAP ASCS/ERS можно расширить с 2 узла до 3-узла с 3-м узлом в качестве свободного узла для отработки отказа служб ASCS или ERS.

  • Настройка 3 узла может использоваться только для систем SAP с помощью SAP Enqueue Replication Server 2 (ENSA2).
  • Свойство priority-fencing-delay кластера не должно использоваться в кластере с 3 узлами.

Подготовка сервера приложений SAP NetWeaver

Для некоторых баз данных требуется, чтобы установка экземпляра базы данных выполнялось на сервере приложений. Подготовьте виртуальные машины сервера приложений для их использования в этих случаях.

В следующих шагах предполагается, что сервер приложений устанавливается на сервер, отличный от серверов ASCS/SCS и HANA. В противном случае некоторые шаги (например, настройка разрешения имен узлов) не требуются.

Следующие элементы имеют один из следующих префиксов:

  • [A]: применимо как к PAS, так и К AAS
  • [P]: применимо только к PAS
  • [S]: применимо только к AAS
  1. [A] Настройте разрешение имен хоста.

    Вы можете использовать DNS-сервер или изменить /etc/hosts файл на всех узлах. В этом примере показано, как использовать файл /etc/hosts. Замените IP-адрес и имя узла в следующих командах:

    sudo vi /etc/hosts
    

    Вставьте следующие строки в /etc/hosts. Измените IP-адрес и имя узла в соответствии с параметрами среды.

    # IP address of the load balancer frontend configuration for SAP NetWeaver ASCS
    192.168.14.9 anftstsapvh
    # IP address of the load balancer frontend configuration for SAP NetWeaver ASCS ERS
    192.168.14.10 anftstsapers
    192.168.14.7 anftstsapa01
    192.168.14.8 anftstsapa02
    
  2. [A] Создайте sapmnt каталог.

    sudo mkdir -p /sapmnt/QAS
    sudo mkdir -p /usr/sap/trans
    
    sudo chattr +i /sapmnt/QAS
    sudo chattr +i /usr/sap/trans
    
  3. [A] Установите клиент NFS и другие требования.

    sudo yum -y install nfs-utils uuidd
    
  4. [A]: добавьте записи подключения.

    Если вы используете NFSv3:

    sudo vi /etc/fstab
    
    # Add the following lines to fstab, save and exit
    192.168.24.5:/sapQAS/sapmntQAS /sapmnt/QAS nfs rw,hard,rsize=65536,wsize=65536,nfsvers=3
    192.168.24.4:/transSAP /usr/sap/trans nfs rw,hard,rsize=65536,wsize=65536,nfsvers=3
    

    Если вы используете NFSv4.1:

    sudo vi /etc/fstab
    
    # Add the following lines to fstab, save and exit
    192.168.24.5:/sapQAS/sapmntQAS /sapmnt/QAS nfs rw,hard,rsize=65536,wsize=65536,nfsvers=4.1,sec=sys
    192.168.24.4:/transSAP /usr/sap/trans nfs rw,hard,rsize=65536,wsize=65536,nfsvers=4.1,sec=sys
    

    Монтируйте новые общие ресурсы.

    sudo mount -a
    
  5. [P] Создайте и подключите каталог PAS.

    Если вы используете NFSv3:

    sudo mkdir -p /usr/sap/QAS/D02
    sudo chattr +i /usr/sap/QAS/D02
    
    sudo vi /etc/fstab
    # Add the following line to fstab
    92.168.24.5:/sapQAS/usrsapQASpas /usr/sap/QAS/D02 nfs rw,hard,rsize=65536,wsize=65536,nfsvers=3
    
    # Mount
    sudo mount -a
    

    Если вы используете NFSv4.1:

    sudo mkdir -p /usr/sap/QAS/D02
    sudo chattr +i /usr/sap/QAS/D02
    
    sudo vi /etc/fstab
    # Add the following line to fstab
    92.168.24.5:/sapQAS/usrsapQASpas /usr/sap/QAS/D02 nfs rw,hard,rsize=65536,wsize=65536,nfsvers=4.1,sec=sys
    
    # Mount
    sudo mount -a
    
  6. [S] Создайте и подключите каталог AAS.

    Если вы используете NFSv3:

    sudo mkdir -p /usr/sap/QAS/D03
    sudo chattr +i /usr/sap/QAS/D03
    
    sudo vi /etc/fstab
    # Add the following line to fstab
    92.168.24.5:/sapQAS/usrsapQASaas /usr/sap/QAS/D03 nfs rw,hard,rsize=65536,wsize=65536,nfsvers=3
    
    # Mount
    sudo mount -a
    

    Если вы используете NFSv4.1:

    sudo mkdir -p /usr/sap/QAS/D03
    sudo chattr +i /usr/sap/QAS/D03
    
    sudo vi /etc/fstab
    # Add the following line to fstab
    92.168.24.5:/sapQAS/usrsapQASaas /usr/sap/QAS/D03 nfs rw,hard,rsize=65536,wsize=65536,nfsvers=4.1,sec=sys
    
    # Mount
    sudo mount -a
    
  7. [A] Настройте файл подкачки.

    sudo vi /etc/waagent.conf
    
    # Set the property ResourceDisk.EnableSwap to y
    # Create and use swapfile on resource disk.
    ResourceDisk.EnableSwap=y
    
    # Set the size of the SWAP file with property ResourceDisk.SwapSizeMB
    # The free space of resource disk varies by VM size. Make sure that you do not set a value that is too big. You can check the SWAP space with command swapon
    # Size of the swapfile.
    ResourceDisk.SwapSizeMB=2000
    

    Перезапустите агент, чтобы активировать изменение.

    sudo service waagent restart
    

Установка базы данных

В этом примере SAP NetWeaver устанавливается на SAP HANA. Для этой установки можно использовать любую поддерживаемую базу данных. Дополнительные сведения об установке SAP HANA в Azure см. в статье Доступность SAP HANA Azure на виртуальных машинах Red Hat Enterprise Linux. Список поддерживаемых баз данных см. в примечании SAP 1928533.

  • Запустите установку экземпляра базы данных SAP.

    Установите экземпляр базы данных SAP NetWeaver в качестве корня с помощью имени виртуального узла, которое сопоставляется с IP-адресом конфигурации внешнего интерфейса подсистемы балансировки нагрузки для базы данных.

    Вы можете использовать параметр sapinstSAPINST_REMOTE_ACCESS_USER, чтобы разрешить пользователю, не имеющему права root, подключаться к sapinst.

    sudo <swpm>/sapinst SAPINST_REMOTE_ACCESS_USER=sapadmin
    

Установка сервера приложений SAP NetWeaver

Для установки сервера приложений SAP выполните следующие действия.

  1. Подготовьте сервер приложений.

    Выполните действия, описанные в предыдущем разделе о подготовке сервера приложений SAP NetWeaver для подготовки сервера приложений.

  2. Установите сервер приложений SAP NetWeaver.

    Установите основной и дополнительный сервер приложений SAP NetWeaver:

    Вы можете использовать параметр sapinstSAPINST_REMOTE_ACCESS_USER, чтобы разрешить пользователю, не имеющему права root, подключаться к sapinst.

    sudo <swpm>/sapinst SAPINST_REMOTE_ACCESS_USER=sapadmin
    
  3. Обновите безопасное хранилище SAP HANA.

    Обновите безопасное хранилище SAP HANA, чтобы указать виртуальное имя установки SAP HANA системной репликации.

    Выполните следующую команду, чтобы вывести список записей как <sapsid>adm.

    hdbuserstore List
    

    Все записи должны быть перечислены и выглядеть примерно так:

    DATA FILE       : /home/qasadm/.hdb/anftstsapa01/SSFS_HDB.DAT
    KEY FILE        : /home/qasadm/.hdb/anftstsapa01/SSFS_HDB.KEY
    
    KEY DEFAULT
      ENV : 192.168.14.4:30313
      USER: SAPABAP1
      DATABASE: QAS
    

    В выходных данных показано, что IP-адрес записи по умолчанию указывает на виртуальную машину, а не НА IP-адрес подсистемы балансировки нагрузки. Чтобы указать имя виртуального узла подсистемы балансировки нагрузки, необходимо изменить эту запись. Обязательно используйте тот же порт (30313 в предыдущих выходных данных) и имя базы данных (QAS в предыдущем выходных данных).

    su - qasadm
    hdbuserstore SET DEFAULT qasdb:30313@QAS SAPABAP1 <password of ABAP schema>
    

Проверка настройки кластера

Тщательно протестируйте кластер Pacemaker. Дополнительные сведения см. в разделе «Выполнение типичных тестов отказа».

Следующие шаги