Подготовка инфраструктуры Azure для SAP высокого уровня доступности с помощью отказоустойчивого кластера Windows и общего диска для SAP ASCS/SC
Windows
В этой статье описаны действия по подготовке инфраструктуры Azure к установке и настройке экземпляра SAP ASCS/SCS высокого уровня доступности в отказоустойчивом кластере Windows с использованием общего диска кластера для кластеризации экземпляра SAP ASCS. В документации описываются два варианта общего диска кластера:
- Общие диски Azure
- Использование SIOS DataKeeper Cluster Edition для создания зеркального хранилища, которое имитирует кластеризованный общий диск
Уровень базы данных в документации не рассматривается.
Необходимые компоненты
Перед началом установки ознакомьтесь со следующей статьей:
Создание виртуальной машины 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 следуйте приведенным ниже рекомендациям.
- Конфигурация внешнего IP-адреса: создание внешнего IP-адреса (например, 10.0.0.43). Выберите ту же виртуальную сеть и подсеть, что и виртуальные машины ASCS/ERS.
- Внутренний пул: создание внутреннего пула и добавление виртуальных машин ASCS и ERS. В этом примере виртуальные машины : pr1-ascs-10 и pr1-ascs-11.
- Правила для входящего трафика: создание правила балансировки нагрузки.
- Внешний IP-адрес: выбор внешнего IP-адреса
- Серверный пул: выбор внутреннего пула
- Проверьте "Порты высокой доступности"
- Протокол: TCP
- Проба работоспособности: создание пробы работоспособности со следующими сведениями
- Протокол: TCP
- Порт: [например: 620<экземпляров нет.> для ASCS]
- Интервал: 5
- Пороговое значение пробы: 2
- Время ожидания простоя (минуты): 30
- Установите флажок "Включить плавающий IP-адрес"
- Применимо только к архитектуре 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 address 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
Получите номер диска. Выполните следующие команды 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.
# 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 output # DriveLetter FileSystemLabel FileSystem DriveType HealthStatus OperationalStatus SizeRemaining Size # ----------- --------------- ---------- --------- ------------ ----------------- ------------- ---- # S PR1SAP ReFS Fixed Healthy OK 504.98 GB 511.81 GB
Убедитесь в том, что диск теперь отображается как диск кластера.
# 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\}
Зарегистрируйте диск в кластере.
# 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 в группу локальных администраторов на обоих узлах кластера.
Установите программное обеспечение SIOS на обоих узлах кластера.
Первая страница установки SIOS DataKeeper
В диалоговом окне выберите Да.
Предупреждение DataKeeper об отключении службы
В диалоговом окне мы рекомендуем установить флажок Domain or Server account (Учетная запись домена или сервера).
Выбор пользователей для SIOS DataKeeper
Укажите имя учетной записи пользователя домена и пароль, созданные для SIOS DataKeeper.
Введите имя пользователя домена и пароль для установки SIOS DataKeeper
Установите лицензионный ключ для своего экземпляра SIOS DataKeeper, как показано на рис. 35.
Ввод ключа лицензии на использование SIOS DataKeeper
При появлении запроса перезапустите виртуальную машину.
Настройка SIOS DataKeeper
После установки SIOS DataKeeper на обоих узлах начните настройку параметров. Наша цель — настроить синхронную репликацию данных между дополнительными дисками, подключенными к каждой виртуальной машине.
Запустите инструмент управления и настройки DataKeeper, а затем щелкните Подключение к серверу.
Средство управления и настройки SIOS DataKeeper
Введите имя или TCP/IP-адрес первого узла, к которому должен подключиться инструмент управления и настройки, а на втором шаге — для второго узла.
Ввод имени или TCP/IP-адреса первого узла, к которому должен подключаться инструмент управления и настройки, а также второго узла на втором шаге
Создайте задание репликации между двумя узлами.
Создание задания репликации
Мастер поможет выполнить эту процедуру.
Определите имя задания репликации.
Определение имени задания репликации
Определение базовых данных для узла, который должен быть текущим исходным узлом
Определите имя, TCP/IP-адрес и дисковый том целевого узла.
Определение имени, TCP/IP-адреса и тома диска текущего целевого узла
Определите алгоритм сжатия. Для наших целей рекомендуется сжатие потока репликации. Сжатие потока репликации значительно сокращает время повторной синхронизации (особенно в случаях повторной синхронизации). Сжатие использует ресурсы ЦП и памяти виртуальной машины. Чем выше степень сжатия, тем больше том используемых ресурсов ЦП. Этот параметр можно будет откорректировать и изменить позже.
Кроме того, нужно проверить параметр, который позволяет включить синхронный или асинхронный режим репликации. Для защиты конфигураций SAP ASCS/SCS требуется синхронная репликация.
Определение сведений о репликации
Определите, следует ли том, реплицируемый с помощью задания репликации, представить в конфигурации кластера WSFC как общий диск. Для конфигурации SAP ASCS/SCS выберите Да, чтобы кластер Windows воспринимал реплицируемый том как общий диск, который можно использовать в качестве тома кластера.
Подтверждение согласия на выбор реплицируемого тома в качестве тома кластера
После создания тома инструмент управления и настройки DataKeeper отобразят задание репликации как активное.
Синхронное зеркальное отображение данных для диска общего ресурса SAP ASCS/SCS активно
Теперь диск отображается в диспетчере отказоустойчивости кластеров как диск DataKeeper, как показано на рис. 45:
Диспетчер отказоустойчивости кластеров показывает диск, который реплицируется DataKeeper