Обеспечение высокого уровня доступности SAP NetWeaver на виртуальных машинах Azure в SUSE Linux Enterprise Server с помощью Azure NetApp Files для приложений SAP
В этой статье объясняется, как настроить высокий уровень доступности для приложения SAP NetWeaver с помощью Azure NetApp Files.
Для новых реализаций в SLES для приложений SAP 15 рекомендуется развернуть высокий уровень доступности для SAP ASCS/ERS в простой конфигурации подключения. Классическая конфигурация Pacemaker на основе управляемых кластером файловых систем для каталогов центральных служб SAP, описанных в этой статье, по-прежнему поддерживается.
В примерах конфигураций, команд установки и т. д. экземпляру ASCS задан номер 00, экземпляру ERS — номер 01, экземпляру основного приложения (PAS) — номер 02, экземпляру приложения (AAS) — номер 03. Используется QAS с идентификатором системы SAP. В этой статье нет подробных сведений об уровне базы данных.
Прежде всего прочитайте следующие примечания и документы SAP:
- Документация по Azure NetApp Files
- Заметка SAP 1928533, которая имеет следующее:
- список размеров виртуальных машин Azure, поддерживаемых для развертывания ПО SAP;
- важные сведения о доступных ресурсах для каждого размера виртуальной машины Azure;
- сведения о поддерживаемом программном обеспечении SAP и сочетаниях операционных систем и баз данных;
- сведения о требуемой версии ядра SAP для Windows и Linux в Microsoft Azure.
- примечание к SAP 2015553, в котором описываются предварительные требования к SAP при развертывании программного обеспечения SAP в Azure;
- Примечание SAP 2205917 содержит рекомендуемые параметры ОС для SUSE Linux Enterprise Server для приложений SAP.
- Примечание SAP 1944799 содержит рекомендации для SAP HANA в SUSE Linux Enterprise Server для приложений SAP.
- примечание к SAP 2178632, содержащее подробные сведения обо всех доступных метриках мониторинга для SAP в Azure;
- примечание к SAP 2191498, содержащее сведения о необходимой версии агента SAP Host Agent для Linux в Azure;
- примечание к SAP 2243692, содержащее сведения о лицензировании SAP в Linux в Azure;
- примечание к SAP 1984787, содержащее общие сведения о SUSE Linux Enterprise Server 12;
- примечание к SAP 1999351, содержащее дополнительные сведения об устранении неполадок, связанных с расширением для расширенного мониторинга Azure для SAP;
- вики-сайт сообщества SAP, содержащий все необходимые примечания к SAP для Linux;
- SAP NetWeaver на виртуальных машинах Linux. Руководство по планированию и внедрению
- Развертывание программного обеспечения SAP на виртуальных машинах Linux в Azure
- Развертывание СУБД Виртуальных машин Azure для SAP на Linux.
- Рекомендации по обеспечению высокого уровня доступности SUSE SAP. Эти руководства содержат всю необходимую информацию для настройки высокого уровня доступности NetWeaver и репликации системы SAP HANA в локальной среде. Придерживайтесь этих общих рекомендаций. Они содержат намного более подробные сведения.
- Заметки о выпуске расширения SUSE высокого уровня доступности 12 SP3
- Приложения NetApp SAP в Microsoft Azure. Использование Azure NetApp Files
- Рекомендации для NetApp NFS
Обзор
Для обеспечения высокого уровня доступности (HA) центральных служб SAP NetWeaver требуется общее хранилище. Ранее для выполнения этой задачи в SUSE Linux было необходимо создавать отдельный высокодоступный кластер NFS.
Теперь можно достичь высокого уровня доступности SAP Netweaver с помощью общего хранилища, развернутого в Azure NetApp Files. Использование службы Azure NetApp Files для общего хранилища избавляет от необходимости развертывания дополнительного кластера NFS. Для обеспечения высокого уровня доступности центральных служб SAP NetWeaver (ASCS/SCS) по-прежнему требуется Pacemaker.
SAP NetWeaver ASCS, SAP NetWeaver SCS, SAP NetWeaver ERS и база данных SAP HANA используют виртуальное имя узла и виртуальные IP-адреса. Load Balancer в Azure должен использовать виртуальный IP-адрес. Мы рекомендуем Load Balancer (цен. категория "Стандартный"). В представленной конфигурации показана следующая подсистема балансировки нагрузки:
- Интерфейсный IP-адрес 10.1.1.20 для ASCS
- Интерфейсный IP-адрес 10.1.1.21 для 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. Ресурсы Azure NetApp Files и виртуальные машины, к которым будут подключаться ресурсы Azure NetApp Files, должны быть развернуты в одной виртуальной сети Azure или в одноранговых виртуальных сетях Azure.
- Создайте учетную запись NetApp в выбранном регионе Azure, следуя этим инструкциям.
- Настройте пул емкости Azure NetApp Files, следуя инструкциям по настройке пула емкости Azure NetApp Files.
В архитектуре SAP NetWeaver, представленной в этой статье, используется один пул емкости Azure NetApp Files с номером SKU категории "Премиум". Он является рекомендуемым для рабочей нагрузки приложения SAP NetWeaver в Azure. - Делегируйте подсеть в Azure NetApp Files согласно инструкциям по делегированию подсети в Azure NetApp Files.
- Разверните тома Azure NetApp Files, следуя инструкциям по созданию тома для Azure NetApp Files. Разверните тома в выделенной подсети Azure NetApp Files. IP-адреса томов Azure NetApp Files назначаются автоматически. Учтите, что ресурсы Azure NetApp Files и виртуальные машины Azure должны находиться в одной виртуальной сети Azure или в одноранговых виртуальных сетях Azure. В этом примере мы используем два тома Azure NetApp Files: sapQAS и trans. Пути к файлам, подключенным к соответствующим точкам подключения, — /usrsapqas/sapmntQAS, /usrsap qas/usrsapQASsys и т. д.
- volume sapQAS (nfs://10.1.0.4/usrsapqas/sapmntQAS)
- volume sapQAS (nfs://10.1.0.4/usrsapqas/usrsapQASascs)
- volume sapQAS (nfs://10.1.0.4/usrsapqas/usrsapQASsys)
- volume sapQAS (nfs://10.1.0.4/usrsapqas/usrsapQASers)
- volume trans (nfs://10.1.0.4/trans)
- volume sapQAS (nfs://10.1.0.4/usrsapqas/usrsapQASpas)
- volume sapQAS (nfs://10.1.0.4/usrsapqas/usrsapQASaas)
В этом примере мы использовали Azure NetApp Files для всех файловых систем SAP NetWeaver, чтобы продемонстрировать использование этой службы. Файловые системы SAP, которые не нужно подключать через NFS, можно также развернуть как хранилище дисков Azure. В этом примере a-e должен быть в Azure NetApp Files, а f-g (т. е. /usr/sap/QAS/D02, /usr/sap/QAS/D03) можно развернуть в качестве хранилища дисков Azure.
Важные замечания
При выборе Azure NetApp Files для архитектуры с высоким уровнем доступности SAP NetWeaver в SUSE учитывайте следующие важные моменты.
- Ограничения для пула томов и емкости см. в разделе об ограничениях ресурсов Azure NetApp Files.
- Azure NetApp Files и все виртуальные машины, на которых будут монтироваться тома Azure NetApp Files, должны быть развернуты в одной виртуальной сети Azure или в одноранговых виртуальных сетях в одном регионе. В настоящее время поддерживается доступ к Azure NetApp Files через пиринг виртуальных сетей в том же регионе. Доступ к NetApp Azure через глобальный пиринг пока не поддерживается.
- В выбранной виртуальной сети должна быть подсеть, делегированная службе Azure NetApp Files.
- Пропускная способность и характеристики производительности тома Azure NetApp являются функцией квоты тома и уровня обслуживания, как описано в статье Уровни обслуживания для Azure NetApp Files. При определении размера томов SAP в Azure NetApp убедитесь, что полученная пропускная способность соответствует требованиям к приложению.
- Azure NetApp Files предлагает политику экспорта, которая позволяет управлять разрешенными клиентами, типом доступа (чтение и запись, доступ только для чтения и т. д.).
- Azure NetApp Files пока еще не поддерживает зоны. В настоящее время служба Azure NetApp Files развернута не во всех зонах доступности региона Azure. Учитывайте возможную задержку в некоторых регионах Azure.
- Тома Azure NetApp Files можно развернуть в виде томов NFSv3 или NFSv4.1. Оба протокола поддерживаются на уровне приложений SAP (ASCS/ERS, серверы приложений SAP).
Подготовка инфраструктуры
Агент ресурсов для экземпляра 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. Во время настройки подсистемы балансировки нагрузки рассмотрите следующие моменты.
- Конфигурация внешнего IP-адреса: создайте два внешних IP-адреса, один для ASCS и другой для ERS. Выберите ту же виртуальную сеть и подсеть, что и виртуальные машины ASCS/ERS.
- Внутренний пул: создание внутреннего пула и добавление виртуальных машин ASCS и ERS.
- Правила для входящего трафика: создайте два правила балансировки нагрузки, одно для 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 . Необходимо ли обновить?.
Отключите сопоставление идентификаторов (если используется NFSv4.1).
Инструкции в этом разделе применимы, только если используются тома Azure NetApp Files с протоколом NFSv4.1. Выполните настройку на всех виртуальных машинах, к которым будут подключены тома Azure NetApp Files NFSv4.1.
Проверьте параметр домена NFS. Убедитесь, что домен настроен в качестве домена Azure NetApp Files по умолчанию,
defaultv4iddomain.com
а сопоставление не задано.Внимание
Обязательно укажите домен NFS в
/etc/idmapd.conf
виртуальной машине в соответствии с конфигурацией домена по умолчанию в Azure NetApp Files:defaultv4iddomain.com
. В случае несоответствия между конфигурацией домена на клиенте NFS (т. е. виртуальной машине) и NFS-сервере (т. е. конфигурацией Azure NetApp) разрешения для файлов на томах NetApp в Azure, подключенных к виртуальным машинам, будут отображаться какnobody
.sudo cat /etc/idmapd.conf # Example [General] Verbosity = 0 Pipefs-Directory = /var/lib/nfs/rpc_pipefs Domain = defaultv4iddomain.com [Mapping] Nobody-User = nobody Nobody-Group = nobody
[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 10.1.0.4:/sapmnt/qas /mnt/tmp umount /mnt/tmp echo "Y" > /sys/module/nfs/parameters/nfs4_disable_idmapping # Make the configuration permanent echo "options nfs nfs4_disable_idmapping=Y" >> /etc/modprobe.d/nfs.conf
Настройка (A)SCS
Далее вы подготовите и установите экземпляры SAP ASCS и ERS.
Создание кластера Pacemaker
Следуйте указаниям в статье Настройка кластера Pacemaker в SUSE Linux Enterprise Server в Azure, чтобы создать базовый кластер Pacemaker для этого (A)SCS-сервера.
Установка
Ниже приведены элементы с префиксами: [A] — применяется ко всем узлам, [1] — применяется только к узлу 1, [2] — применяется только к узлу 2.
[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.
sudo zypper info sap-suse-cluster-connector # Information for package sap-suse-cluster-connector: # --------------------------------------------------- # Repository : SLE-12-SP3-SAP-Updates # Name : sap-suse-cluster-connector # Version : 3.1.0-8.1 # Arch : noarch # Vendor : SUSE LLC <https://www.suse.com/> # Support Level : Level 3 # Installed Size : 45.6 KiB # Installed : Yes # Status : up-to-date # Source package : sap-suse-cluster-connector-3.1.0-8.1.src # Summary : SUSE High Availability Setup for SAP Products
[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.
# example for patch for SLES 12 SP1 sudo zypper in -t patch SUSE-SLE-HA-12-SP1-2017-885=1 # example for patch for SLES 12 SP2 sudo zypper in -t patch SUSE-SLE-HA-12-SP2-2017-886=1
[A] Установите разрешения имен.
Можно использовать DNS-сервер или внести изменения в файл /etc/hosts на всех узлах. В этом примере показано, как использовать файл /etc/hosts. Замените IP-адрес и имя узла в следующих командах.
sudo vi /etc/hosts
Вставьте следующие строки в /etc/hosts. Измените IP-адрес и имя узла в соответствии со своей средой.
# IP address of cluster node 1 10.1.1.18 anftstsapcl1 # IP address of cluster node 2 10.1.1.6 anftstsapcl2 # IP address of the load balancer frontend configuration for SAP Netweaver ASCS 10.1.1.20 anftstsapvh # IP address of the load balancer frontend configuration for SAP Netweaver ERS 10.1.1.21 anftstsapers
[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 10.1.0.4:/sapQAS /saptmp # If using NFSv4.1 sudo mount -t nfs -o rw,hard,rsize=65536,wsize=65536,nfsvers=4.1,sec=sys,tcp 10.1.0.4:/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
Подготовка к установке SAP NetWeaver
[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
[A] Настройте
autofs
.sudo vi /etc/auto.master # Add the following line to the file, save and exit /- /etc/auto.direct
Если используется NFSv3, создайте файл со следующим текстом:
sudo vi /etc/auto.direct # Add the following lines to the file, save and exit /sapmnt/QAS -nfsvers=3,nobind 10.1.0.4:/usrsapqas/sapmntQAS /usr/sap/trans -nfsvers=3,nobind 10.1.0.4:/trans /usr/sap/QAS/SYS -nfsvers=3,nobind 10.1.0.4:/usrsapqas/usrsapQASsys
Если используется NFSv4.1, создайте файл со следующим текстом:
sudo vi /etc/auto.direct # Add the following lines to the file, save and exit /sapmnt/QAS -nfsvers=4.1,nobind,sec=sys 10.1.0.4:/usrsapqas/sapmntQAS /usr/sap/trans -nfsvers=4.1,nobind,sec=sys 10.1.0.4:/trans /usr/sap/QAS/SYS -nfsvers=4.1,nobind,sec=sys 10.1.0.4:/usrsapqas/usrsapQASsys
Примечание.
При подключении томов Azure NetApp Files следует использовать соответствующую версию протокола NFS. Если тома Azure NetApp Files созданы как тома NFSv3, применяйте соответствующую конфигурацию NFSv3. Если тома Azure NetApp Files созданы как тома NFSv4.1, следуйте инструкциям по отключению сопоставления идентификаторов и обязательно используйте соответствующую конфигурацию NFSv4.1. В этом примере тома Azure NetApp Files были созданы как тома NFSv3.
Перезапустите
autofs
, чтобы подключить новые общие папки.sudo systemctl enable autofs sudo service autofs restart
[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] Создайте виртуальный IP-адрес и проверку работоспособности для экземпляра ASCS.
Внимание
В ходе последних тестов были выявлены ситуации, когда netcat перестает отвечать на запросы из-за невыполненной работы и ограничения на обработку только одного подключения. Ресурс netcat прекращает прослушивать запросы Azure Load Balancer, и плавающий IP-адрес становится недоступным.
Для существующих кластеров Pacemaker ранее рекомендовалось заменять netcat на socat. Сейчас мы рекомендуем использовать агент ресурса azure-lb, который входит в состав пакета resource-agents со следующими требованиями к версии пакета:- Минимальная версия для SLES 12 SP4/SP5 — resource-agents-4.3.018.a7fb5035-3.30.1.
- Минимальная версия для SLES 15/15 с пакетом обновления 1 (SP1) — resource-agents-4.3.0184.6ee15eb2-4.13.1.
Обратите внимание, что для этого изменения потребуется незначительное время простоя.
Если конфигурация существующих кластеров Pacemaker уже была изменена для использования socat, как описано в этой статье, немедленно переключаться на агент ресурса azure-lb не нужно.sudo crm node standby anftstsapcl2 # If using NFSv3 sudo crm configure primitive fs_QAS_ASCS Filesystem device='10.1.0.4/usrsapqas/usrsapQASascs' directory='/usr/sap/QAS/ASCS00' fstype='nfs' \ op start timeout=60s interval=0 \ op stop timeout=60s interval=0 \ op monitor interval=20s timeout=40s # If using NFSv4.1 sudo crm configure primitive fs_QAS_ASCS Filesystem device='10.1.0.4:/usrsapqas/usrsapQASascs' directory='/usr/sap/QAS/ASCS00' fstype='nfs' options='sec=sys,nfsvers=4.1' \ op start timeout=60s interval=0 \ op stop timeout=60s interval=0 \ op monitor interval=20s timeout=105s sudo crm configure primitive vip_QAS_ASCS IPaddr2 \ params ip=10.1.1.20 \ op monitor interval=10 timeout=20 sudo crm configure primitive nc_QAS_ASCS azure-lb port=62000 \ op monitor timeout=20s interval=10 sudo crm configure group g-QAS_ASCS fs_QAS_ASCS nc_QAS_ASCS vip_QAS_ASCS \ meta resource-stickiness=3000
Убедитесь, что состояние кластера — "ОК" и что запущены все ресурсы. Неважно, на каком узле выполняются ресурсы.
sudo crm_mon -r # Node anftstsapcl2: standby # Online: [ anftstsapcl1 ] # # Full list of resources: # # 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 # stonith-sbd (stonith:external/sbd): Started anftstsapcl2
[1] Установите SAP NetWeaver ASCS.
Установите SAP NetWeaver ASCS в качестве корневого на первом узле, используя имя виртуального узла, которое сопоставляется с внешним IP-адресом подсистемы балансировки нагрузки ASCS (например, anftstsapvh, 10.1.1.20) и экземпляром номера, который использовался для проверки подсистемы балансировки нагрузки, например 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/QAS/ASCS00, попробуйте задать владельца и группу ASCS папки 00 и повторите заново.
chown qasadm /usr/sap/QAS/ASCS00 chgrp sapsys /usr/sap/QAS/ASCS00
[1] Создайте виртуальный IP-ресурс и пробу работоспособности для экземпляра ERS.
sudo crm node online anftstsapcl2 sudo crm node standby anftstsapcl1 # If using NFSv3 sudo crm configure primitive fs_QAS_ERS Filesystem device='10.1.0.4:/usrsapqas/usrsapQASers' directory='/usr/sap/QAS/ERS01' fstype='nfs' \ op start timeout=60s interval=0 \ op stop timeout=60s interval=0 \ op monitor interval=20s timeout=40s # If using NFSv4.1 sudo crm configure primitive fs_QAS_ERS Filesystem device='10.1.0.4:/usrsapqas/usrsapQASers' directory='/usr/sap/QAS/ERS01' fstype='nfs' options='sec=sys,nfsvers=4.1' \ op start timeout=60s interval=0 \ op stop timeout=60s interval=0 \ op monitor interval=20s timeout=105s sudo crm configure primitive vip_QAS_ERS IPaddr2 \ params ip=10.1.1.21 \ op monitor interval=10 timeout=20 sudo crm configure primitive nc_QAS_ERS azure-lb port=62101 \ op monitor timeout=20s interval=10 sudo crm configure group g-QAS_ERS fs_QAS_ERS nc_QAS_ERS vip_QAS_ERS
Убедитесь, что состояние кластера — "ОК" и что запущены все ресурсы. Неважно, на каком узле выполняются ресурсы.
sudo crm_mon -r # Node anftstsapcl1: standby # Online: [ anftstsapcl2 ] # # Full list of resources: # # stonith-sbd (stonith:external/sbd): 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_ERS # fs_QAS_ERS (ocf::heartbeat:Filesystem): Started anftstsapcl2 # nc_QAS_ERS (ocf::heartbeat:azure-lb): Started anftstsapcl2 # vip_QAS_ERS (ocf::heartbeat:IPaddr2): Started anftstsapcl2
[2] Установите SAP NetWeaver ERS.
Установите SAP NetWeaver ERS в качестве корневого на втором узле, используя имя виртуального узла, которое сопоставляется с внешним IP-адресом подсистемы балансировки нагрузки ERS (например, anftstsapers, 10.1.1.21) и экземпляром номера, который использовался для проверки подсистемы балансировки нагрузки, например 01.
Чтобы разрешить непривилегированному пользователю подключаться к SAPinst, можно использовать параметр SAPINST_REMOTE_ACCESS_USER. Для установки SAP можно использовать параметр SAPINST_USE_HOSTNAME с именем виртуального узла.
sudo <swpm>/sapinst SAPINST_REMOTE_ACCESS_USER=sapadmin SAPINST_USE_HOSTNAME=virtual_hostname
Примечание.
Используйте SWPM SP 20 PL 05 или более поздней версии. Более ранние версии задают разрешения неправильно, и установка завершится с ошибкой.
Если установка завершилась ошибкой при создании вложенной папки в /usr/sap/QAS/ERS01, попробуйте задать владельца и группу ERS папки 01 и повторите заново.
chown qasadm /usr/sap/QAS/ERS01 chgrp sapsys /usr/sap/QAS/ERS01
[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 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/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) # 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
[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
[A] Настройте пользователей SAP после установки.
# Add sidadm to the haclient group sudo usermod -aG haclient qasadm
[1] Добавьте службы SAP ASCS и ERS в файл
sapservice
.Добавьте запись службы ASCS во второй узел и скопируйте запись службы ERS в первый узел.
cat /usr/sap/sapservices | grep ASCS00 | sudo ssh anftstsapcl2 "cat >>/usr/sap/sapservices" sudo ssh anftstsapcl2 "cat /usr/sap/sapservices" | grep ERS01 | sudo tee -a /usr/sap/sapservices
[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. anftstsapcl1) sudo systemctl disable SAPQAS_00 # Execute below command on VM where you have performed ERS instance installation (e.g. anftstsapcl2) sudo systemctl disable SAPQAS_01
[1] Создайте кластерные ресурсы SAP.
В зависимости от того, выполняется ли система ENSA1 или ENSA2, выберите соответствующую вкладку, чтобы определить ресурсы. SAP представила поддержку ENSA2, включая репликацию, в SAP NetWeaver версии 7.52. Начиная с ABAP Platform 1809 сервер постановки ENSA2 устанавливается по умолчанию. Сведения о поддержке ENSA2 см. в примечании SAP 2630416.
sudo crm configure property maintenance-mode="true" # If using NFSv3 sudo crm configure primitive rsc_sap_QAS_ASCS00 SAPInstance \ operations \$id=rsc_sap_QAS_ASCS00-operations \ op monitor interval=11 timeout=60 on-fail=restart \ params InstanceName=QAS_ASCS00_anftstsapvh START_PROFILE="/sapmnt/QAS/profile/QAS_ASCS00_anftstsapvh" \ AUTOMATIC_RECOVER=false \ meta resource-stickiness=5000 failure-timeout=60 migration-threshold=1 priority=10 # If using NFSv4.1 sudo crm configure primitive rsc_sap_QAS_ASCS00 SAPInstance \ operations \$id=rsc_sap_QAS_ASCS00-operations \ op monitor interval=11 timeout=105 on-fail=restart \ params InstanceName=QAS_ASCS00_anftstsapvh START_PROFILE="/sapmnt/QAS/profile/QAS_ASCS00_anftstsapvh" \ AUTOMATIC_RECOVER=false \ meta resource-stickiness=5000 failure-timeout=105 migration-threshold=1 priority=10 # If using NFSv3 sudo crm configure primitive rsc_sap_QAS_ERS01 SAPInstance \ operations \$id=rsc_sap_QAS_ERS01-operations \ op monitor interval=11 timeout=60 on-fail=restart \ params InstanceName=QAS_ERS01_anftstsapers START_PROFILE="/sapmnt/QAS/profile/QAS_ERS01_anftstsapers" AUTOMATIC_RECOVER=false IS_ERS=true \ meta priority=1000 # If using NFSv4.1 sudo crm configure primitive rsc_sap_QAS_ERS01 SAPInstance \ operations \$id=rsc_sap_QAS_ERS01-operations \ op monitor interval=11 timeout=105 on-fail=restart \ params InstanceName=QAS_ERS01_anftstsapers START_PROFILE="/sapmnt/QAS/profile/QAS_ERS01_anftstsapers" AUTOMATIC_RECOVER=false IS_ERS=true \ meta priority=1000 sudo crm configure modgroup g-QAS_ASCS add rsc_sap_QAS_ASCS00 sudo crm configure modgroup g-QAS_ERS add rsc_sap_QAS_ERS01 sudo crm configure colocation col_sap_QAS_no_both -5000: g-QAS_ERS g-QAS_ASCS sudo crm configure location loc_sap_QAS_failover_to_ers rsc_sap_QAS_ASCS00 rule 2000: runs_ers_QAS eq 1 sudo crm configure order ord_sap_QAS_first_start_ascs Optional: rsc_sap_QAS_ASCS00:start rsc_sap_QAS_ERS01:stop symmetrical=false sudo crm_attribute --delete --name priority-fencing-delay sudo crm node online anftstsapcl1 sudo crm configure property maintenance-mode="false"
При переходе на более новую версию сервера постановки в очередь 2 см. примечание к SAP 2641019.
Примечание.
Более длительное время ожидания, которое предполагается при использовании NFSv4.1, нужно из-за зависящих от протокола приостановок, связанных с продлением аренды NFSv4.1. Дополнительные сведения см. в статье NFS в netApp Best practices.
Время ожидания в приведенной выше конфигурации, возможно, потребуется настроить для конкретной установки SAP.
Убедитесь, что состояние кластера — "ОК" и что запущены все ресурсы. Неважно, на каком узле выполняются ресурсы.
sudo crm_mon -r
# Full list of resources:
#
# stonith-sbd (stonith:external/sbd): Started anftstsapcl2
# 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
# rsc_sap_QAS_ASCS00 (ocf::heartbeat:SAPInstance): Started anftstsapcl1
# Resource Group: g-QAS_ERS
# fs_QAS_ERS (ocf::heartbeat:Filesystem): Started anftstsapcl2
# nc_QAS_ERS (ocf::heartbeat:azure-lb): Started anftstsapcl2
# vip_QAS_ERS (ocf::heartbeat:IPaddr2): Started anftstsapcl2
# rsc_sap_QAS_ERS01 (ocf::heartbeat:SAPInstance): Started anftstsapcl2
Подготовка сервера приложений SAP NetWeaver
Для некоторых баз данных требуется установить экземпляр базы данных на сервере приложений. Для этих случаев подготовьте виртуальные машины сервера приложений к их использованию.
В шагах ниже предполагается, что сервер приложений установлен на сервере, отличном от серверов ASCS/SCS и HANA. В противном случае некоторые из приведенных ниже шагов (например, настройка разрешения имен узла) не требуются.
Ниже приведены элементы с префиксами: [A] — применяется к PAS и AAS, [P] — применяется только к PAS, [S] — применяется только к узлу AAS.
[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
[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/SCS 10.1.1.20 anftstsapvh # IP address of the load balancer frontend configuration for SAP NetWeaver ERS 10.1.1.21 anftstsapers # IP address of all application servers 10.1.1.15 anftstsapa01 10.1.1.16 anftstsapa02
[A] Создайте каталог sapmnt.
sudo mkdir -p /sapmnt/QAS sudo mkdir -p /usr/sap/trans sudo chattr +i /sapmnt/QAS sudo chattr +i /usr/sap/trans
[P] Создайте каталог PAS.
sudo mkdir -p /usr/sap/QAS/D02 sudo chattr +i /usr/sap/QAS/D02
[S] Создайте каталог AAS.
sudo mkdir -p /usr/sap/QAS/D03 sudo chattr +i /usr/sap/QAS/D03
[P] Настройте
autofs
в PAS.sudo vi /etc/auto.master # Add the following line to the file, save and exit /- /etc/auto.direct
Если используется NFSv3, создайте файл со следующим текстом:
sudo vi /etc/auto.direct # Add the following lines to the file, save and exit /sapmnt/QAS -nfsvers=3,nobind 10.1.0.4:/usrsapqas/sapmntQAS /usr/sap/trans -nfsvers=3,nobind 10.1.0.4:/trans /usr/sap/QAS/D02 -nfsvers=3,nobind 10.1.0.4:/usrsapqas/usrsapQASpas
Если используется NFSv4.1, создайте файл со следующим текстом:
sudo vi /etc/auto.direct # Add the following lines to the file, save and exit /sapmnt/QAS -nfsvers=4.1,nobind,sec=sys 10.1.0.4:/usrsapqas/sapmntQAS /usr/sap/trans -nfsvers=4.1,nobind,sec=sys 10.1.0.4:/trans /usr/sap/QAS/D02 -nfsvers=4.1,nobind,sec=sys 10.1.0.4:/usrsapqas/usrsapQASpas
Перезапустите
autofs
, чтобы подключить новые общие папки.sudo systemctl enable autofs sudo service autofs restart
[P] Настройте
autofs
в AAS.sudo vi /etc/auto.master # Add the following line to the file, save and exit /- /etc/auto.direct
Если используется NFSv3, создайте файл со следующим текстом:
sudo vi /etc/auto.direct # Add the following lines to the file, save and exit /sapmnt/QAS -nfsvers=3,nobind 10.1.0.4:/usrsapqas/sapmntQAS /usr/sap/trans -nfsvers=3,nobind 10.1.0.4:/trans /usr/sap/QAS/D03 -nfsvers=3,nobind 10.1.0.4:/usrsapqas/usrsapQASaas
Если используется NFSv4.1, создайте файл со следующим текстом:
sudo vi /etc/auto.direct # Add the following lines to the file, save and exit /sapmnt/QAS -nfsvers=4.1,nobind,sec=sys 10.1.0.4:/usrsapqas/sapmntQAS /usr/sap/trans -nfsvers=4.1,nobind,sec=sys 10.1.0.4:/trans /usr/sap/QAS/D03 -nfsvers=4.1,nobind,sec=sys 10.1.0.4:/usrsapqas/usrsapQASaas
Перезапустите
autofs
, чтобы подключить новые общие папки.sudo systemctl enable autofs sudo service autofs restart
[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.
Установите экземпляр базы данных SAP NetWeaver в качестве корневого, используя имя виртуального узла, которое сопоставляется с внешним IP-адресом подсистемы балансировки нагрузки для базы данных
Чтобы разрешить непривилегированному пользователю подключаться к SAPinst, можно использовать параметр SAPINST_REMOTE_ACCESS_USER.
sudo <swpm>/sapinst SAPINST_REMOTE_ACCESS_USER=sapadmin
Установка сервера приложений SAP NetWeaver
Для установки сервера приложений SAP выполните следующие действия.
[A] Подготовьте сервер приложений. Следуйте инструкциям из раздела Подготовка сервера приложений SAP NetWeaver выше.
[A] Установите сервер приложений SAP NetWeaver. Установите основной или дополнительный сервер приложений SAP NetWeaver.
Чтобы разрешить непривилегированному пользователю подключаться к SAPinst, можно использовать параметр SAPINST_REMOTE_ACCESS_USER.
sudo <swpm>/sapinst SAPINST_REMOTE_ACCESS_USER=sapadmin
[A] Обновите безопасное хранилище SAP HANA.
Обновите безопасное хранилище SAP HANA, чтобы оно указывало на виртуальное имя настройки репликации системы SAP HANA.
Чтобы получить список записей, выполните следующую команду:
hdbuserstore List
Это позволит вывести список всех записей. Он будет выглядеть так:
DATA FILE : /home/qasadm/.hdb/anftstsapa01/SSFS_HDB.DAT KEY FILE : /home/qasadm/.hdb/anftstsapa01/SSFS_HDB.KEY KEY DEFAULT ENV : 10.1.1.5:30313 USER: SAPABAP1 DATABASE: QAS
Выходные данные будут содержать IP-адрес записи по умолчанию, которая указывает на виртуальную машину, а не на IP-адрес балансировщика нагрузки. Эту запись необходимо изменить так, чтобы она указывала на имя виртуального узла балансировщика нагрузки. Убедитесь, что вы используете тот же порт (30313 в выходных данных выше) и имя базы данных (QAS)!
su - qasadm hdbuserstore SET DEFAULT qasdb:30313@QAS SAPABAP1 <password of ABAP schema>
Проверка настройки кластера
Тщательно протестируйте кластер Pacemaker. Выполните типовые тесты отработки отказа.
Следующие шаги
- Обеспечение высокого уровня доступности SAP NW на виртуальных машинах Azure в SLES с несколькими ИД безопасности для приложений SAP
- Планирование и реализация виртуальных машин Azure для SAP
- Развертывание виртуальных машин Azure для SAP NetWeaver
- SAP NetWeaver на виртуальных машинах Azure. Руководство по развертыванию СУБД SQL Server
- См. сведения в статье Обеспечение высокого уровня доступности SAP HANA на виртуальных машинах Azure в SUSE Linux Enterprise Server.