This page contains Windows bias

About This Page

This page is part of the Azure documentation. It contains code examples and configuration instructions for working with Azure services.

Bias Analysis

Bias Types:
⚠️ windows_first
⚠️ windows_tools
⚠️ powershell_heavy
⚠️ missing_linux_example
Summary:
The documentation is heavily focused on Windows environments, specifically Windows Server Failover Clustering (WSFC) and related tooling. All examples, scripts, and procedures are Windows-centric, with exclusive use of PowerShell and Windows-specific clustering and storage solutions (e.g., SIOS DataKeeper, DNS Manager, Windows Firewall). There are no Linux equivalents, nor any mention of Linux-based clustering solutions or commands.
Recommendations:
  • Add a parallel section or separate article for SAP ASCS/SCS multi-SID HA on Linux, using Pacemaker/Corosync and native Linux tools.
  • Provide equivalent Linux command-line examples (e.g., using Azure CLI, shell scripts) for infrastructure preparation, load balancer configuration, and cluster setup.
  • Reference Linux-based SAP HA guides and link to SAP documentation for Linux clustering.
  • Clarify early in the article that the procedure is Windows-only, and direct Linux users to appropriate resources.
  • Include a comparison table of Windows and Linux HA approaches for SAP on Azure to help users choose the right path.
GitHub Create pull request

Scan History

Date Scan ID Status Bias Status
2025-09-11 00:00 #108 completed ✅ Clean
2025-08-11 00:00 #77 completed ✅ Clean
2025-08-10 00:00 #76 completed ✅ Clean
2025-08-09 00:00 #75 completed ✅ Clean
2025-08-08 00:00 #74 completed ✅ Clean
2025-08-07 00:00 #73 completed ✅ Clean
2025-08-06 00:00 #72 completed ✅ Clean
2025-08-05 00:00 #71 completed ✅ Clean
2025-08-03 00:00 #69 completed ✅ Clean
2025-08-01 00:00 #67 completed ✅ Clean
2025-07-31 00:00 #66 completed ✅ Clean
2025-07-30 00:00 #65 completed ✅ Clean
2025-07-29 00:01 #64 completed ✅ Clean
2025-07-28 00:00 #63 completed ✅ Clean
2025-07-27 00:00 #62 completed ✅ Clean
2025-07-26 00:01 #61 completed ✅ Clean
2025-07-25 00:00 #60 completed ✅ Clean
2025-07-24 00:00 #59 completed ✅ Clean
2025-07-23 00:00 #58 completed ✅ Clean
2025-07-22 00:01 #57 completed ✅ Clean
2025-07-13 21:37 #48 completed ❌ Biased
2025-07-12 23:44 #41 in_progress ❌ Biased

Flagged Code Snippets

# 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