Megosztás a következőn keresztül:


Az SAP NetWeaver HA telepítése windowsos feladatátvevő fürtre és megosztott lemezre egy SAP ASCS/SCS-példányhoz az Azure-ban

Ez a cikk azt ismerteti, hogyan telepíthet és konfigurálhat magas rendelkezésre állású SAP-rendszert az Azure-ban egy Windows Server feladatátvevő fürt és fürt megosztott lemez használatával sap ASCS/SCS-példány fürtözéséhez. Az architektúra útmutatója szerint: Sap ASCS/SCS-példány fürtözése windowsos feladatátvevő fürtön megosztott fürt használatával, a fürt megosztott lemezének két alternatívája van:

Előfeltételek

A telepítés megkezdése előtt tekintse át az alábbi dokumentumokat:

Ebben a cikkben nem ismertetjük a DBMS beállítását, mert a beállítások a használt DBMS-rendszertől függően változnak. Feltételezzük, hogy a DBMS-sel kapcsolatos magas rendelkezésre állással kapcsolatos problémákat a különböző DBMS-gyártók által az Azure-hoz támogatott funkciókkal kezelik. Ilyenek például az Sql Server és az Oracle Data Guard Always On vagy adatbázis-tükrözése oracle-adatbázisokhoz. A dbMS magas rendelkezésre állási forgatókönyveit ez a cikk nem ismerteti.

Nincs különös tekintettel arra, hogy a különböző DBMS-szolgáltatások az Azure-ban fürtözött SAP ASCS- vagy SCS-konfigurációval működnek együtt.

Megjegyzés:

Az SAP NetWeaver ABAP-rendszerek, a Java-rendszerek és az ABAP+Java rendszerek telepítési eljárásai szinte azonosak. A legfontosabb különbség az, hogy egy SAP ABAP-rendszer egy ASCS-példánysal rendelkezik. Az SAP Java-rendszer egy SCS-példányt is rendelkezik. Az SAP ABAP+Java rendszer egy ASCS-példányt és egy SCS-példányt futtat ugyanabban a Microsoft feladatátvevő fürtcsoportban. Az egyes SAP NetWeaver-telepítési vermek telepítési különbségei kifejezetten megemlítésre kerülnek. Feltételezheti, hogy a többi lépés ugyanaz.

Az SAP telepítése magas rendelkezésre állású ASCS/SCS-példánnyal

Fontos

Ha SIOS-t használ a megosztott lemez bemutatásához, ne helyezze a lapfájlt a tükrözött SIOS DataKeeper kötetekre. A lapfájlt egy Azure-beli virtuális gép ideiglenes D meghajtóján hagyhatja, amely az alapértelmezett. Ha még nincs meg, helyezze át a Windows lapfájlt az Azure-beli virtuális gép D meghajtójára.

Az SAP magas rendelkezésre állású ASCS/SCS-példánysal való telepítése a következő feladatokat foglalja magában:

  • Hozzon létre egy virtuális gazdagépnevet a fürtözött SAP ASCS/SCS-példányhoz.
  • Telepítse az SAP-t az első fürtcsomópontra.
  • Módosítsa az ASCS/SCS-példány SAP-profilját.
  • Adjon hozzá egy mintavételi portot.
  • Nyissa meg a Windows tűzfal mintavételi portot.

Virtuális gazdagépnév létrehozása a fürtözött SAP ASCS/SCS-példányhoz

  1. A Windows DNS-kezelőben hozzon létre egy DNS-bejegyzést az ASCS/SCS-példány virtuális gazdagépének nevéhez.

    Fontos

    Az ASCS/SCS-példány virtuális gazdagép nevéhez hozzárendelt IP-címnek meg kell egyeznie az Azure Load Balancerhez rendelt IP-címmel.

    Figure 1: Define the DNS entry for the SAP ASCS/SCS cluster virtual name and TCP/IP address

    Adja meg az SAP ASCS/SCS-fürt virtuális nevének és TCP/IP-címének DNS-bejegyzését

  2. Ha az új SAP Enqueue Replikációs Kiszolgáló 2-t használja, amely szintén fürtözött példány, akkor a DNS-ben egy virtuális gazdagépnevet is meg kell adnia az ERS2-nek.

    Fontos

    Az ERS2-példány virtuális gazdagépnevéhez hozzárendelt IP-címnek a másodiknak kell lennie az Azure Load Balancerhez rendelt IP-címnek.

    Figure 1A: Define the DNS entry for the SAP ASCS/SCS cluster virtual name and TCP/IP address

    Az SAP ERS2-fürt virtuális nevének és TCP/IP-címének DNS-bejegyzésének meghatározása

  3. A virtuális gazdagép nevéhez rendelt IP-cím meghatározásához válassza a DNS Manager-tartományt>.

    Figure 2: New virtual name and TCP/IP address for SAP ASCS/SCS cluster configuration

    Új virtuális név és TCP/IP-cím az SAP ASCS/SCS-fürtkonfigurációhoz

Az SAP első fürtcsomópontjának telepítése

  1. Hajtsa végre az első fürtcsomópontot az A fürtcsomóponton. Válassza a következőt:

    • ABAP-rendszer: ASCS-példányszám00
    • Java-rendszer: SCS-példányszám01
    • ABAP+Java rendszer: ASCS-példányszám 00 és SCS-példányszám01

    Fontos

    Ne feledje, hogy az Azure belső terheléselosztó terheléselosztási szabályainak (alapszintű termékváltozat használata esetén) és a kiválasztott SAP-példányszámoknak egyeznie kell.

  2. Kövesse az SAP által leírt telepítési eljárást. Győződjön meg arról, hogy az "Első fürtcsomópont" telepítési beállításnál konfigurációs beállításként a "Fürt megosztott lemeze" lehetőséget választja.

Tipp.

Az SAP telepítési dokumentációja leírja, hogyan telepíthető az első ASCS/SCS fürtcsomópont.

Az ASCS/SCS-példány SAP-profiljának módosítása

Ha enqueue replikációs kiszolgáló 1-gyel rendelkezik, adja hozzá az SAP-profil paraméterét enque/encni/set_so_keepalive az alábbiak szerint. A profilparaméter megakadályozza, hogy az SAP-munkafolyamatok és az enqueue-kiszolgáló közötti kapcsolatok túl sokáig tétlenek legyenek. Az SAP paraméter nem szükséges az ERS2-hez.

  1. Adja hozzá ezt a profilparamétert az SAP ASCS/SCS-példányprofilhoz, ha ERS1-et használ.

    enque/encni/set_so_keepalive = true
    

    Az ERS1 és az ERS2 esetében is győződjön meg arról, hogy az keepalive operációsrendszer-paraméterek az SAP megjegyzésében 1410736 leírtak szerint vannak beállítva.

  2. Az SAP-profil paraméterváltozásainak alkalmazásához indítsa újra az SAP ASCS/SCS-példányt.

Mintavételi port hozzáadása

A belső terheléselosztó mintavételi funkciójával a teljes fürtkonfiguráció működjön az Azure Load Balancerrel. Az Azure belső terheléselosztója általában egyenlően osztja el a bejövő számítási feladatokat a résztvevő virtuális gépek között.

Ez azonban bizonyos fürtkonfigurációkban nem működik, mert csak egy példány aktív. A másik példány passzív, és egyik számítási feladatot sem tudja elfogadni. A mintavételi funkció segít, ha az Azure belső terheléselosztója észleli, hogy melyik példány aktív, és csak az aktív példányt célozza meg.

Fontos

Ebben a példakonfigurációban a ProbePort értéke 620Nr. A 00-as számú SAP ASCS-példány esetében ez 620 00. A konfigurációt úgy kell módosítania, hogy megfeleljen az SAP-példányszámnak és az SAP SID-nek.

Mintavételi port hozzáadásához futtassa ezt a PowerShell-modult az egyik fürt virtuális gépen:

  • SAP ASC/SCS-példány esetén

    Set-AzureLoadBalancerHealthCheckProbePortOnSAPClusterIPResource -SAPSID SID -ProbePort 62000
    
  • Ha ERS2-t használ, amely fürtözött. Nincs szükség az ERS1 mintavételi portjának konfigurálására, mivel nincs fürtözve.

    Set-AzureLoadBalancerHealthCheckProbePortOnSAPClusterIPResource -SAPSID SID -ProbePort 62001 -IsSAPERSClusteredInstance $True
    

A függvény Set-AzureLoadBalancerHealthCheckProbePortOnSAPClusterIPResource kódja a következőképpen néz ki:

 function Set-AzureLoadBalancerHealthCheckProbePortOnSAPClusterIPResource {

 <#
 .SYNOPSIS 
 Set-AzureLoadBalancerHealthProbePortOnSAPClusterIPResource will set a new Azure Load Balancer Health Probe Port on 'SAP $SAPSID IP' cluster resource.

 .DESCRIPTION
 Set-AzureLoadBalancerHealthProbePortOnSAPClusterIPResource will set a new Azure Load Balancer Health Probe Port on 'SAP $SAPSID IP' cluster resource.
 It will also restart SAP Cluster group (default behavior), to activate the changes. 

 You need to run it on one of the SAP ASCS/SCS Windows cluster nodes.

 Expectation is that SAP group is installed with official SWPM installation tool, which will set default expected naming convention for:
 - SAP Cluster Group:               'SAP $SAPSID'
 - SAP Cluster IP Address Resource: 'SAP $SAPSID IP' 

 .PARAMETER SAPSID 
 SAP SID - 3 characters staring with letter.

 .PARAMETER ProbePort 
 Azure Load Balancer Health Check Probe Port.

 .PARAMETER RestartSAPClusterGroup 
 Optional parameter. Default value is '$True', so SAP cluster group will be restarted to activate the changes.

 .PARAMETER IsSAPERSClusteredInstance 
 Optional parameter.Default value is '$False'.
 If set to $True , then handle clsutered new SAP ERS2 instance.

 .EXAMPLE 
 # Set probe port to 62000, on SAP cluster resource 'SAP AB1 IP', and restart the SAP cluster group 'SAP AB1', to activate the changes.
 Set-AzureLoadBalancerHealthCheckProbePortOnSAPClusterIPResource -SAPSID AB1 -ProbePort 62000 

 .EXAMPLE 
 # Set probe port to 62000, on SAP cluster resource 'SAP AB1 IP'. SAP cluster group 'SAP AB1' IS NOT restarted, therefore changes are NOT active.
 # To activate the changes you need to manualy restart 'SAP AB1' cluster group.
 Set-AzureLoadBalancerHealthCheckProbePortOnSAPClusterIPResource -SAPSID AB1 -ProbePort 62000 -RestartSAPClusterGroup $False

 .EXAMPLE 
 # Set probe port to 62001, on SAP cluster resource 'SAP AB1 ERS IP'. SAP cluster group 'SAP AB1 ERS' IS restarted, to activate the changes.
 Set-AzureLoadBalancerHealthCheckProbePortOnSAPClusterIPResource -SAPSID AB1 -ProbePort 62000 -IsSAPERSClusteredInstance $True

 #> 

     [CmdletBinding()]
     param(

         [Parameter(Mandatory=$True)]
         [ValidateNotNullOrEmpty()]  
         [ValidateLength(3,3)]      
         [string]$SAPSID,

         [Parameter(Mandatory=$True)]
         [ValidateNotNullOrEmpty()]        
         [int] $ProbePort,

         [Parameter(Mandatory=$False)] 
         [bool] $RestartSAPClusterGroup = $True,

         [Parameter(Mandatory=$False)] 
         [bool] $IsSAPERSClusteredInstance = $False
     )

     BEGIN{}

     PROCESS{
         try{                                      

             if($IsSAPERSClusteredInstance){
                 #Handle clustered SAP ERS Instance
                 $SAPClusterRoleName = "SAP $SAPSID ERS"
                 $SAPIPresourceName = "SAP $SAPSID ERS IP"            
             }else{
                 #Handle clustered SAP ASCS/SCS Instance
                 $SAPClusterRoleName = "SAP $SAPSID"
                 $SAPIPresourceName = "SAP $SAPSID IP"
             }

             $SAPIPResourceClusterParameters =  Get-ClusterResource $SAPIPresourceName | Get-ClusterParameter
             $IPAddress = ($SAPIPResourceClusterParameters | Where-Object {$_.Name -eq "Address" }).Value
             $NetworkName = ($SAPIPResourceClusterParameters | Where-Object {$_.Name -eq "Network" }).Value
             $SubnetMask = ($SAPIPResourceClusterParameters | Where-Object {$_.Name -eq "SubnetMask" }).Value
             $OverrideAddressMatch = ($SAPIPResourceClusterParameters | Where-Object {$_.Name -eq "OverrideAddressMatch" }).Value
             $EnableDhcp = ($SAPIPResourceClusterParameters | Where-Object {$_.Name -eq "EnableDhcp" }).Value
             $OldProbePort = ($SAPIPResourceClusterParameters | Where-Object {$_.Name -eq "ProbePort" }).Value

             $var = Get-ClusterResource | Where-Object {  $_.name -eq $SAPIPresourceName  }
             Write-Output "Current configuration parameters for SAP IP cluster resource '$SAPIPresourceName' are:" 

             Get-ClusterResource -Name $SAPIPresourceName | Get-ClusterParameter

             Write-Output " "
             Write-Output "Current probe port property of the SAP cluster resource '$SAPIPresourceName' is '$OldProbePort'." 
             Write-Output " "
             Write-Output "Setting the new probe port property of the SAP cluster resource '$SAPIPresourceName' to '$ProbePort' ..." 
             Write-Output " "

             $var | Set-ClusterParameter -Multiple @{"Address"=$IPAddress;"ProbePort"=$ProbePort;"Subnetmask"=$SubnetMask;"Network"=$NetworkName;"OverrideAddressMatch"=$OverrideAddressMatch;"EnableDhcp"=$EnableDhcp}

             Write-Output " "

             if($RestartSAPClusterGroup){
                 Write-Output ""
                 Write-Output "Activating changes..." 

                 Write-Output " "
                 Write-Output "Taking SAP cluster IP resource '$SAPIPresourceName' offline ..."
                 Stop-ClusterResource -Name $SAPIPresourceName
                 sleep 5

                 Write-Output "Starting SAP cluster role '$SAPClusterRoleName' ..."
                 Start-ClusterGroup -Name $SAPClusterRoleName

                 Write-Output "New ProbePort parameter is active." 
                 Write-Output " "

                 Write-Output "New configuration parameters for SAP IP cluster resource '$SAPIPresourceName':" 
                 Write-Output " " 
                 Get-ClusterResource -Name $SAPIPresourceName | Get-ClusterParameter
             }else
             {
                 Write-Output "SAP cluster role '$SAPClusterRoleName' is not restarted, therefore changes are not activated."
             }
         }
         catch{
            Write-Error  $_.Exception.Message
        }
     }
     END {}
 }

A Windows tűzfal mintavételi portjának megnyitása

Nyisson meg egy Windows tűzfal mintavételi portot mindkét fürtcsomóponton. A windowsos tűzfal mintavételi portjának megnyitásához használja az alábbi szkriptet. Frissítse a környezet PowerShell-változóit.
ERS2 használata esetén az ERS2 mintavételi port tűzfalportjának is meg kell nyitnia.

  $ProbePort = 62000   # ProbePort of the Azure internal load balancer
  New-NetFirewallRule -Name AzureProbePort -DisplayName "Rule for Azure Probe Port" -Direction Inbound -Action Allow -Protocol TCP -LocalPort $ProbePort

Az adatbázispéldány telepítése

Az adatbázispéldány telepítéséhez kövesse az SAP telepítési dokumentációjában leírt folyamatot.

A második fürtcsomópont telepítése

A második fürt telepítéséhez kövesse az SAP telepítési útmutatójában leírt lépéseket.

Az SAP Elsődleges alkalmazáskiszolgáló telepítése

Telepítse az elsődleges alkalmazáskiszolgáló (PAS) SID-di-0> példányát <arra a virtuális gépre, amelyet a PAS üzemeltetésére kijelölt. Nincsenek függőségek az Azure-ban. Ha SIOS-t használ, nincsenek DataKeeper-specifikus beállítások.

Az SAP további alkalmazáskiszolgálójának telepítése

Telepítsen egy SAP-kiegészítő alkalmazáskiszolgálót (AAS) az összes olyan virtuális gépre, amelyet egy SAP Application Server-példány üzemeltetésére kijelölt.

Az SAP ASCS/SCS-példány feladatátvételének tesztelése

A felvázolt feladatátvételi tesztek esetében feltételezzük, hogy az SAP ASCS aktív az A csomóponton.

  1. Ellenőrizze, hogy az SAP-rendszer sikeresen át tudja-e adni a feladatátvételt az A csomópontról a B csomópontra Az alábbi lehetőségek közül választva kezdeményezheti az SAP <SID-fürtcsoport> feladatátvételét az A fürtcsomópontról a B fürtcsomópontra:

    • Feladatátvevőfürt-kezelő
    • Feladatátvevő fürt PowerShell-lel
    $SAPSID = "PR1"     # SAP <SID>
    
    $SAPClusterGroup = "SAP $SAPSID"
    Move-ClusterGroup -Name $SAPClusterGroup
    
    
  2. Indítsa újra az A fürtcsomópontot a Windows vendég operációs rendszerében. Ez elindítja az SAP <SID-fürtcsoport> automatikus feladatátvételét az A csomópontról a B csomópontra.

  3. Indítsa újra az A fürtcsomópontot az Azure Portalról. Ez elindítja az SAP <SID-fürtcsoport> automatikus feladatátvételét az A csomópontról a B csomópontra.

  4. Indítsa újra az A fürtcsomópontot az Azure PowerShell használatával. Ez elindítja az SAP <SID-fürtcsoport> automatikus feladatátvételét az A csomópontról a B csomópontra.

  5. Ellenőrzés

    • A feladatátvétel után ellenőrizze, hogy az SAP <SID-fürtcsoport> fut-e a B fürtcsomóponton.

      Figure 8: In Failover Cluster Manager, the SAP <SID> cluster group is running on cluster node B

      A Feladatátvevőfürt-kezelőben az SAP <SID-fürtcsoport> a B fürtcsomóponton fut

    • A feladatátvétel után ellenőrizze, hogy a megosztott lemez csatlakoztatva van-e a B fürtcsomóponthoz.

    • A feladatátvétel után, ha SIOS-t használ, ellenőrizze, hogy az SIOS DataKeeper a B fürtcsomópont S forráskötet-meghajtójáról replikálja-e az adatokat az A fürtcsomópont S kötetmeghajtójának célhelyeként.

      Figure 9: SIOS DataKeeper replicates the local volume from cluster node B to cluster node A

      Az SIOS DataKeeper replikálja a helyi kötetet a B fürtcsomópontról az A fürtcsomópontra