Высокий уровень доступности SAP NetWeaver на виртуальных машинах в RHEL с NFS на Файлы Azure

В этой статье описывается, как развертывать и настраивать виртуальные машины, устанавливать платформу кластера и устанавливать систему SAP NetWeaver с высоким уровнем доступности с помощью NFS на Файлы Azure. В примерах конфигураций используются виртуальные машины под управлением Red Hat Enterprise Linux (RHEL).

Необходимые компоненты

Обзор

Чтобы развернуть уровень приложений SAP NetWeaver, нужно использовать в среде общие каталоги, такие как /sapmnt/SID и /usr/sap/trans. Кроме того, при развертывании системы SAP высокого уровня доступности необходимо защитить и сделать высокодоступные файловые системы такими /sapmnt/SID и /usr/sap/SID/ASCS.

Теперь эти файловые системы можно разместить в NFS в службе Файлы Azure. NFS в службе Файлы Azure — это решение для хранения с высоким уровнем доступности. Это решение предлагает синхронное хранилище, избыточное между зонами (ZRS), и подходит для экземпляров SAP ASCS/ERS, развернутых в зонах доступности. Кластер Pacemaker по-прежнему необходим для защиты отдельных компонентов сбоя, таких как центральные службы SAP NetWeaver (ASCS/SCS).

В примерах конфигураций и команд установки используются следующие номера экземпляров:

Имя экземпляра Номер экземпляра
Центральные службы ABAP SAP (ASCS) 00
ERS 01
Центральные службы ABAP SAP (ASCS) 02
Дополнительный сервер приложений (AAS) 03
Идентификатор системы SAP NW1

Diagram that shows SAP NetWeaver high availability with NFS on Azure Files.

На этой схеме показана стандартная архитектура SAP NetWeaver HA. Файловые системы sapmnt и saptrans развертываются в общих папках NFS на Файлы Azure. Центральные службы SAP защищаются кластером Pacemaker. Кластеризованные виртуальные машины находятся за экземпляром Azure Load Balancer. Общие папки NFS подключены через частные конечные точки.

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

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

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

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

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

Настройка Azure Load Balancer

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

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

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

Примечание.

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

Важно!

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

Примечание.

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

Важно!

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

Развертывание учетной записи хранения службы Файлы Azure и общих папок NFS

NFS в Файлах Azure работает поверх хранилища Файлов Azure ценовой категории "Премиум". Перед настройкой NFS в службе Файлы Azure см. статью Создание общей папки NFS.

Существует два варианта обеспечения избыточности в регионе Azure:

Проверьте, поддерживает ли выбранный регион Azure NFS 4.1 в службе Файлы Azure с соответствующей избыточностью. Проверьте доступность службы файлов Azure по регионам Azure в хранилище файлов уровня Премиум. Если в вашем сценарии используются преимущества ZRS, убедитесь в том, что в регионе Azure поддерживаются общие папки ценовой категории "Премиум" с ZRS.

Рекомендуется получить доступ к учетной записи служба хранилища Azure через частную конечную точку Azure. Обязательно разверните конечную точку учетной записи хранения Файлы Azure и виртуальные машины, где необходимо подключить общие папки NFS в той же виртуальной сети Azure или одноранговых виртуальных сетях Azure.

  1. Разверните учетную запись хранения Файлы Azure с именемsapafsnfs. В этом примере мы используем ZRS. Если вы не знакомы с этим процессом, см. раздел Создание учетной записи хранения для портала Azure.

  2. На вкладке Основные сведения укажите следующие параметры:

    1. В поле Имя учетной записи хранения введите sapafsnfs.
    2. Для параметра Производительность выберите значение Премиум.
    3. Для параметра Тип учетной записи уровня Премиум выберите значение Хранилище файлов.
    4. Для репликации выберите избыточность зоны (ZRS).
  3. Выберите Далее.

  4. На вкладке "Дополнительно" снимите флажок "Требовать безопасную передачу для операций REST API". Если не сделать этого, то вы не сможете подключить общую папку NFS к своей виртуальной машине. Время ожидания для операции подключения истечет.

  5. Выберите Далее.

  6. В разделе Сеть настройте следующие параметры:

    1. На вкладке Подключение к сети для параметра Метод подключения выберите значение Частная конечная точка.
    2. На вкладке Частная конечная точка нажмите Добавить частную конечную точку.
  7. На панели создания частной конечной точки выберите подписку, группу ресурсов и расположение. Для параметра Имя введите sapafsnfs_pe. В разделе Подресурс хранилища выберите файл. На вкладке Сеть в разделе Виртуальная сеть выберите виртуальную сеть и подсеть, которые будут использоваться. Опять же, можно использовать виртуальную сеть, в которой виртуальные машины SAP являются одноранговой или одноранговой виртуальной сетью. На вкладке Интеграция частной зоны DNS примите значение по умолчанию Да для параметра Интеграция с частной зоной DNS. Обязательно выберите свою частную зону DNS. Нажмите ОК.

  8. Снова откройте вкладку Сеть и нажмите кнопку Далее.

  9. На вкладке Защита данных используйте все параметры по умолчанию.

  10. Выберите Обзор и создание, чтобы проверить свою конфигурацию.

  11. Дождитесь завершения проверки. Исправьте все проблемы, прежде чем продолжить.

  12. На вкладке Проверить и создать выберите Создать.

Затем разверните общие папки NFS в созданной учетной записи хранения. В нашем примере отображаются две общих папки NFS, sapnw1 и saptrans.

  1. Войдите на портал Azure.
  2. Выберите или найдите учетные записи хранения.
  3. На странице Учетные записи хранения выберите sapafsnfs.
  4. В меню ресурсов sapafsnfs в разделе хранилища данных выберите общие папки.
  5. На странице Общие папки откройте вкладку Общая папка.
    1. Для параметра Имя введите значение sapnw1, saptrans.
    2. Выберите соответствующий размер общей папки, например, 128 ГБ. Рассмотрим размер данных, хранящихся в общей папке, и требования к пропускной способности и операций ввода-вывода в секунду. Дополнительные сведения см. в разделе Целевые параметры общих папок Azure.
    3. Выберите протокол NFS.
    4. Выберите параметр Без корневого сжатия. В противном случае при подключении общих папок на виртуальных машинах вы не увидите группу или владельца файлов.

Важно!

Предыдущий размер общей папки является лишь примером. Убедитесь, что выбранный вами размер подходит для ваших общих папок. Размер зависит не только от размера данных, хранящихся в общей папке, но и на основе требований для операций ввода-вывода в секунду и пропускной способности. Дополнительные сведения см. в разделе Целевые параметры общих папок Azure.

Файловые системы SAP, которые не нужно подключать через NFS, можно также развернуть в хранилище дисков Azure. В этом примере вы можете развернуть /usr/sap/NW1/D02 и /usr/sap/NW1/D03 в хранилище дисков Azure.

Важные рекомендации для NFS в общих папках службы Файлы Azure

При планировании развертывания с помощью NFS в службе Файлы Azure учитывайте следующие важные моменты:

  • Минимальный размер общей папки — 100 ГиБ. Вы оплачиваете только емкость подготовленных акций.
  • Размер общих ресурсов NFS не только на основе требований к емкости, но и на требованиях к пропускной способности и операций ввода-вывода в секунду. Дополнительные сведения см. в разделе Целевые параметры общих папок Azure.
  • Протестируйте рабочую нагрузку, чтобы проверить размер и убедиться в том, что он соответствует вашим целевым показателям производительности. Сведения об устранении неполадок с производительностью NFS в Файлы Azure см. в статье "Устранение неполадок с производительностью общей папки Azure".
  • Для систем SAP J2EE размещение /usr/sap/<SID>/J<nr> в NFS в службе Файлы Azure не поддерживается.
  • Если в системе SAP загружены тяжелые пакетные задания, может потребоваться миллионы журналов заданий. Если журналы пакетных заданий SAP хранятся в файловой системе, обратите особое внимание на размер общей папки sapmnt. Начиная с SAP_BASIS версии 7.52 пакетные журналы по умолчанию хранятся в базе данных. Дополнительные сведения см . в журнале заданий в базе данных.
  • Разверните отдельную общую папку sapmnt для каждой системы SAP.
  • Не используйте общую папку sapmnt для других действий, таких как интерфейсы или saptrans.
  • Не используйте общую папку saptrans для других действий, таких как интерфейсы или sapmnt.
  • Избегайте консолидации общих папок для слишком большого количества систем SAP в одной учетной записи хранения. Существуют также целевые показатели масштабирования производительности учетных записей хранения. Не забудьте не превышать ограничения учетной записи хранения.
  • Как правило, не следует консолидировать общие папки для более чем пяти систем SAP в одной учетной записи хранения. Это позволит избежать превышения ограничений учетной записи хранения и упростит анализ производительности.
  • Как правило, избегайте смешивания общих папок, таких как sapmnt для непроизводственных и производственных систем SAP в одной учетной записи хранения.
  • Мы рекомендуем развернуть на RHEL 8.4 или более поздней версии, чтобы воспользоваться улучшениями клиента NFS.
  • Используйте частную конечную точку. В маловероятном случае зонального сбоя сеансы NFS будут автоматически перенаправлены в работоспособную зону. Переподключать общие папки NFS на свои виртуальные машины не нужно.
  • Если вы развертываете виртуальные машины в зонах доступности, используйте учетную запись хранения с ZRS в регионах Azure, поддерживающих ZRS .
  • Служба Файлы Azure пока не поддерживает автоматическую репликацию между регионами для сценариев аварийного восстановления.

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

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

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

Выполните действия, описанные в статье "Настройка 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
     10.90.90.7    sap-cl1
     # IP address of cluster node 2
     10.90.90.8     sap-cl2
     # IP address of the load balancer frontend configuration for SAP Netweaver ASCS
     10.90.90.10   sapascs
     # IP address of the load balancer frontend configuration for SAP Netweaver ERS
     10.90.90.9    sapers
    
  2. [A] Установите клиент NFS и другие требования.

    sudo yum -y install nfs-utils resource-agents resource-agents-sap
    
  3. [1] Создайте каталоги SAP в общей папке NFS.
    Временно подключите общую папку NFS sapnw1 на одной из виртуальных машин и создайте каталоги SAP, которые будут использоваться в качестве вложенных точек подключения.

    # mount temporarily the volume
    sudo mkdir -p /saptmp
    sudo mount -t nfs sapnfs.file.core.windows.net:/sapnfsafs/sapnw1 /saptmp -o noresvport,vers=4,minorversion=1,sec=sys
    # create the SAP directories
    sudo cd /saptmp
    sudo mkdir -p sapmntNW1
    sudo mkdir -p usrsapNW1ascs
    sudo mkdir -p usrsapNW1ers
    sudo mkdir -p usrsapNW1sys
    # unmount the volume and delete the temporary directory
    cd ..
    sudo umount /saptmp
    sudo rmdir /saptmp
    
  4. [A] Создайте общие папки.

    sudo mkdir -p /sapmnt/NW1
    sudo mkdir -p /usr/sap/trans
    sudo mkdir -p /usr/sap/NW1/SYS
    sudo mkdir -p /usr/sap/NW1/ASCS00
    sudo mkdir -p /usr/sap/NW1/ERS01
    
    sudo chattr +i /sapmnt/NW1
    sudo chattr +i /usr/sap/trans
    sudo chattr +i /usr/sap/NW1/SYS
    sudo chattr +i /usr/sap/NW1/ASCS00
    sudo chattr +i /usr/sap/NW1/ERS01
    
  5. [A] Проверьте версию resource-agents-sap.

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

    sudo yum info resource-agents-sap
    
  6. [A]: добавьте записи подключения.

    vi /etc/fstab
    # Add the following lines to fstab, save and exit
    sapnfs.file.core.windows.net:/sapnfsafs/saptrans /usr/sap/trans  nfs noresvport,vers=4,minorversion=1,sec=sys  0  0
    sapnfs.file.core.windows.net:/sapnfsafs/sapnw1/sapmntNW1 /sapmnt/NW1  nfs noresvport,vers=4,minorversion=1,sec=sys  0  0
    sapnfs.file.core.windows.net:/sapnfsafs/sapnw1/usrsapNW1sys/ /usr/sap/NW1/SYS  nfs noresvport,vers=4,minorversion=1,sec=sys  0  0
    
    # Mount the file systems
    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 virtual machine 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 для RHEL 7.x, заметки SAP 2772999 для RHEL 8.x или заметки SAP 3108316 для RHEL 9.x.

Установка 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 or later
    pcs resource defaults update resource-stickiness=1
    pcs resource defaults update migration-threshold=3
    
  2. [1] Создайте виртуальный IP-адрес и пробу работоспособности для экземпляра ASCS.

    sudo pcs node standby sap-cl2
    
    sudo pcs resource create fs_NW1_ASCS Filesystem device='sapnfs.file.core.windows.net:/sapnfsafs/sapnw1/usrsapNW1ascs' \
      directory='/usr/sap/NW1/ASCS00' fstype='nfs' force_unmount=safe options='noresvport,vers=4,minorversion=1,sec=sys' \
      op start interval=0 timeout=60 op stop interval=0 timeout=120 op monitor interval=200 timeout=40 \
      --group g-NW1_ASCS
    
    sudo pcs resource create vip_NW1_ASCS IPaddr2 \
      ip=10.90.90.10 \
      --group g-NW1_ASCS
    
    sudo pcs resource create nc_NW1_ASCS azure-lb port=62000 \
      --group g-NW1_ASCS
    

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

    sudo pcs status
    
    # Node sap-cl2: standby
    # Online: [ sap-cl1 ]
    #
    # Full list of resources:
    #
    # rsc_st_azure    (stonith:fence_azure_arm):      Started sap-cl1
    #  Resource Group: g-NW1_ASCS
    #      fs_NW1_ASCS        (ocf::heartbeat:Filesystem):    Started sap-cl1 
    #      nc_NW1_ASCS        (ocf::heartbeat:azure-lb):      Started sap-cl1
    #      vip_NW1_ASCS       (ocf::heartbeat:IPaddr2):       Started sap-cl1
    
  3. [1] Установите SAP NetWeaver ASCS.

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

    Вы можете использовать sapinst параметр SAPINST_REMOTE_ACCESS_USER , чтобы разрешить пользователю, не который будет подключаться 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/NW1/ASCS00, попробуйте задать владельца и группу ASCS папки 00 и повторите заново.

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

    sudo pcs node unstandby sap-cl2
    sudo pcs node standby sap-cl1
    
    sudo pcs resource create fs_NW1_AERS Filesystem device='sapnfs.file.core.windows.net:/sapnfsafs/sapnw1/usrsapNW1ers' \
      directory='/usr/sap/NW1/ERS01' fstype='nfs' force_unmount=safe options='noresvport,vers=4,minorversion=1,sec=sys' \
      op start interval=0 timeout=60 op stop interval=0 timeout=120 op monitor interval=200 timeout=40 \
     --group g-NW1_AERS
    
    sudo pcs resource create vip_NW1_AERS IPaddr2 \
      ip=10.90.90.9 \
     --group g-NW1_AERS
    
    sudo pcs resource create nc_NW1_AERS azure-lb port=62101 \
     --group g-NW1_AERS
    

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

    sudo pcs status
    
    # Node sap-cl1: standby
    # Online: [ sap-cl2 ]
    #
    # Full list of resources:
    #
    # rsc_st_azure    (stonith:fence_azure_arm):      Started sap-cl2
    #  Resource Group: g-NW1_ASCS
    #      fs_NW1_ASCS        (ocf::heartbeat:Filesystem):    Started sap-cl2
    #      nc_NW1_ASCS        (ocf::heartbeat:azure-lb):      Started sap-cl2
    #      vip_NW1_ASCS       (ocf::heartbeat:IPaddr2):       Started sap-cl2
    #  Resource Group: g-NW1_AERS
    #      fs_NW1_AERS        (ocf::heartbeat:Filesystem):    Started sap-cl2
    #      nc_NW1_AERS        (ocf::heartbeat:azure-lb):      Started sap-cl2
    #      vip_NW1_AERS       (ocf::heartbeat:IPaddr2):       Started sap-cl2
    
  5. [2] Установите ERS SAP NetWeaver.

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

    Вы можете использовать sapinst параметр SAPINST_REMOTE_ACCESS_USER , чтобы разрешить пользователю, не который будет подключаться 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/NW1/ERS01, попробуйте задать владельца и группу ERS папки 01 и повторите заново.

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

    • Профиль ASCS/SCS:

      sudo vi /sapmnt/NW1/profile/NW1_ASCS00_sapascs
      
      # 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 убедитесь, что keepalive параметры ОС заданы, как описано в 1410736 заметки SAP.

    • Профиль ERS:

      sudo vi /sapmnt/NW1/profile/NW1_ERS01_sapers
      
      # 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. Измените системные параметры Linux keepalive на всех серверах SAP как для ENSA1, так и для ENSA2. Дополнительные сведения см. в 1410736 заметки SAP.

    # 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/NW1/ASCS00/exe:$LD_LIBRARY_PATH; export LD_LIBRARY_PATH; /usr/sap/NW1/ASCS00/exe/sapstartsrv pf=/usr/sap/NW1/SYS/profile/NW1_ASCS00_sapascs -D -u nw1adm
    # systemctl --no-ask-password start SAPNW1_00 # sapstartsrv pf=/usr/sap/NW1/SYS/profile/NW1_ASCS00_sapascs
    
    # Depending on whether the SAP Startup framework is integrated with systemd, you will observe one of the two entries on the ERS node. You should comment out the line(s). 
    # LD_LIBRARY_PATH=/usr/sap/NW1/ERS01/exe:$LD_LIBRARY_PATH; export LD_LIBRARY_PATH; /usr/sap/NW1/ERS01/exe/sapstartsrv pf=/usr/sap/NW1/ERS01/profile/NW1_ERS01_sapers -D -u nw1adm
    # systemctl --no-ask-password start SAPNW1_00 # sapstartsrv pf=/usr/sap/NW1/SYS/profile/NW1_ERS01_sapers
    

    Важно!

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

    При использовании служб Red Hat HA для SAP (конфигурации кластера) для управления экземплярами сервера приложений SAP, такими как SAP ASCS и SAP ERS, необходимо внести дополнительные изменения, чтобы обеспечить совместимость агента ресурсов SAPInstance и новой платформы запуска SAP на основе системы. Поэтому после установки или переключения экземпляров сервера приложений SAP на системное ядро SAP в зависимости от 3115048 SAP, действия, упоминание упоминание в Red Hat КБ A 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
    
    sudo pcs resource create rsc_sap_NW1_ASCS00 SAPInstance \
     InstanceName=NW1_ASCS00_sapascs START_PROFILE="/sapmnt/NW1/profile/NW1_ASCS00_sapascs" \
     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 \
     --group g-NW1_ASCS
    
    sudo pcs resource meta g-NW1_ASCS resource-stickiness=3000
    
    sudo pcs resource create rsc_sap_NW1_ERS01 SAPInstance \
     InstanceName=NW1_ERS01_sapers START_PROFILE="/sapmnt/NW1/profile/NW1_ERS01_sapers" \
     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 \
     --group g-NW1_AERS
    
    sudo pcs constraint colocation add g-NW1_AERS with g-NW1_ASCS -5000
    sudo pcs constraint location rsc_sap_NW1_ASCS00 rule score=2000 runs_ers_NW1 eq 1
    sudo pcs constraint order start g-NW1_ASCS then stop g-NW1_AERS kind=Optional symmetrical=false
    
    sudo pcs node unstandby sap-cl1
    sudo pcs property set maintenance-mode=false
    

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

    Примечание.

    Время ожидания в предыдущей конфигурации — это только примеры и может потребоваться адаптироваться к определенной настройке SAP.

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

    sudo pcs status
    
    # Online: [ sap-cl1 sap-cl2 ]
    #
    # Full list of resources:
    #
    # rsc_st_azure    (stonith:fence_azure_arm):      Started sap-cl2
    #  Resource Group: g-NW1_ASCS
    #      fs_NW1_ASCS        (ocf::heartbeat:Filesystem):    Started sap-cl2
    #      nc_NW1_ASCS        (ocf::heartbeat:azure-lb):      Started sap-cl2
    #      vip_NW1_ASCS       (ocf::heartbeat:IPaddr2):       Started sap-cl2
    #      rsc_sap_NW1_ASCS00 (ocf::heartbeat:SAPInstance):   Started sap-cl2
    #  Resource Group: g-NW1_AERS
    #      fs_NW1_AERS        (ocf::heartbeat:Filesystem):    Started sap-cl1
    #      nc_NW1_AERS        (ocf::heartbeat:azure-lb):      Started sap-cl1
    #      vip_NW1_AERS       (ocf::heartbeat:IPaddr2):       Started sap-cl1
    #      rsc_sap_NW1_ERS01  (ocf::heartbeat:SAPInstance):   Started sap-cl1
    
  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_NW1_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 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-адрес и имя узла в соответствии с параметрами среды.

    10.90.90.7    sap-cl1
    10.90.90.8    sap-cl2
    # IP address of the load balancer frontend configuration for SAP Netweaver ASCS
    10.90.90.10   sapascs
    # IP address of the load balancer frontend configuration for SAP Netweaver ERS
    10.90.90.9    sapers
    10.90.90.12   sapa01
    10.90.90.13   sapa02
    
  2. [A] Создайте sapmnt каталог.

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

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

    vi /etc/fstab
    # Add the following lines to fstab, save and exit
    sapnfs.file.core.windows.net:/sapnfsafs/saptrans /usr/sap/trans  nfs noresvport,vers=4,minorversion=1,sec=sys  0  0
    sapnfs.file.core.windows.net:/sapnfsafs/sapnw1/sapmntNW1 /sapmnt/NW1  nfs noresvport,vers=4,minorversion=1,sec=sys  0  0
    
    # Mount the file systems
    mount -a 
    
  5. [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 virtual machine 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 NetWeaver в качестве корня с помощью имени виртуального узла, которое сопоставляется с IP-адресом конфигурации внешнего интерфейса подсистемы балансировки нагрузки для базы данных.

Вы можете использовать sapinst параметр SAPINST_REMOTE_ACCESS_USER , чтобы разрешить пользователю, не который будет подключаться 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

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

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

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

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

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

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

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

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

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

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

    hdbuserstore List
    

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

    DATA FILE       : /home/nw1adm/.hdb/sapa01/SSFS_HDB.DAT
    KEY FILE        : /home/nw1adm/.hdb/sapa01/SSFS_HDB.KEY
    
    KEY DEFAULT
      ENV : 10.90.90.5:30313
      USER: SAPABAP1
      DATABASE: NW1
    

    В этом примере IP-адрес точек входа по умолчанию указывает на виртуальную машину, а не на подсистему балансировки нагрузки. Измените запись так, чтобы она указывала на виртуальное имя узла подсистемы балансировки нагрузки. Убедитесь в том, что используются один и тот же порт и имя базы данных. Например, используйте 30313 и NW1 в примере выходных данных.

    su - nw1adm
    hdbuserstore SET DEFAULT nw1db:30313@NW1 SAPABAP1 <password of ABAP schema>
    

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

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

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