Windows yük devretme kümesine SAP NetWeaver HA yükleme ve Azure'da SAP ASCS/SCS örneği için paylaşılan disk
Bu makalede, SAP ASCS/SCS örneğini kümeleme için Windows Server yük devretme kümesi ve küme paylaşılan diski kullanarak Azure'da yüksek kullanılabilirlik sap sisteminin nasıl yükleneceği ve yapılandırıldığı açıklanır. Mimari kılavuzunda açıklandığı gibi: Küme paylaşılan diski kullanarak Windows yük devretme kümesinde SAP ASCS/SCS örneğini kümeleyin, küme paylaşılan diski için iki alternatif vardır:
- Azure paylaşılan diskleri
- Kümelenmiş paylaşılan disk simülasyonu yapacak yansıtılmış depolama oluşturmak için SIOS DataKeeper Cluster Edition kullanma
Önkoşullar
Yüklemeye başlamadan önce şu belgeleri gözden geçirin:
Bu makalede DBMS kurulumu açıklanmaktadır çünkü kurulumlar kullandığınız DBMS sistemine bağlı olarak değişiklik gösterir. DBMS ile ilgili yüksek kullanılabilirlik sorunlarının farklı DBMS satıcılarının Azure için desteklediği işlevlerle giderildiğini varsayıyoruz. Sql Server için Always On veya veritabanı yansıtma ve Oracle veritabanları için Oracle Data Guard örnek olarak verilebilir. DBMS için yüksek kullanılabilirlik senaryoları bu makalede ele alınmamıştır.
Farklı DBMS hizmetleri Azure'da kümelenmiş bir SAP ASCS veya SCS yapılandırmasıyla etkileşime geçtiğinde dikkat edilmesi gereken özel bir nokta yoktur.
Not
SAP NetWeaver ABAP sistemleri, Java sistemleri ve ABAP+Java sistemlerinin yükleme yordamları neredeyse aynıdır. En önemli fark, SAP ABAP sisteminin bir ASCS örneğine sahip olmasıdır. SAP Java sisteminde bir SCS örneği vardır. SAP ABAP+Java sisteminde aynı Microsoft yük devretme kümesi grubunda çalışan bir ASCS örneği ve bir SCS örneği vardır. Her SAP NetWeaver yükleme yığını için tüm yükleme farkları açıkça belirtilir. Kalan adımların aynı olduğunu varsayabilirsiniz.
SAP'yi yüksek kullanılabilirlikli bir ASCS/SCS örneğiyle yükleme
Önemli
Paylaşılan diski sunmak için SIOS kullanıyorsanız, sayfa dosyanızı SIOS DataKeeper yansıtılmış birimlerine yerleştirmeyin. Sayfa dosyanızı varsayılan olan azure sanal makinesinin geçici D sürücüsünde bırakabilirsiniz. Henüz orada değilse, Windows sayfa dosyasını Azure sanal makinenizin D sürücüsüne taşıyın.
SAP'yi yüksek kullanılabilirlikli bir ASCS/SCS örneğiyle yüklemek şu görevleri içerir:
- Kümelenmiş SAP ASCS/SCS örneği için bir sanal konak adı oluşturun.
- SAP'yi ilk küme düğümüne yükleyin.
- ASCS/SCS örneğinin SAP profilini değiştirin.
- Yoklama bağlantı noktası ekleyin.
- Windows güvenlik duvarı yoklaması bağlantı noktasını açın.
Kümelenmiş SAP ASCS/SCS örneği için sanal konak adı oluşturma
Windows DNS yöneticisinde ASCS/SCS örneğinin sanal ana bilgisayar adı için bir DNS girdisi oluşturun.
Önemli
ASCS/SCS örneğinin sanal ana bilgisayar adına atadığınız IP adresi, Azure Load Balancer'a atadığınız IP adresiyle aynı olmalıdır.
SAP ASCS/SCS kümesi sanal adı ve TCP/IP adresi için DNS girdisini tanımlama
Aynı zamanda kümelenmiş örnek olan yeni SAP Enqueue Çoğaltma Sunucusu 2'yi kullanıyorsanız, DNS'de de ERS2 için bir sanal ana bilgisayar adı ayırmanız gerekir.
Önemli
ERS2 örneğinin sanal ana bilgisayar adına atadığınız IP adresi, Azure Load Balancer'a atadığınız ikinci IP adresi olmalıdır.
SAP ERS2 kümesi sanal adı ve TCP/IP adresi için DNS girdisini tanımlama
Sanal ana bilgisayar adına atanan IP adresini tanımlamak için DNS Yöneticisi>Etki Alanı'nı seçin.
SAP ASCS/SCS küme yapılandırması için yeni sanal ad ve TCP/IP adresi
SAP ilk küme düğümünü yükleme
A küme düğümünde ilk küme düğümü seçeneğini yürütür. Aşağıdakileri seçin:
- ABAP sistemi: ASCS örnek numarası 00
- Java sistemi: SCS örnek numarası 01
- ABAP+Java sistemi: ASCS örnek numarası 00 ve SCS örnek numarası 01
Önemli
Azure iç yük dengeleyici yük dengeleme kurallarındaki yapılandırmanın (Temel SKU kullanılıyorsa) ve seçili SAP örnek numaralarının eşleşmesi gerektiğini unutmayın.
SAP tarafından açıklanan yükleme yordamını izleyin. "İlk Küme Düğümü" yüklemesini başlat seçeneğinde yapılandırma seçeneği olarak "Küme Paylaşılan Diski" seçeneğini belirlediğinizden emin olun.
İpucu
SAP yükleme belgelerinde ilk ASCS/SCS küme düğümünü yükleme işlemi açıklanmaktadır.
ASCS/SCS örneğinin SAP profilini değiştirme
Enqueue Çoğaltma Sunucusu 1'iniz varsa, aşağıda açıklandığı gibi SAP profil parametresini enque/encni/set_so_keepalive
ekleyin. Profil parametresi, SAP iş işlemleri ile sıra sunucusu arasındaki bağlantıların çok uzun süre boşta kaldığında kapanmasını engeller. SAP parametresi ERS2 için gerekli değildir.
ERS1 kullanıyorsanız bu profil parametresini SAP ASCS/SCS örnek profiline ekleyin.
enque/encni/set_so_keepalive = true
Hem ERS1 hem de ERS2 için işletim sistemi parametrelerinin
keepalive
SAP not 1410736'de açıklandığı gibi ayarlandığından emin olun.SAP profili parametre değişikliklerini uygulamak için SAP ASCS/SCS örneğini yeniden başlatın.
Yoklama bağlantı noktası ekleme
Küme yapılandırmasının tamamının Azure Load Balancer ile çalışmasını sağlamak için iç yük dengeleyicinin yoklama işlevini kullanın. Azure iç yük dengeleyicisi genellikle gelen iş yükünü katılan sanal makineler arasında eşit olarak dağıtır.
Ancak, yalnızca bir örnek etkin olduğundan bu bazı küme yapılandırmalarında çalışmaz. Diğer örnek pasiftir ve iş yükünden hiçbirini kabullenemez. Yoklama işlevi, Azure iç yük dengeleyici hangi örneğin etkin olduğunu algıladığında ve yalnızca etkin örneği hedeflediğinde yardımcı olur.
Önemli
Bu örnek yapılandırmada ProbePort 620Nr olarak ayarlanmıştır. 00 numaralı SAP ASCS örneği için 620 00'dir. Yapılandırmayı SAP örnek numaralarınızla VE SAP SID'nizle eşleşecek şekilde ayarlamanız gerekir.
Yoklama bağlantı noktası eklemek için bu PowerShell Modülünü küme VM'lerinden birinde çalıştırın:
SAP ASC/SCS Örneği söz konusu olduğunda
Set-AzureLoadBalancerHealthCheckProbePortOnSAPClusterIPResource -SAPSID SID -ProbePort 62000
Kümelenmiş ERS2 kullanılıyorsa. Kümelenmediğinden ERS1 için yoklama bağlantı noktasını yapılandırmaya gerek yoktur.
Set-AzureLoadBalancerHealthCheckProbePortOnSAPClusterIPResource -SAPSID SID -ProbePort 62001 -IsSAPERSClusteredInstance $True
İşlevin Set-AzureLoadBalancerHealthCheckProbePortOnSAPClusterIPResource
kodu şöyle görünür:
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 {}
}
Windows güvenlik duvarı yoklama bağlantı noktasını açma
Her iki küme düğümünde de bir Windows güvenlik duvarı yoklaması bağlantı noktası açın. Windows güvenlik duvarı yoklaması bağlantı noktasını açmak için aşağıdaki betiği kullanın. Ortamınız için PowerShell değişkenlerini güncelleştirin.
ERS2 kullanıyorsanız, ERS2 yoklama bağlantı noktası için güvenlik duvarı bağlantı noktasını da açmanız gerekir.
$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
Veritabanı örneğini yükleme
Veritabanı örneğini yüklemek için SAP yükleme belgelerinde açıklanan işlemi izleyin.
İkinci küme düğümünü yükleme
İkinci kümeyi yüklemek için SAP yükleme kılavuzunda açıklanan adımları izleyin.
SAP Birincil Uygulama Sunucusu'nu yükleme
PAS'yi barındırmak için belirlemiş olduğunuz sanal makineye Birincil Uygulama Sunucusu (PAS) örneği <SID-di-0'ı> yükleyin. Azure'da bağımlılık yoktur. SIOS kullanıyorsanız DataKeeper'a özgü ayar yoktur.
SAP Ek Uygulama Sunucusu'nu yükleme
SAP Application Server örneğini barındırmak için belirlemiş olduğunuz tüm sanal makinelere bir SAP Ek Uygulama Sunucusu (AAS) yükleyin.
SAP ASCS/SCS örneği yük devretmesini test edin
Ana hatlarıyla açıklanan yük devretme testleri için SAP ASCS'nin A düğümünde etkin olduğunu varsayıyoruz.
SAP sisteminin A düğümünden B düğümüne başarıyla yük devretme gerçekleştirebildiğini doğrulayın SAP SID> küme grubunun A düğümünden küme düğümü B'ye yük devretmesini <başlatmak için bu seçeneklerden birini belirleyin:
- Yük Devretme Kümelemesi Anketi
- Yük Devretme Kümesi PowerShell
$SAPSID = "PR1" # SAP <SID> $SAPClusterGroup = "SAP $SAPSID" Move-ClusterGroup -Name $SAPClusterGroup
Windows konuk işletim sistemindeki A küme düğümünü yeniden başlatın. Bu, SAP <SID> küme grubunun A düğümünden B düğümüne otomatik yük devretmesini başlatır.
Azure portalından A küme düğümünü yeniden başlatın. Bu, SAP <SID> küme grubunun A düğümünden B düğümüne otomatik yük devretmesini başlatır.
Azure PowerShell kullanarak A küme düğümünü yeniden başlatın. Bu, SAP <SID> küme grubunun A düğümünden B düğümüne otomatik yük devretmesini başlatır.
Doğrulama
Yük devretme işleminden sonra SAP <SID> küme grubunun B küme düğümünde çalıştığını doğrulayın.
Yük Devretme Kümesi Yöneticisi'nde SAP <SID> küme grubu B küme düğümünde çalışıyor
Yük devretme sonrasında, paylaşılan diskin B küme düğümüne bağlandığını doğrulayın.
Yük devretmeden sonra, SIOS kullanıyorsanız SIOS DataKeeper'ın verileri küme düğümü B'de kaynak birim sürücüsü S'den A küme düğümündeki S birim sürücüsünü hedeflemek için çoğalttığını doğrulayın.
SIOS DataKeeper yerel birimi küme düğümü B'den A küme düğümüne çoğaltır