Поделиться через


Подготовка инфраструктуры Azure для SAP высокого уровня доступности с помощью отказоустойчивого кластера Windows и общего диска для SAP ASCS/SC

ОС Windows Windows

В этой статье описаны действия по подготовке инфраструктуры Azure к установке и настройке экземпляра SAP ASCS/SCS высокого уровня доступности в отказоустойчивом кластере Windows с использованием общего диска кластера для кластеризации экземпляра SAP ASCS. В документации описываются два варианта общего диска кластера:

Уровень базы данных в документации не рассматривается.

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

Перед началом установки ознакомьтесь со следующей статьей:

Создание виртуальной машины ASCS

Для кластера SAP ASCS/SCS разверните две виртуальные машины в группе доступности Azure или в зонах доступности Azure в зависимости от используемого типа развертывания. После развертывания виртуальных машин выполните указанные ниже действия.

  • Создайте внутреннюю подсистему балансировки нагрузки Azure для экземпляра SAP ASCS/SCS.
  • Добавьте виртуальные машины Windows в домен AD.

В зависимости от типа развертывания имена узлов и IP-адреса в вашем сценарии могут выглядеть следующим образом:

Развертывание SAP в группе доступности Azure

Роль имени узла Host name Статический IP-адрес Группа доступности Имя ценовой категории диска
Кластер ASCS/SCS первого узла pr1-ascs-10 10.0.0.4 pr1-ascs-avset Premium_LRS
Кластер ASCS/SCS второго узла pr1-ascs-11 10.0.0.5 pr1-ascs-avset
Сетевое имя кластера pr1clust 10.0.0.42 (только для кластера Win 2016) Н/Д
Имя сети кластера ASCS pr1-ascscl 10.0.0.43 Н/Д
Имя сети кластера ERS (только для ERS2) pr1-erscl 10.0.0.44 Н/Д

Развертывание SAP в зонах доступности Azure

Роль имени узла Host name Статический IP-адрес Availability zone Имя ценовой категории диска
Кластер ASCS/SCS первого узла pr1-ascs-10 10.0.0.4 AZ01 Premium_ZRS
Кластер ASCS/SCS второго узла pr1-ascs-11 10.0.0.5 AZ02
Сетевое имя кластера pr1clust 10.0.0.42 (только для кластера Win 2016) Н/Д
Имя сети кластера ASCS pr1-ascscl 10.0.0.43 Н/Д
Имя сети кластера ERS (только для ERS2) pr1-erscl 10.0.0.44 Н/Д

Перечисленные в этом документе шаги будут одинаковыми для обоих типов развертывания. Но если кластер работает в группе доступности, необходимо развертывать LRS для общего диска Azure ценовой категории "Премиум" (Premium_LRS), и если в зоне доступности — ZRS для общего диска Azure ценовой категории "Премиум" (Premium_ZRS).

Примечание.

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

  • Если PPG используется для системы SAP, развернутой в регионе, в нее должны входить все виртуальные машины, которые используют общий диск.
  • Если PPG используется для системы SAP, развернутой в зонах, как описано в документе Группы размещения близкого взаимодействия с зональными развертываниями, вы можете подключить хранилище Premium_ZRS к виртуальным машинам, совместно использующим диск.

Создание внутреннего балансировщика нагрузки Azure

Во время настройки виртуальной машины можно создать или выбрать выход из подсистемы балансировки нагрузки в разделе сети. Для архитектуры ENSA1 в Windows потребуется только один виртуальный IP-адрес для SAP ASCS/SCS. С другой стороны, архитектура ENSA2 требует двух виртуальных IP-адресов — один для SAP ASCS/SCS и другой для ERS2. При настройке стандартной внутренней подсистемы балансировки нагрузки для установки высокого уровня доступности SAP ASCS/SCS в Windows следуйте приведенным ниже рекомендациям.

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

Примечание.

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

Примечание.

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

Совет

С помощью шаблона Azure Resource Manager для WSFC для экземпляра SAP ASCS/SCS с общим диском Azure можно автоматизировать подготовку инфраструктуры, используя общий диск Azure для одного идентификатора безопасности SAP с ERS1.
Шаблон Azure ARM создаст две виртуальные машины Windows 2019 или 2016, создаст общий диск Azure и подключит его к виртуальным машинам. Кроме того, будет создана и настроена внутренняя подсистема балансировки нагрузки Azure. Подробные сведения см. в описании шаблона ARM.

Добавление записей реестра на обоих узлах кластера экземпляра ASCS/SCS

Azure Load Balancer может закрывать соединения при превышении тайм-аута простоя. Рабочие процессы SAP открывают подключения к процессу постановки в очередь SAP при первой же необходимости отправить запрос на постановку в очередь или вывод из очереди. Чтобы эти подключения не прерывались, измените значения параметров KeepAliveTime и KeepAliveInterval протокола TCP/IP в обоих узлах кластера. При использовании ERS1 также необходимо добавить параметры профиля SAP, как описано далее в этой статье. В обоих узлах кластера необходимо изменить следующие записи реестра:

  • KeepAliveTime
  • KeepAliveInterval
Путь Имя переменной Тип переменной Значение Документация
HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters KeepAliveTime REG_DWORD (десятичное) 120000 KeepAliveTime
HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters KeepAliveInterval REG_DWORD (десятичное) 120000 KeepAliveInterval

Чтобы применить изменения, перезапустите оба узла кластера.

Добавление виртуальных машин Windows в домен

После назначения виртуальным машинам статических IP-адресов добавьте эти машины в домен.

Установка и настройка отказоустойчивого кластера Windows

Установите компонент отказоустойчивого кластера Windows.

Выполните в одном из узлов кластера следующую команду:

# Hostnames of the Win cluster for SAP ASCS/SCS
$SAPSID = "PR1"
$ClusterNodes = ("pr1-ascs-10","pr1-ascs-11")
$ClusterName = $SAPSID.ToLower() + "clust"

# Install Windows features.
# After the feature installs, manually reboot both nodes
Invoke-Command $ClusterNodes {Install-WindowsFeature Failover-Clustering, FS-FileServer -IncludeAllSubFeature -IncludeManagementTools }

Когда установка компонента завершится, перезагрузите оба узла кластера.

Тестирование и настройка отказоустойчивого кластера Windows

В Windows 2019 кластер автоматически распознает его работу в Azure и в качестве варианта по умолчанию для IP-адреса управления кластерами использует имя распределенной сети. Поэтому он использует любой из узлов кластера локальные IP-адреса. В результате для кластера не требуется выделенное (виртуальное) имя сети, и не нужно настраивать этот IP-адрес во внутренней подсистеме балансировки нагрузки Azure.

Дополнительные сведения см. в записи блога Windows Server 2019 Failover Clustering New features (Новые возможности отказоустойчивой кластеризации в Windows Server 2019). Выполните в одном из узлов кластера следующую команду:

# Hostnames of the Win cluster for SAP ASCS/SCS
$SAPSID = "PR1"
$ClusterNodes = ("pr1-ascs-10","pr1-ascs-11")
$ClusterName = $SAPSID.ToLower() + "clust"

# IP adress for cluster network name is needed ONLY on Windows Server 2016 cluster
$ClusterStaticIPAddress = "10.0.0.42"

# Test cluster
Test-Cluster –Node $ClusterNodes -Verbose

$ComputerInfo = Get-ComputerInfo

$WindowsVersion = $ComputerInfo.WindowsProductName

if($WindowsVersion -eq "Windows Server 2019 Datacenter"){
    write-host "Configuring Windows Failover Cluster on Windows Server 2019 Datacenter..."
    New-Cluster –Name $ClusterName –Node  $ClusterNodes -Verbose
}elseif($WindowsVersion -eq "Windows Server 2016 Datacenter"){
    write-host "Configuring Windows Failover Cluster on Windows Server 2016 Datacenter..."
    New-Cluster –Name $ClusterName –Node  $ClusterNodes –StaticAddress $ClusterStaticIPAddress -Verbose 
}else{
    Write-Error "Not supported Windows version!"
}

Настройка облачного кворума кластера

При использовании Windows Server 2016 или 2019 рекомендуется настроить облачный следящий компонент Azure в качестве кворума кластера.

Выполните в одном из узлов кластера следующую команду:

$AzureStorageAccountName = "cloudquorumwitness"
Set-ClusterQuorum –CloudWitness –AccountName $AzureStorageAccountName -AccessKey <YourAzureStorageAccessKey> -Verbose

Настройка пороговых значений для отказоустойчивого кластера Windows

После успешной установки отказоустойчивого кластера Windows необходимо настроить ряд пороговых значений с учетом того, что развертывание выполнено в Azure. Параметры, которые необходимо изменить, описаны в записи блога Tuning Failover Cluster Network Thresholds (Настройка пороговых значений сети отказоустойчивого кластера). Предположим, что две виртуальные машины, образующие конфигурацию кластера Windows для ASCS/SCS, находятся в одной подсети. Тогда нужно изменить значения приведенных ниже параметров следующими значениями:

  • SameSubNetDelay = 2000
  • SameSubNetThreshold = 15
  • RouteHistoryLength = 30

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

Настройка общего диска Azure

Этот раздел применим только в том случае, если вы используете общий диск Azure.

Создание и подключение общего диска Azure с помощью PowerShell

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

#############################
# Create Azure Shared Disk
#############################

$ResourceGroupName = "MyResourceGroup"
$location = "MyAzureRegion"
$SAPSID = "PR1"

$DiskSizeInGB = 512
$DiskName = "$($SAPSID)ASCSSharedDisk"

# With parameter '-MaxSharesCount', we define the maximum number of cluster nodes to attach the shared disk
$NumberOfWindowsClusterNodes = 2

# For SAP deployment in availability set, use below storage SkuName
$SkuName = "Premium_LRS"
# For SAP deployment in availability zone, use below storage SkuName
$SkuName = "Premium_ZRS"
   
$diskConfig = New-AzDiskConfig -Location $location -SkuName $SkuName  -CreateOption Empty  -DiskSizeGB $DiskSizeInGB -MaxSharesCount $NumberOfWindowsClusterNodes
$dataDisk = New-AzDisk -ResourceGroupName $ResourceGroupName -DiskName $DiskName -Disk $diskConfig

##################################
## Attach the disk to cluster VMs
##################################
# ASCS Cluster VM1
$ASCSClusterVM1 = "$SAPSID-ascs-10"

# ASCS Cluster VM2
$ASCSClusterVM2 = "$SAPSID-ascs-11"

# Add the Azure Shared Disk to Cluster Node 1
$vm = Get-AzVM -ResourceGroupName $ResourceGroupName -Name $ASCSClusterVM1 
$vm = Add-AzVMDataDisk -VM $vm -Name $DiskName -CreateOption Attach -ManagedDiskId $dataDisk.Id -Lun 0
Update-AzVm -VM $vm -ResourceGroupName $ResourceGroupName -Verbose

# Add the Azure Shared Disk to Cluster Node 2
$vm = Get-AzVM -ResourceGroupName $ResourceGroupName -Name $ASCSClusterVM2
$vm = Add-AzVMDataDisk -VM $vm -Name $DiskName -CreateOption Attach -ManagedDiskId $dataDisk.Id -Lun 0
Update-AzVm -VM $vm -ResourceGroupName $ResourceGroupName -Verbose

Форматирование общего диска с помощью PowerShell

  1. Получите номер диска. Выполните следующие команды PowerShell в одном из узлов кластера:

    Get-Disk | Where-Object PartitionStyle -Eq "RAW"  | Format-Table -AutoSize 
    # Example output
    # Number Friendly Name     Serial Number HealthStatus OperationalStatus Total Size Partition Style
    # ------ -------------     ------------- ------------ ----------------- ---------- ---------------
    # 2      Msft Virtual Disk               Healthy      Online                512 GB RAW            
    
  2. Отформатируйте диск. В этом примере это номер диска 2.

    # Format SAP ASCS Disk number '2', with drive letter 'S'
    $SAPSID = "PR1"
    $DiskNumber = 2
    $DriveLetter = "S"
    $DiskLabel = "$SAPSID" + "SAP"
    
    Get-Disk -Number $DiskNumber | Where-Object PartitionStyle -Eq "RAW" | Initialize-Disk -PartitionStyle GPT -PassThru |  New-Partition -DriveLetter $DriveLetter -UseMaximumSize | Format-Volume  -FileSystem ReFS -NewFileSystemLabel $DiskLabel -Force -Verbose
    # Example outout
    # DriveLetter FileSystemLabel FileSystem DriveType HealthStatus OperationalStatus SizeRemaining      Size
    # ----------- --------------- ---------- --------- ------------ ----------------- -------------      ----
    # S           PR1SAP          ReFS       Fixed     Healthy      OK                    504.98 GB 511.81 GB
    
  3. Убедитесь в том, что диск теперь отображается как диск кластера.

    # List all disks
    Get-ClusterAvailableDisk -All
    # Example output
    # Cluster    : pr1clust
    # Id         : 88ff1d94-0cf1-4c70-89ae-cbbb2826a484
    # Name       : Cluster Disk 1
    # Number     : 2
    # Size       : 549755813888
    # Partitions : {\\?\GLOBALROOT\Device\Harddisk2\Partition2\}
    
  4. Зарегистрируйте диск в кластере.

    # Add the disk to cluster 
    Get-ClusterAvailableDisk -All | Add-ClusterDisk
    # Example output  
    # Name           State  OwnerGroup        ResourceType 
    # ----           -----  ----------        ------------ 
    # Cluster Disk 1 Online Available Storage Physical Disk
    

SiOS DataKeeper Cluster Edition для общего диска кластера SAP ASCS/SCS

Этот раздел применим только при использовании стороннего программного обеспечения SIOS DataKeeper Cluster Edition для создания зеркального хранилища, имитируемого общего диска кластера.

На данный момент у вас имеется рабочая конфигурация отказоустойчивого кластера Windows Server в Azure. Чтобы установить экземпляр SAP ASCS/SCS, требуется общий дисковый ресурс. Один из возможных вариантов — SIOS DataKeeper Cluster Edition, стороннее решение для создания общих дисковых ресурсов.

Установка SIOS DataKeeper Cluster Edition для общего диска кластера SAP ASCS/SCS состоит из следующих заданий:

  • При необходимости добавьте платформу Microsoft .NET Framework. Актуальные требования к платформе .NET Framework см. в документации по SIOS.
  • Установка SIOS DataKeeper
  • Настройка SIOS DataKeeper

Установка SIOS DataKeeper

SIOS DataKeeper Cluster Edition нужно установить на обоих узлах в кластере. Чтобы создать виртуальное общее хранилище с помощью SIOS DataKeeper, создайте синхронизированное зеркало и сымитируйте общее хранилище кластера.

Перед установкой программного обеспечения SIOS необходимо создать пользователя домена DataKeeperSvc.

Примечание.

Добавьте пользователя домена DataKeeperSvc в группу локальных администраторов на обоих узлах кластера.

  1. Установите программное обеспечение SIOS на обоих узлах кластера.

    Установщик SIOS

    Рис. 31. Первая страница установки SIOS DataKeeper

    Первая страница установки SIOS DataKeeper

  2. В диалоговом окне выберите Да.

    Рис. 32. DataKeeper информирует об отключении службы

    Предупреждение DataKeeper об отключении службы

  3. В диалоговом окне мы рекомендуем установить флажок Domain or Server account (Учетная запись домена или сервера).

    Рис. 33. Выбор пользователя для SIOS DataKeeper

    Выбор пользователей для SIOS DataKeeper

  4. Укажите имя учетной записи пользователя домена и пароль, созданные для SIOS DataKeeper.

    Рис. 34. Ввод имени пользователя и пароля для установки SIOS DataKeeper

    Введите имя пользователя домена и пароль для установки SIOS DataKeeper

  5. Установите лицензионный ключ для своего экземпляра SIOS DataKeeper, как показано на рис. 35.

    Рис. 35. Указание ключа лицензии на использование SIOS DataKeeper

    Ввод ключа лицензии на использование SIOS DataKeeper

  6. При появлении запроса перезапустите виртуальную машину.

Настройка SIOS DataKeeper

После установки SIOS DataKeeper на обоих узлах начните настройку параметров. Наша цель — настроить синхронную репликацию данных между дополнительными дисками, подключенными к каждой виртуальной машине.

  1. Запустите инструмент управления и настройки DataKeeper, а затем щелкните Подключение к серверу.

    Рис. 36. Инструмент управления и настройки DataKeeper

    Средство управления и настройки SIOS DataKeeper

  2. Введите имя или TCP/IP-адрес первого узла, к которому должен подключиться инструмент управления и настройки, а на втором шаге — для второго узла.

    Рис. 37. Вставка имени или TCP/IP-адреса первого узла, к которому должен подключиться инструмент управления. На втором шаге — вставка данных для второго узла.

    Ввод имени или TCP/IP-адреса первого узла, к которому должен подключаться инструмент управления и настройки, а также второго узла на втором шаге

  3. Создайте задание репликации между двумя узлами.

    Рис. 38. Создание задания репликации

    Создание задания репликации

    Мастер поможет выполнить эту процедуру.

  4. Определите имя задания репликации.

    Рис. 39. Определение имени задания репликации

    Определение имени задания репликации

    Рис. 40. Определение базовых данных для узла, который должен быть текущим исходным узлом

    Определение базовых данных для узла, который должен быть текущим исходным узлом

  5. Определите имя, TCP/IP-адрес и дисковый том целевого узла.

    Рис. 41. Определение имени, TCP/IP-адреса и дискового тома текущего целевого узла

    Определение имени, TCP/IP-адреса и тома диска текущего целевого узла

  6. Определите алгоритм сжатия. Для наших целей рекомендуется сжатие потока репликации. Сжатие потока репликации значительно сокращает время повторной синхронизации (особенно в случаях повторной синхронизации). Сжатие использует ресурсы ЦП и памяти виртуальной машины. Чем выше степень сжатия, тем больше том используемых ресурсов ЦП. Этот параметр можно будет откорректировать и изменить позже.

  7. Кроме того, нужно проверить параметр, который позволяет включить синхронный или асинхронный режим репликации. Для защиты конфигураций SAP ASCS/SCS требуется синхронная репликация.

    Рис. 42. Определение сведений о репликации

    Определение сведений о репликации

  8. Определите, следует ли том, реплицируемый с помощью задания репликации, представить в конфигурации кластера WSFC как общий диск. Для конфигурации SAP ASCS/SCS выберите Да, чтобы кластер Windows воспринимал реплицируемый том как общий диск, который можно использовать в качестве тома кластера.

    Рис. 43. Чтобы задать реплицируемый том как том кластера, следует нажать кнопку

    Подтверждение согласия на выбор реплицируемого тома в качестве тома кластера

    После создания тома инструмент управления и настройки DataKeeper отобразят задание репликации как активное.

    Рис. 44. Синхронное зеркальное отображение DataKeeper для общего диска SAP ASCS/SCS активно

    Синхронное зеркальное отображение данных для диска общего ресурса SAP ASCS/SCS активно

    Теперь диск отображается в диспетчере отказоустойчивости кластеров как диск DataKeeper, как показано на рис. 45:

    Рис. 45. Реплицируемый диск DataKeeper отображается в диспетчере отказоустойчивости кластеров

    Диспетчер отказоустойчивости кластеров показывает диск, который реплицируется DataKeeper

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