Przygotowywanie infrastruktury platformy Azure dla oprogramowania SAP HA przy użyciu klastra trybu failover systemu Windows i dysku udostępnionego dla oprogramowania SAP ASCS/SCS
Windows
W tym artykule opisano kroki, które należy wykonać w celu przygotowania infrastruktury platformy Azure do instalowania i konfigurowania wystąpienia SAP ASCS/SCS o wysokiej dostępności w klastrze trybu failover systemu Windows przy użyciu dysku udostępnionego klastra jako opcji klastrowania wystąpienia sap ASCS. W dokumentacji przedstawiono dwie alternatywy dla dysku udostępnionego klastra:
- Dyski udostępnione platformy Azure
- Tworzenie dublowanego magazynu za pomocą klastra SIOS DataKeeper , który symuluje dysk udostępniony klastrowany
Dokumentacja nie obejmuje warstwy bazy danych.
Wymagania wstępne
Przed rozpoczęciem instalacji zapoznaj się z tym artykułem:
Tworzenie maszyn wirtualnych usługi ASCS
W przypadku klastra SAP ASCS/SCS należy wdrożyć dwie maszyny wirtualne w zestawie dostępności platformy Azure lub strefy dostępności platformy Azure na podstawie typu wdrożenia. Po wdrożeniu maszyn wirtualnych:
- Utwórz wewnętrzny moduł równoważenia obciążenia platformy Azure dla wystąpienia SAP ASCS /SCS.
- Dodaj maszyny wirtualne z systemem Windows do domeny usługi AD.
Na podstawie typu wdrożenia nazwy hostów i adresy IP scenariusza będą wyglądać następująco:
Wdrażanie oprogramowania SAP w zestawie dostępności platformy Azure
Rola nazwy hosta | Nazwa hosta | Statyczny adres IP | Zestaw dostępności | Nazwa sku dysku |
---|---|---|---|---|
Pierwszy węzeł klastra ASCS/SCS | pr1-ascs-10 | 10.0.0.4 | pr1-ascs-avset | Premium_LRS |
Drugi węzeł klastra ASCS/SCS | pr1-ascs-11 | 10.0.0.5 | pr1-ascs-avset | |
Nazwa sieci klastra | pr1clust | 10.0.0.42 (tylko w przypadku klastra Win 2016) | nie dotyczy | |
Nazwa sieci klastra USŁUGI ASCS | pr1-ascscl | 10.0.0.43 | nie dotyczy | |
Nazwa sieci klastra ERS (tylko dla ERS2) | pr1-erscl | 10.0.0.44 | nie dotyczy |
Wdrażanie sap w strefach dostępności platformy Azure
Rola nazwy hosta | Nazwa hosta | Statyczny adres IP | Availability zone | Nazwa sku dysku |
---|---|---|---|---|
Pierwszy węzeł klastra ASCS/SCS | pr1-ascs-10 | 10.0.0.4 | AZ01 | Premium_ZRS |
Drugi węzeł klastra ASCS/SCS | pr1-ascs-11 | 10.0.0.5 | AZ02 | |
Nazwa sieci klastra | pr1clust | 10.0.0.42 (tylko w przypadku klastra Win 2016) | nie dotyczy | |
Nazwa sieci klastra USŁUGI ASCS | pr1-ascscl | 10.0.0.43 | nie dotyczy | |
Nazwa sieci klastra ERS (tylko dla ERS2) | pr1-erscl | 10.0.0.44 | nie dotyczy |
Kroki wymienione w dokumencie pozostają takie same dla obu typów wdrożenia. Jeśli jednak klaster jest uruchomiony w zestawie dostępności, musisz wdrożyć magazyn LRS dla udostępnionego dysku usługi Azure Premium (Premium_LRS), a jeśli klaster jest uruchomiony w strefie dostępności, wdróż magazyn ZRS dla udostępnionego dysku azure Premium (Premium_ZRS).
Uwaga
Grupa umieszczania w pobliżu platformy Azure nie jest wymagana dla dysku udostępnionego platformy Azure. Jednak w przypadku wdrażania systemu SAP przy użyciu programu PPG postępuj zgodnie z poniższymi wytycznymi:
- Jeśli używasz ppG dla systemu SAP wdrożonego w regionie, wszystkie maszyny wirtualne współużytkowane dysk muszą być częścią tej samej grupy PPG.
- Jeśli używasz ppG dla systemu SAP wdrożonego w różnych strefach, jak opisano w dokumencie Grupy umieszczania w pobliżu z wdrożeniami strefowymi, możesz dołączyć Premium_ZRS magazynu do maszyn wirtualnych współużytkujących dysk.
Tworzenie wewnętrznego modułu równoważenia obciążenia platformy Azure
Podczas konfigurowania maszyny wirtualnej można utworzyć lub wybrać opcję zamykania modułu równoważenia obciążenia w sekcji sieci. W przypadku architektury ENSA1 w systemie Windows potrzebny jest tylko jeden wirtualny adres IP dla oprogramowania SAP ASCS/SCS. Z drugiej strony architektura ENSA2 wymaga dwóch wirtualnych adresów IP — jeden dla systemu SAP ASCS/SCS, a drugi dla usługi ERS2. Podczas konfigurowania standardowego wewnętrznego modułu równoważenia obciążenia dla konfiguracji wysokiej dostępności oprogramowania SAP ASCS/SCS w systemie Windows postępuj zgodnie z poniższymi wytycznymi.
- Konfiguracja adresu IP frontonu: utwórz adres IP frontonu (na przykład: 10.0.0.43). Wybierz tę samą sieć wirtualną i podsieć co maszyny wirtualne USŁUGI ASCS/ERS.
- Pula zaplecza: utwórz pulę zaplecza i dodaj maszyny wirtualne ASCS i ERS. W tym przykładzie maszyny wirtualne to pr1-ascs-10 i pr1-ascs-11.
- Reguły ruchu przychodzącego: tworzenie reguły równoważenia obciążenia.
- Adres IP frontonu: wybierz adres IP frontonu
- Pula zaplecza: wybierz pulę zaplecza
- Sprawdź "Porty wysokiej dostępności"
- Protokół: TCP
- Sonda kondycji: utwórz sondę kondycji z poniższymi szczegółami
- Protokół: TCP
- Port: [na przykład: 620<Instance-no.> for ASCS]
- Interwał: 5
- Próg sondy: 2
- Limit czasu bezczynności (minuty): 30
- Sprawdź pozycję "Włącz pływający adres IP"
- Dotyczy tylko architektury ENSA2: utwórz dodatkowy adres IP frontonu (10.0.0.44), regułę równoważenia obciążenia (użyj polecenia 621<Instance-no.> dla portu sondy kondycji ERS2), zgodnie z opisem w punkcie 1 i 3.
Uwaga
Właściwość konfiguracji sondy kondycji NumberOfProbes, inaczej znana jako "Próg złej kondycji" w portalu, nie jest uwzględniana. Aby więc kontrolować liczbę pomyślnych lub zakończonych niepowodzeniem kolejnych sond, ustaw właściwość "probeThreshold" na 2. Obecnie nie można ustawić tej właściwości przy użyciu witryny Azure Portal, dlatego użyj polecenia interfejsu wiersza polecenia platformy Azure lub programu PowerShell .
Uwaga
Jeśli maszyny wirtualne bez publicznych adresów IP są umieszczane w puli zaplecza wewnętrznego (bez publicznego adresu IP) standardowego modułu równoważenia obciążenia platformy Azure, nie będzie żadnych wychodzących połączeń internetowych, chyba że wykonasz dodatkową konfigurację, aby umożliwić routing do publicznych punktów końcowych. Aby uzyskać szczegółowe informacje na temat sposobu uzyskiwania łączności wychodzącej, zobacz Publiczna łączność punktu końcowego dla maszyn wirtualnych korzystających z usługi Azure usługa Load Balancer w warstwie Standardowa w scenariuszach wysokiej dostępności oprogramowania SAP.
Napiwek
Korzystając z szablonu usługi Azure Resource Manager dla usługi WSFC dla wystąpienia sap ASCS/SCS z dyskiem udostępnionym platformy Azure, można zautomatyzować przygotowywanie infrastruktury przy użyciu dysku udostępnionego platformy Azure dla jednego identyfikatora SID SAP z ERS1.
Szablon usługi Azure ARM utworzy dwie maszyny wirtualne z systemem Windows 2019 lub 2016, utworzy dysk udostępniony platformy Azure i dołączy do maszyn wirtualnych. Wewnętrzny moduł równoważenia obciążenia platformy Azure zostanie również utworzony i skonfigurowany.
Aby uzyskać szczegółowe informacje, zobacz szablon usługi ARM.
Dodawanie wpisów rejestru w obu węzłach klastra wystąpienia usługi ASCS/SCS
Usługa Azure Load Balancer może zamknąć połączenia, jeśli połączenia są bezczynne przez pewien czas i przekraczają limit czasu bezczynności. Proces roboczy SAP przetwarza otwarte połączenia z procesem kolejkowania SAP natychmiast po wysłaniu pierwszego żądania kolejkowania/dequeue. Aby uniknąć przerwania tych połączeń, zmień wartości TCP/IP KeepAliveTime i KeepAliveInterval w obu węzłach klastra. W przypadku korzystania z usługi ERS1 należy również dodać parametry profilu SAP zgodnie z opisem w dalszej części tego artykułu. W obu węzłach klastra należy zmienić następujące wpisy rejestru:
- KeepAliveTime
- KeepAliveInterval
Ścieżka | Nazwa zmiennej | Typ zmiennej | Wartość | Dokumentacja |
---|---|---|---|---|
HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters | KeepAliveTime | REG_DWORD (dziesiętne) | 120000 | KeepAliveTime |
HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters | KeepAliveInterval | REG_DWORD (dziesiętne) | 120000 | KeepAliveInterval |
Aby zastosować zmiany, uruchom ponownie oba węzły klastra.
Dodawanie maszyn wirtualnych z systemem Windows do domeny
Po przypisaniu statycznych adresów IP do maszyn wirtualnych dodaj maszyny wirtualne do domeny.
Instalowanie i konfigurowanie klastra trybu failover systemu Windows
Instalowanie funkcji klastra trybu failover systemu Windows
Uruchom to polecenie w jednym z węzłów klastra:
# 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 }
Po zakończeniu instalacji funkcji uruchom ponownie oba węzły klastra.
Testowanie i konfigurowanie klastra trybu failover systemu Windows
W systemie Windows 2019 klaster automatycznie rozpozna, że działa na platformie Azure, a jako domyślna opcja dla adresu IP zarządzania klastrem używa nazwy rozproszonej sieci. W związku z tym używa on dowolnego z lokalnych adresów IP węzłów klastra. W związku z tym nie ma potrzeby dedykowanej (wirtualnej) nazwy sieci dla klastra i nie ma potrzeby konfigurowania tego adresu IP w wewnętrznym module równoważenia obciążenia platformy Azure.
Aby uzyskać więcej informacji, zobacz Klaster trybu failover systemu Windows Server 2019 Nowe funkcje Uruchom to polecenie w jednym z węzłów klastra:
# 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!"
}
Konfigurowanie kworum chmury klastra
W przypadku korzystania z systemu Windows Server 2016 lub 2019 zalecamy skonfigurowanie monitora w chmurze platformy Azure jako kworum klastra.
Uruchom to polecenie w jednym z węzłów klastra:
$AzureStorageAccountName = "cloudquorumwitness"
Set-ClusterQuorum –CloudWitness –AccountName $AzureStorageAccountName -AccessKey <YourAzureStorageAccessKey> -Verbose
Dostrajanie progów klastra trybu failover systemu Windows
Po pomyślnym zainstalowaniu klastra trybu failover systemu Windows należy dostosować niektóre progi, aby być odpowiednie dla klastrów wdrożonych na platformie Azure. Parametry, które mają zostać zmienione, są udokumentowane w temacie Dostrajanie progów sieci klastra trybu failover. Zakładając, że dwie maszyny wirtualne tworzące konfigurację klastra systemu Windows dla usługi ASCS/SCS znajdują się w tej samej podsieci, zmień następujące parametry na następujące wartości:
- SameSubNetDelay = 2000
- SameSubNetThreshold = 15
- RouteHistoryLength = 30
Te ustawienia zostały przetestowane z klientami i oferują dobre kompromisy. Są one wystarczająco odporne, ale zapewniają również tryb failover, który jest wystarczająco szybki w przypadku rzeczywistych warunków błędów w obciążeniach SAP lub awarii maszyny wirtualnej.
Konfigurowanie dysku udostępnionego platformy Azure
Ta sekcja ma zastosowanie tylko w przypadku korzystania z dysku udostępnionego platformy Azure.
Tworzenie i dołączanie dysku udostępnionego platformy Azure za pomocą programu PowerShell
Uruchom to polecenie w jednym z węzłów klastra. Musisz dostosować wartości dla grupy zasobów, regionu platformy Azure, identyfikatora SAPSID itd.
#############################
# 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
Formatowanie udostępnionego dysku przy użyciu programu PowerShell
Pobierz numer dysku. Uruchom następujące polecenia programu PowerShell w jednym z węzłów klastra:
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
Sformatuj dysk. W tym przykładzie jest to numer dysku 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
Sprawdź, czy dysk jest teraz widoczny jako dysk klastra.
# 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\}
Zarejestruj dysk w klastrze.
# 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 dla dysku udziału klastra SAP ASCS/SCS
Ta sekcja ma zastosowanie tylko wtedy, gdy używasz oprogramowania SIOS DataKeeper Cluster Edition innej firmy do utworzenia dublowanego magazynu, który symuluje dysk udostępniony klastra.
Teraz masz działającą konfigurację klastra trybu failover systemu Windows Server na platformie Azure. Aby zainstalować wystąpienie sap ASCS/SCS, potrzebny jest zasób dysku udostępnionego. Jedną z opcji jest użycie usługi SIOS DataKeeper Cluster Edition to rozwiązanie innej firmy, którego można użyć do tworzenia zasobów dysku udostępnionego.
Instalowanie wersji klastra SIOS DataKeeper dla dysku udziału klastra SAP ASCS/SCS obejmuje następujące zadania:
- W razie potrzeby dodaj program Microsoft .NET Framework. Zapoznaj się z dokumentacją SIOS, aby uzyskać najbardziej aktualne wymagania dotyczące platformy .NET Framework
- Instalowanie usługi DataKeeper SIOS
- Konfigurowanie usługi DataKeeper SIOS
Instalowanie usługi DataKeeper SIOS
Zainstaluj wersję klastra SIOS DataKeeper w każdym węźle w klastrze. Aby utworzyć wirtualny magazyn udostępniony za pomocą usługi SIOS DataKeeper, utwórz zsynchronizowane dublowanie, a następnie symuluj magazyn udostępniony klastra.
Przed zainstalowaniem oprogramowania SIOS utwórz użytkownika domeny DataKeeperSvc.
Uwaga
Dodaj użytkownika domeny DataKeeperSvc do grupy Administrator lokalny w obu węzłach klastra.
Zainstaluj oprogramowanie SIOS w obu węzłach klastra.
Pierwsza strona instalacji usługi DataKeeper SIOS
W oknie dialogowym wybierz pozycję Tak.
Usługa DataKeeper informuje o wyłączeniu usługi
W oknie dialogowym zalecamy wybranie pozycji Domena lub Konto serwera.
Wybór użytkownika dla usługi DataKeeper SIOS
Wprowadź nazwę użytkownika i hasło konta domeny utworzone dla usługi SIOS DataKeeper.
Wprowadź nazwę użytkownika domeny i hasło instalacji usługi SIOS DataKeeper
Zainstaluj klucz licencji dla wystąpienia usługi DataKeeper SIOS, jak pokazano na rysunku 35.
Wprowadź klucz licencji usługi DataKeeper SIOS
Po wyświetleniu monitu uruchom ponownie maszynę wirtualną.
Konfigurowanie usługi DataKeeper SIOS
Po zainstalowaniu usługi SIOS DataKeeper w obu węzłach uruchom konfigurację. Celem konfiguracji jest posiadanie synchronicznej replikacji danych między dodatkowymi dyskami dołączonymi do każdej maszyny wirtualnej.
Uruchom narzędzie Zarządzanie i konfiguracja usługi DataKeeper, a następnie wybierz pozycję Połącz serwer.
Narzędzie do zarządzania i konfiguracji usługi SIOS DataKeeper
Wprowadź nazwę lub adres TCP/IP pierwszego węzła, z którymi powinno się połączyć narzędzie Zarządzanie i konfiguracja, a w drugim kroku drugi węzeł.
Wstaw nazwę lub adres TCP/IP pierwszego węzła, z którymi powinno nawiązać połączenie narzędzie Zarządzanie i konfiguracja, a w drugim kroku drugi węzeł
Utwórz zadanie replikacji między dwoma węzłami.
Tworzenie zadania replikacji
Kreator przeprowadzi Cię przez proces tworzenia zadania replikacji.
Zdefiniuj nazwę zadania replikacji.
Definiowanie nazwy zadania replikacji
Zdefiniuj dane podstawowe dla węzła, który powinien być bieżącym węzłem źródłowym
Zdefiniuj nazwę, adres TCP/IP i wolumin dysku węzła docelowego.
Definiowanie nazwy, adresu TCP/IP i woluminu dysku bieżącego węzła docelowego
Zdefiniuj algorytmy kompresji. W naszym przykładzie zalecamy kompresowanie strumienia replikacji. Szczególnie w sytuacjach ponownej synchronizacji kompresja strumienia replikacji znacznie zmniejsza czas ponownej synchronizacji. Kompresja używa zasobów procesora CPU i pamięci RAM maszyny wirtualnej. W miarę zwiększania szybkości kompresji ilość używanych zasobów procesora CPU. To ustawienie można dostosować później.
Innym ustawieniem, które należy sprawdzić, jest to, czy replikacja odbywa się asynchronicznie, czy synchronicznie. W przypadku ochrony konfiguracji sap ASCS/SCS należy użyć replikacji synchronicznej.
Definiowanie szczegółów replikacji
Określ, czy wolumin replikowany przez zadanie replikacji powinien być reprezentowany w konfiguracji klastra trybu failover systemu Windows Server jako dysku udostępnionego. W przypadku konfiguracji sap ASCS/SCS wybierz pozycję Tak , aby klaster systemu Windows widział replikowany wolumin jako dysk udostępniony, którego może używać jako woluminu klastra.
Wybierz pozycję Tak , aby ustawić replikowany wolumin jako wolumin klastra
Po utworzeniu woluminu narzędzie DataKeeper Management and Configuration pokazuje, że zadanie replikacji jest aktywne.
Synchroniczne dublowanie usługi DataKeeper dla dysku udziału SAP ASCS/SCS jest aktywne
Menedżer klastra trybu failover pokazuje teraz dysk jako dysk usługi DataKeeper, jak pokazano na rysunku 45:
Menedżer klastra trybu failover pokazuje dysk replikowany przez usługę DataKeeper