Обеспечение высокого уровня доступности для SAP NetWeaver на виртуальных машинах Azure на базе SUSE Linux Enterprise Server с помощью NFS в службе Файлы Azure

Эта статья описывает развертывание и настройку виртуальных машин, установку платформы кластеров и установку системы с высоким уровнем доступности SAP NetWeaver с помощью NFS в службе Файлы Azure. В примерах конфигураций используются виртуальные машины, работающие на базе SUSE Linux Enterprise Server (SLES).

Для новых реализаций в SLES для приложений SAP 15 рекомендуется развернуть высокий уровень доступности для SAP ASCS/ERS в простой конфигурации подключения. Классическая конфигурация Pacemaker на основе управляемых кластером файловых систем для каталогов центральных служб SAP, описанных в этой статье, по-прежнему поддерживается.

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

  • Файлы Azure документации.
  • Заметка SAP 1928533, которая имеет следующее:
    • список размеров виртуальных машин Azure, поддерживаемых для развертывания ПО SAP;
    • важные сведения о доступных ресурсах для каждого размера виртуальной машины Azure;
    • сведения о поддерживаемом программном обеспечении SAP и сочетаниях операционных систем (ОС) и баз данных;
    • сведения о требуемой версии ядра SAP для Windows и Linux в Microsoft Azure.
  • примечание к SAP 2015553, в котором описываются предварительные требования к SAP при развертывании программного обеспечения SAP в Azure;
  • примечание к SAP № 2205917, которое содержит рекомендуемые параметры ОС для SUSE Linux Enterprise Server for SAP Applications;
  • примечание к SAP 2178632, содержащее подробные сведения обо всех доступных метриках мониторинга для SAP в Azure;
  • примечание к SAP 2191498, содержащее сведения о необходимой версии агента SAP Host Agent для Linux в Azure;
  • примечание к SAP 2243692, содержащее сведения о лицензировании SAP в Linux в Azure;
  • примечание к SAP 1984787, содержащее общие сведения о SUSE Linux Enterprise Server 12;
  • примечание к SAP 2578899, содержащее общие сведения о SUSE Linux Enterprise Server 15;
  • примечание к SAP 1999351, содержащее дополнительные сведения об устранении неполадок, связанных с расширением для расширенного мониторинга Azure для SAP;
  • вики-сайт сообщества SAP, содержащий все необходимые примечания к SAP для Linux;
  • SAP NetWeaver на виртуальных машинах Linux. Руководство по планированию и внедрению
  • Развертывание программного обеспечения SAP на виртуальных машинах Linux в Azure
  • Общие сведения о развертывании СУБД на виртуальных машинах Azure для рабочих нагрузок SAP
  • Рекомендации по использованию SAP HA SUSE. В руководствах содержатся все необходимые сведения для настройки локальной репликации системы Netweaver и SAP HANA. Придерживайтесь этих общих рекомендаций. Они содержат намного более подробные сведения.
  • Заметки о выпуске расширения высокой доступности SUSE.

Обзор

Чтобы развернуть уровень приложений 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 Central Services (ASCS/SCS).

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

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

Высокий уровень доступности SAP NetWeaver за счет NFS в службе Файлы Azure

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

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

Агент ресурсов для экземпляра SAP включен в SUSE Linux Enterprise Server для приложений SAP. Образ SUSE Linux Enterprise Server для приложений SAP 12 или 15 доступен в Azure Marketplace. Образ можно использовать для развертывания новых виртуальных машин.

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

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

Развертывание виртуальных машин с помощью образа SLES для приложений SAP. Выберите подходящую версию образа SLES, поддерживаемую для системы 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-адреса) подсистемы балансировки нагрузки Azure ценовой категории "Стандартный" помещаются виртуальные машины без общедоступных IP-адресов, у них не будет исходящего подключения к Интернету без дополнительной настройки, разрешающей маршрутизацию к общедоступным конечным точкам. Подробные сведения о такой настройке см. в статье Подключение к общедоступной конечной точке для виртуальных машин с помощью Azure Load Balancer (цен. категория "Стандартный") в сценариях обеспечения высокого уровня доступности SAP.

Внимание

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

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

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

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

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

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

  1. Разверните учетную запись хранилища файлов с именем 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.
  • Протестируйте рабочую нагрузку, чтобы проверить размер и убедиться в том, что он соответствует вашим целевым показателям производительности. Чтобы узнать, как устранять проблемы с производительностью в Файлы 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 в одной учетной записи хранения.
  • Мы рекомендуем развернуть в SLES 15 с пакетом обновления 2 (SP2) или более поздней версии, чтобы воспользоваться улучшениями клиента NFS.
  • Используйте частную конечную точку. В маловероятном случае зонального сбоя сеансы NFS будут автоматически перенаправлены в работоспособную зону. Переподключать общие папки NFS на свои виртуальные машины не нужно.
  • При развертывании виртуальных машин в Зонах доступности используйте учетную запись хранения с ZRS в регионах Azure, которые поддерживают ZRS.
  • Служба Файлы Azure пока не поддерживает автоматическую репликацию между регионами для сценариев аварийного восстановления.

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

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

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

Следуйте указаниям в статье Настройка кластера Pacemaker в SUSE Linux Enterprise Server в Azure, чтобы создать базовый кластер Pacemaker для SAP (A)SCS.

Установка

Ниже приведены элементы с префиксами: [A] — применяется ко всем узлам, [1] — применяется только к узлу 1, [2] — применяется только к узлу 2.

  1. [A] Установите последнюю версию соединителя SUSE.

    sudo zypper install sap-suse-cluster-connector
    

    Примечание.

    Известная проблема с использованием тире в именах узлов устранена в версии 3.1.1 пакета sap-suse-cluster-connector. Если вы работаете с узлами кластеров, содержащими тире в имени узла, следует использовать как минимум версию 3.1.1 пакета sap-suse-cluster-connector. Иначе кластер не будет работать.

    Убедитесь, что вы установили новую версию соединителя кластера SAP SUSE. Старая версия называется sap_suse_cluster_connector, а новая — sap-suse-cluster-connector.

  2. [A] Обновите агенты ресурсов SAP.

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

    sudo grep 'parameter name="IS_ERS"' /usr/lib/ocf/resource.d/heartbeat/SAPInstance
    

    Вы должны получить примерно такой результат:

    <parameter name="IS_ERS" unique="0" required="0">;
    

    Если команде grep не удается найти параметр IS_ERS, необходимо установить исправления, перечисленные на странице скачивания SUSE.

  3. [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
    
  4. [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
    

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

  1. [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
    
  2. [A] Подключите файловые системы, которые не будут контролироваться кластером Pacemaker.

    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 
    
  3. [A] Настройте файл подкачки.

    sudo vi /etc/waagent.conf
    
    # Check if property ResourceDisk.Format is already set to y and if not, set it
    ResourceDisk.Format=y
    
    # 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 ASCS/ERS

  1. [1] Создайте виртуальный IP-адрес и проверку работоспособности для экземпляра ASCS.

    Внимание

    Мы рекомендуем использовать агент ресурса azure-lb, который входит в состав пакета resource-agents, со следующими требованиями к версии пакета:

    • Минимальная версия для SLES 12 SP4/SP5 — resource-agents-4.3.018.a7fb5035-3.30.1.
    • Минимальная версия для SLES 15 и более поздних версий — resource-agents-4.3.0184.6ee15eb2-4.13.1.
    sudo crm node standby sap-cl2
    sudo crm configure primitive fs_NW1_ASCS Filesystem device='sapnfs.file.core.windows.net:/sapnfsafs/sapnw1/usrsapNW1ascs' directory='/usr/sap/NW1/ASCS00' fstype='nfs' options='noresvport,vers=4,minorversion=1,sec=sys' \
      op start timeout=60s interval=0 \
      op stop timeout=60s interval=0 \
      op monitor interval=20s timeout=40s
    
    sudo crm configure primitive vip_NW1_ASCS IPaddr2 \
      params ip=10.90.90.10 \
      op monitor interval=10 timeout=20
    
    sudo crm configure primitive nc_NW1_ASCS azure-lb port=62000 \
      op monitor timeout=20s interval=10
    
    sudo crm configure group g-NW1_ASCS fs_NW1_ASCS nc_NW1_ASCS vip_NW1_ASCS \
      meta resource-stickiness=3000
    

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

    sudo crm_mon -r
    # Node sap-cl2: standby
    # Online: [ sap-cl1 ]
    #
    # Full list of resources:
    #
    # stonith-sbd     (stonith:external/sbd): 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
    
    
  2. [1] Установите SAP NetWeaver ASCS.

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

    Чтобы разрешить непривилегированному пользователю подключаться к SAPinst, можно использовать параметр SAPINST_REMOTE_ACCESS_USER. Для установки SAP можно использовать параметр SAPINST_USE_HOSTNAME с именем виртуального узла.

    sudo <swpm>/sapinst SAPINST_REMOTE_ACCESS_USER=sapadmin SAPINST_USE_HOSTNAME=<virtual_hostname>
    

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

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

    sudo crm node online sap-cl2
    sudo crm node standby sap-cl1
    sudo crm configure primitive fs_NW1_ERS Filesystem device='sapnfs.file.core.windows.net:/sapnfsafs/sapnw1/usrsapNW1ers' directory='/usr/sap/NW1/ERS01' fstype='nfs' options='noresvport,vers=4,minorversion=1,sec=sys' \
      op start timeout=60s interval=0 \
      op stop timeout=60s interval=0 \
      op monitor interval=20s timeout=40s
    
    sudo crm configure primitive vip_NW1_ERS IPaddr2 \
      params ip=10.90.90.9 \
      op monitor interval=10 timeout=20
    
    sudo crm configure primitive nc_NW1_ERS azure-lb port=62101 \
      op monitor timeout=20s interval=10
    
    sudo crm configure group g-NW1_ERS fs_NW1_ERS nc_NW1_ERS vip_NW1_ERS
    

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

    sudo crm_mon -r
    
    # Node sap-cl1: standby
    # Online: [ sap-cl2 ]
    # 
    # Full list of resources:
    #
    # stonith-sbd     (stonith:external/sbd): 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_ERS
    #      fs_NW1_ERS (ocf::heartbeat:Filesystem):    Started sap-cl2 
    #      nc_NW1_ERS (ocf::heartbeat:azure-lb):      Started sap-cl2
    #      vip_NW1_ERS  (ocf::heartbeat:IPaddr2):     Started sap-cl2
    
  4. [2] Установите SAP NetWeaver ERS.

    Установите SAP NetWeaver ERS в качестве корневого каталога на втором узле, используя виртуальное имя узла, которое сопоставляется с внешним IP-адресом подсистемы балансировки нагрузки ERS (например, sapers, 10.90.90.9) и номером экземпляра, который использовался для пробы подсистемы балансировки нагрузки, например 01.

    Чтобы разрешить непривилегированному пользователю подключаться к SAPinst, можно использовать параметр SAPINST_REMOTE_ACCESS_USER. Для установки SAP можно использовать параметр SAPINST_USE_HOSTNAME с именем виртуального узла.

    <swpm>/sapinst SAPINST_REMOTE_ACCESS_USER=sapadmin SAPINST_USE_HOSTNAME=virtual_hostname
    

    Примечание.

    Используйте SWPM SP 20 PL 05 или более поздней версии. Более ранние версии задают разрешения неправильно, и установка завершится с ошибкой.

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

    chown nw1adm /usr/sap/NW1/ERS01
    chgrp sapsys /usr/sap/NW1/ERS01
    
  5. [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 following lines
    service/halib = $(DIR_CT_RUN)/saphascriptco.so
    service/halib_cluster_connector = /usr/bin/sap_suse_cluster_connector
    
    # Add the keep alive parameter, if using ENSA1
    enque/encni/set_so_keepalive = true
    

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

    • Профиль 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)
    
    # Add the following lines
    service/halib = $(DIR_CT_RUN)/saphascriptco.so
    service/halib_cluster_connector = /usr/bin/sap_suse_cluster_connector
    
    # remove Autostart from ERS profile
    # Autostart = 1
    
  6. [A] Настройте активность.

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

    # Change the Linux system configuration
    sudo sysctl net.ipv4.tcp_keepalive_time=300
    
  7. [A] Настройте пользователей SAP после установки.

    # Add sidadm to the haclient group
    sudo usermod -aG haclient nw1adm
    
  8. [1] Добавьте службы SAP ASCS и ERS в файл sapservice.

    Добавьте запись службы ASCS во второй узел и скопируйте запись службы ERS в первый узел.

    cat /usr/sap/sapservices | grep ASCS00 | sudo ssh sap-cl2 "cat >>/usr/sap/sapservices"
    sudo ssh sap-cl2 "cat /usr/sap/sapservices" | grep ERS01 | sudo tee -a /usr/sap/sapservices
    
  9. [A] Отключение systemd служб экземпляра ASCS и ERS SAP. Этот шаг применим только в том случае, если платформа запуска SAP управляется системой в соответствии с 3115048 заметки SAP.

    Примечание.

    При управлении экземплярами SAP, такими как SAP ASCS и SAP ERS с помощью конфигурации кластера SLES, необходимо внести дополнительные изменения для интеграции кластера с собственной платформой запуска SAP на основе системы. Это гарантирует, что процедуры обслуживания не скомпрометирует стабильность кластера. После установки или переключения платформы запуска SAP на системную настройку в 3115048 с поддержкой SAP следует отключить systemd службы для экземпляров ASCS и ERS SAP.

    # Stop ASCS and ERS instances using <sid>adm
    sapcontrol -nr 00 -function Stop
    sapcontrol -nr 00 -function StopService
    
    sapcontrol -nr 01 -function Stop
    sapcontrol -nr 01 -function StopService
    
    # Execute below command on VM where you have performed ASCS instance installation (e.g. sap-cl1)
    sudo systemctl disable SAPNW1_00
    # Execute below command on VM where you have performed ERS instance installation (e.g. sap-cl2)
    sudo systemctl disable SAPNW1_01
    
  10. [1] Создайте кластерные ресурсы SAP.

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

    sudo crm configure property maintenance-mode="true"
    
    sudo crm configure primitive rsc_sap_NW1_ASCS00 SAPInstance \
     operations \$id=rsc_sap_NW1_ASCS00-operations \
     op monitor interval=11 timeout=60 on-fail=restart \
     params InstanceName=NW1_ASCS00_sapascs START_PROFILE="/sapmnt/NW1/profile/NW1_ASCS00_sapascs" \
     AUTOMATIC_RECOVER=false \
     meta resource-stickiness=5000 failure-timeout=60 migration-threshold=1 priority=10
    
    sudo crm configure primitive rsc_sap_NW1_ERS01 SAPInstance \
     operations \$id=rsc_sap_NW1_ERS01-operations \
     op monitor interval=11 timeout=60 on-fail=restart \
     params InstanceName=NW1_ERS01_sapers START_PROFILE="/sapmnt/NW1/profile/NW1_ERS01_sapers" AUTOMATIC_RECOVER=false IS_ERS=true \
     meta priority=1000
    
    sudo crm configure modgroup g-NW1_ASCS add rsc_sap_NW1_ASCS00
    sudo crm configure modgroup g-NW1_ERS add rsc_sap_NW1_ERS01
    
    sudo crm configure colocation col_sap_NW1_no_both -5000: g-NW1_ERS g-NW1_ASCS
    sudo crm configure location loc_sap_NW1_failover_to_ers rsc_sap_NW1_ASCS00 rule 2000: runs_ers_NW1 eq 1
    sudo crm configure order ord_sap_NW1_first_start_ascs Optional: rsc_sap_NW1_ASCS00:start rsc_sap_NW1_ERS01:stop symmetrical=false
    
    sudo crm_attribute --delete --name priority-fencing-delay
    
    sudo crm node online sap-cl1
    sudo crm configure property maintenance-mode="false"
    

При переходе на более новую версию сервера постановки в очередь 2 см. примечание к SAP 2641019.

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

sudo crm_mon -r
# Full list of resources:
# 
# stonith-sbd     (stonith:external/sbd): Started sap-cl2
#  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
#      rsc_sap_NW1_ASCS00 (ocf::heartbeat:SAPInstance):   Started sap-cl1
#  Resource Group: g-NW1_ERS
#      fs_NW1_ERS (ocf::heartbeat:Filesystem):    Started sap-cl2
#      nc_NW1_ERS (ocf::heartbeat:azure-lb):      Started sap-cl2
#      vip_NW1_ERS        (ocf::heartbeat:IPaddr2):       Started sap-cl2
#      rsc_sap_NW1_ERS01  (ocf::heartbeat:SAPInstance):   Started sap-cl1

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

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

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

Ниже приведены элементы с префиксами: [A] — применяется к PAS и AAS, [P] — применяется только к PAS, [S] — применяется только к узлу AAS.

  1. [A] Настройка операционной системы

    Уменьшите размер "грязного" кэша. Дополнительные сведения см. в статье Low write performance on SLES 11/12 servers with large RAM (Низкая производительность записи на серверах SLES 11/12 с большим объем ОЗУ).

    sudo vi /etc/sysctl.conf
    # Change/set the following settings
    vm.dirty_bytes = 629145600
    vm.dirty_background_bytes = 314572800
    
  2. [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
    
  3. [A] Создайте каталог sapmnt.

    sudo mkdir -p /sapmnt/NW1
    sudo mkdir -p /usr/sap/trans
    
    sudo chattr +i /sapmnt/NW1
    sudo chattr +i /usr/sap/trans
    
  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. Список поддерживаемых баз данных см. в примечании SAP 1928533.

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

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.

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

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

    Чтобы получить список записей, выполните следующую команду:

    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. Выполните типовые тесты отработки отказа.

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