Udostępnij za pośrednictwem


Wysoka dostępność wystąpienia SAP ASCS/SCS z wieloma identyfikatorami SID przy użyciu klastra trybu failover systemu Windows Server i dysku udostępnionego na platformie Azure

System operacyjny Windows Windows

Jeśli masz wdrożenie SAP, musisz użyć wewnętrznego modułu równoważenia obciążenia, aby utworzyć konfigurację klastra systemu Windows dla wystąpień usług SAP Central Services (ASCS/SCS).

Ten artykuł koncentruje się na tym, jak przejść z pojedynczej instalacji ASCS/SCS do konfiguracji systemu SAP z wieloma identyfikatorów SID, instalując dodatkowe klastrowane wystąpienia SAP ASCS/SCS do istniejącego klastra Windows Server Failover Clustering (WSFC) ze współdzielonym dyskiem, przy użyciu SIOS do symulowania współdzielonego dysku. Po zakończeniu tego procesu skonfigurowano klaster z wieloma identyfikatorami SID systemu SAP.

Uwaga

Ta funkcja jest dostępna tylko w modelu wdrażania usługi Azure Resource Manager.

Istnieje limit liczby prywatnych adresów IP front-end dla każdego wewnętrznego modułu równoważenia obciążenia platformy Azure.

Maksymalna liczba wystąpień SAP ASCS/SCS w jednym klastrze WSFC jest równa maksymalnej liczbie prywatnych adresów IP front-end dla każdego wewnętrznego równoważnika obciążenia w Azure.

Aby uzyskać więcej informacji na temat limitów modułu równoważenia obciążenia, zobacz sekcję „Prywatny adres IP frontonu na moduł równoważenia obciążenia” w temacie Limity sieci: Azure Resource Manager.

Uwaga

Do interakcji z platformą Azure zalecamy używanie modułu Azure Az w programie PowerShell. Zobacz Instalowanie programu Azure PowerShell, aby rozpocząć. Aby dowiedzieć się, jak przeprowadzić migrację do modułu Az PowerShell, zobacz Migracja programu Azure PowerShell z modułu AzureRM do modułu Az.

Wymagania wstępne

Skonfigurowano już klaster WSFC do użycia dla jednego wystąpienia SAP ASCS/SCS przy użyciu folderu współdzielonego, jak przedstawiono na tym diagramie.

Instancja SAP ASCS/SCS o wysokiej dostępności

Ważne

Konfiguracja musi spełniać następujące warunki:

  • Instancje SAP ASCS/SCS muszą współużytkować ten sam klaster WSFC.
  • Każdy identyfikator SID systemu zarządzania bazami danych (DBMS) musi mieć swój własny dedykowany klaster systemu WSFC.
  • Serwery aplikacji SAP należące do jednego identyfikatora SID systemu SAP muszą mieć własne dedykowane maszyny wirtualne.
  • Połączenie serwera replikacji Enqueue 1 i serwera replikacji Enqueue 2 w tym samym klastrze nie jest obsługiwane.

Architektura wielu identyfikatorów SID systemu SAP ASCS/SCS z dyskiem udostępnionym

Celem jest zainstalowanie wielu wystąpień klastrowanych SAP ABAP ASCS lub SAP Java SCS w tym samym klastrze WSFC, jak pokazano poniżej.

Wiele instancji klastrowanych SAP ASCS/SCS na platformie Azure

Aby uzyskać więcej informacji na temat limitów modułu równoważenia obciążenia, zobacz sekcję "Prywatny adres IP frontonu na moduł równoważenia obciążenia" w temacie Limity sieci: Azure Resource Manager.

Kompletny układ z dwoma systemami SAP o wysokiej dostępności przedstawia się następująco:

Konfiguracja wielu identyfikatorów SID systemu SAP o wysokiej dostępności z dwoma identyfikatorami SID systemu SAP

Przygotuj infrastrukturę dla scenariusza multi-SID systemu SAP

Aby przygotować infrastrukturę, możesz zainstalować dodatkowe wystąpienie SAP ASCS/SCS z następującymi parametrami.

Nazwa parametru Wartość
SAP ASCS/SCS SID Pr1-lb-ascs
Wewnętrzny moduł równoważenia obciążenia systemu SAP DBMS PR5
Nazwa hosta wirtualnego SAP pr5-sap-cl
Adres IP wirtualnego hosta SAP ASCS/SCS (dodatkowy adres IP modułu równoważenia obciążenia platformy Azure) 10.0.0.50
Numer instancji SAP ASCS/SCS 50
Port sondy ILB dla dodatkowego wystąpienia SAP ASCS/SCS 62350

Uwaga

W przypadku wystąpień klastra SAP ASCS/SCS, dla każdego adresu IP wymagany jest unikatowy port sondy. Jeśli na przykład jeden adres IP w wewnętrznym module równoważenia obciążenia platformy Azure używa portu sondy 62300, żaden inny adres IP tego modułu równoważenia obciążenia nie może używać portu sondy 62300.

Dla naszych celów, ponieważ port sondy 62300 jest już zarezerwowany, używamy portu sondy 62350.

Można zainstalować dodatkowe wystąpienia SAP ASCS/SCS w istniejącym klastrze WSFC, który składa się z dwóch węzłów.

Rola maszyny wirtualnej Nazwa hosta maszyny wirtualnej Statyczny adres IP
Pierwszy węzeł klastra dla wystąpienia ASCS/SCS pr1-ascs-0 10.0.0.10
Drugi węzeł klastra dla instancji ASCS/SCS pr1-ascs-1 10.0.0.9

Tworzenie nazwy hosta wirtualnego dla klastrowanego wystąpienia SAP ASCS/SCS na serwerze DNS

Wpis DNS dla nazwy hosta wirtualnego wystąpienia usługi ASCS/SCS można utworzyć przy użyciu następujących parametrów:

Nowa nazwa hosta wirtualnego SAP ASCS/SCS Skojarzony adres IP
pr5-sap-cl 10.0.0.50

Nowa nazwa hosta i adres IP są wyświetlane w Menedżerze DNS, jak pokazano na poniższym zrzucie ekranu:

Lista Menedżera DNS wyróżniająca zdefiniowaną pozycję DNS dla nowej wirtualnej nazwy klastra SAP ASCS/SCS i adres TCP/IP

Uwaga

Nowy adres IP przypisany do nazwy hosta wirtualnego dodatkowego wystąpienia usługi ASCS/SCS musi być taki sam jak nowy adres IP przypisany do modułu równoważenia obciążenia platformy SAP Azure.

W naszym scenariuszu adres IP to 10.0.0.50.

Dodawanie adresu IP do istniejącego wewnętrznego modułu równoważenia obciążenia platformy Azure przy użyciu programu PowerShell

Aby utworzyć więcej niż jedno wystąpienie SAP ASCS/SCS w tym samym klastrze WSFC, użyj programu PowerShell, aby dodać adres IP do istniejącego wewnętrznego modułu równoważenia obciążenia platformy Azure. Każdy adres IP wymaga własnych reguł równoważenia obciążenia, portu sondy, puli adresów IP przedniego i tylnego.

Poniższy skrypt dodaje nowy adres IP do istniejącego modułu równoważenia obciążenia. Zaktualizuj zmienne programu PowerShell dla środowiska. Skrypt tworzy wszystkie wymagane reguły równoważenia obciążenia dla wszystkich portów SAP ASCS/SCS.


# Select-AzSubscription -SubscriptionId <xxxxxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx>
Clear-Host
$ResourceGroupName = "SAP-MULTI-SID-Landscape"      # Existing resource group name
$VNetName = "pr2-vnet"                        # Existing virtual network name
$SubnetName = "Subnet"                        # Existing subnet name
$ILBName = "pr2-lb-ascs"                      # Existing ILB name                      
$ILBIP = "10.0.0.50"                          # New IP address
$VMNames = "pr2-ascs-0","pr2-ascs-1"          # Existing cluster virtual machine names
$SAPInstanceNumber = 50                       # SAP ASCS/SCS instance number: must be a unique value for each cluster
[int]$ProbePort = "623$SAPInstanceNumber"     # Probe port: must be a unique value for each IP and load balancer

$ILB = Get-AzLoadBalancer -Name $ILBName -ResourceGroupName $ResourceGroupName

$count = $ILB.FrontendIpConfigurations.Count + 1
$FrontEndConfigurationName ="lbFrontendASCS$count"
$LBProbeName = "lbProbeASCS$count"

# Get the Azure virtual network and subnet
$VNet = Get-AzVirtualNetwork -Name $VNetName -ResourceGroupName $ResourceGroupName
$Subnet = Get-AzVirtualNetworkSubnetConfig -VirtualNetwork $VNet -Name $SubnetName

# Add a second front-end and probe configuration
Write-Host "Adding new front end IP Pool '$FrontEndConfigurationName' ..." -ForegroundColor Green
$ILB | Add-AzLoadBalancerFrontendIpConfig -Name $FrontEndConfigurationName -PrivateIpAddress $ILBIP -SubnetId $Subnet.Id
$ILB | Add-AzLoadBalancerProbeConfig -Name $LBProbeName  -Protocol Tcp -Port $Probeport -ProbeCount 2 -IntervalInSeconds 10  | Set-AzLoadBalancer

# Get a new updated configuration
$ILB = Get-AzLoadBalancer -Name $ILBname -ResourceGroupName $ResourceGroupName

# Get an updated LP FrontendIpConfig
$FEConfig = Get-AzLoadBalancerFrontendIpConfig -Name $FrontEndConfigurationName -LoadBalancer $ILB
$HealthProbe  = Get-AzLoadBalancerProbeConfig -Name $LBProbeName -LoadBalancer $ILB

# Add a back-end configuration into an existing ILB
$BackEndConfigurationName  = "backendPoolASCS$count"
Write-Host "Adding new backend Pool '$BackEndConfigurationName' ..." -ForegroundColor Green
$BEConfig = Add-AzLoadBalancerBackendAddressPoolConfig -Name $BackEndConfigurationName -LoadBalancer $ILB | Set-AzLoadBalancer

# Get an updated config
$ILB = Get-AzLoadBalancer -Name $ILBname -ResourceGroupName $ResourceGroupName

# Assign VM NICs to the back-end pool
$BEPool = Get-AzLoadBalancerBackendAddressPoolConfig -Name $BackEndConfigurationName -LoadBalancer $ILB
foreach($VMName in $VMNames){
        $VM = Get-AzVM -ResourceGroupName $ResourceGroupName -Name $VMName
        $NICName = ($VM.NetworkInterfaceIDs[0].Split('/') | select -last 1)        
        $NIC = Get-AzNetworkInterface -name $NICName -ResourceGroupName $ResourceGroupName                
        $NIC.IpConfigurations[0].LoadBalancerBackendAddressPools += $BEPool
        Write-Host "Assigning network card '$NICName' of the '$VMName' VM to the backend pool '$BackEndConfigurationName' ..." -ForegroundColor Green
        Set-AzNetworkInterface -NetworkInterface $NIC
        #start-AzVM -ResourceGroupName $ResourceGroupName -Name $VM.Name
}


# Create load-balancing rules
$Ports = "445","32$SAPInstanceNumber","33$SAPInstanceNumber","36$SAPInstanceNumber","39$SAPInstanceNumber","5985","81$SAPInstanceNumber","5$SAPInstanceNumber`13","5$SAPInstanceNumber`14","5$SAPInstanceNumber`16"
$ILB = Get-AzLoadBalancer -Name $ILBname -ResourceGroupName $ResourceGroupName
$FEConfig = get-AzLoadBalancerFrontendIpConfig -Name $FrontEndConfigurationName -LoadBalancer $ILB
$BEConfig = Get-AzLoadBalancerBackendAddressPoolConfig -Name $BackEndConfigurationName -LoadBalancer $ILB
$HealthProbe  = Get-AzLoadBalancerProbeConfig -Name $LBProbeName -LoadBalancer $ILB

Write-Host "Creating load balancing rules for the ports: '$Ports' ... " -ForegroundColor Green

foreach ($Port in $Ports) {

        $LBConfigrulename = "lbrule$Port" + "_$count"
        Write-Host "Creating load balancing rule '$LBConfigrulename' for the port '$Port' ..." -ForegroundColor Green

        $ILB | Add-AzLoadBalancerRuleConfig -Name $LBConfigRuleName -FrontendIpConfiguration $FEConfig  -BackendAddressPool $BEConfig -Probe $HealthProbe -Protocol tcp -FrontendPort  $Port -BackendPort $Port -IdleTimeoutInMinutes 30 -LoadDistribution Default -EnableFloatingIP   
}

$ILB | Set-AzLoadBalancer

Write-Host "Successfully added new IP '$ILBIP' to the internal load balancer '$ILBName'!" -ForegroundColor Green

Po uruchomieniu skryptu wyniki są wyświetlane w witrynie Azure Portal, jak pokazano na poniższym zrzucie ekranu:

Nowa pula adresów IP frontonu w witrynie Azure Portal

Dodaj dyski do maszyn klastra i skonfiguruj dysk udziału klastra SIOS.

Należy dodać nowy dysk udziału w klastrze dla każdego dodatkowego wystąpienia SAP ASCS/SCS. W systemie Windows Server 2012 R2 obecnie używany dysk współdzielony klastra WSFC to rozwiązanie oprogramowania SIOS DataKeeper.

Należy wykonać następujące czynności:

  1. Dodaj dodatkowy dysk lub dyski o tym samym rozmiarze (który należy rozebrać) do każdego węzła klastra i sformatuj je.
  2. Konfigurowanie replikacji magazynu za pomocą usługi DataKeeper SIOS.

W tej procedurze przyjęto założenie, że na maszynach klastra WSFC zainstalowano już usługę SIOS DataKeeper. Jeśli ją zainstalowano, należy teraz skonfigurować replikację między maszynami. Ten proces został szczegółowo opisany w temacie Install SIOS DataKeeper Cluster Edition for the SAP ASCS/SCS cluster share disk (Instalowanie wersji klastra SIOS DataKeeper dla dysku udziału klastra SAP ASCS/SCS).

Synchroniczne dublowanie usługi DataKeeper dla nowego dysku udziału SAP ASCS/SCS

Wdrażanie maszyn wirtualnych dla serwerów aplikacji SAP i klastra DBMS

Aby ukończyć przygotowanie infrastruktury dla drugiego systemu SAP, wykonaj następujące czynności:

  1. Wdróż dedykowane maszyny wirtualne dla serwerów aplikacji SAP i umieść je we własnej dedykowanej grupie dostępności.
  2. Wdróż dedykowane maszyny wirtualne dla klastra DBMS i umieść je we własnej dedykowanej grupie dostępności.

Zainstaluj system SAP NetWeaver z wieloma identyfikatorami SID

Opis całego procesu instalowania systemu SAP SID2 można znaleźć w Instalacja SAP NetWeaver HA w klastrze przełączania awaryjnego Windows i współdzielonym dysku dla wystąpienia SAP ASCS/SCS.

Procedura wysokiego poziomu jest następująca:

  1. Zainstaluj SAP z instancją ASCS/SCS o wysokiej dostępności.
    W tym kroku instalujesz SAP z wystąpieniem ASCS/SCS o wysokiej dostępności na istniejącym węźle klastra WSFC nr 1.

  2. Zmodyfikuj profil SAP wystąpienia ASCS/SCS.

  3. Konfigurowanie portu sondy.
    W tym kroku konfigurujesz port sondy SAP-SID2-IP zasobu klastra SAP przy użyciu programu PowerShell. Wykonaj tę konfigurację na jednym z węzłów klastra SAP ASCS/SCS.

  4. Zainstaluj wystąpienie bazy danych.
    Aby zainstalować drugi klaster, wykonaj kroki opisane w przewodniku instalacji oprogramowania SAP.

  5. Zainstaluj drugi węzeł klastra.
    W tym kroku instalujesz SAP z instancją ASCS/SCS o wysokiej dostępności na istniejącym węźle klastra WSFC 2. Aby zainstalować drugi klaster, wykonaj kroki opisane w przewodniku instalacji oprogramowania SAP.

  6. Otwórz porty Windows Firewall dla instancji SAP ASCS/SCS i portu sondy.
    W obu węzłach klastra, które są używane dla wystąpień SAP ASCS/SCS, otwierasz wszystkie porty Zapory systemu Windows używane przez system SAP ASCS/SCS. Te porty wystąpień SAP ASCS/SCS są wymienione w rozdziale SAP ASCS / SCS Ports.

    Aby uzyskać listę wszystkich innych portów SAP, zobacz Porty TCP/IP wszystkich produktów SAP.

    Otwórz również port sondy wewnętrznego modułu równoważenia obciążenia w Azure, który w naszym scenariuszu wynosi 62350. Opisano to w tym artykule.

  7. Zainstaluj podstawowy serwer aplikacji SAP na nowej dedykowanej maszynie wirtualnej zgodnie z opisem w przewodniku instalacji oprogramowania SAP.

  8. Zainstaluj dodatkowy serwer aplikacji SAP na nowej dedykowanej maszynie wirtualnej zgodnie z opisem w przewodniku instalacji oprogramowania SAP.

  9. Przetestuj przełączenie awaryjne wystąpienia SAP ASCS/SCS i replikację SIOS.

Następne kroki