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
⚠️ missing_linux_example
⚠️ windows_tools
⚠️ powershell_heavy
Summary:
The documentation is heavily focused on Windows, specifically Windows Server Failover Clustering (WSFC) and Scale-Out File Server (SOFS) on Azure. All examples, scripts, and screenshots are for Windows environments, with extensive use of PowerShell and Windows-native tools. There are no Linux equivalents, alternative approaches, or even references to Linux-based high availability solutions for SAP ASCS/SCS multi-SID scenarios. The documentation assumes a Windows-only context throughout.
Recommendations:
  • Add a section or parallel documentation for configuring SAP ASCS/SCS multi-SID high availability on Linux, using Pacemaker/Corosync or other supported Linux clustering solutions.
  • Provide Linux shell script examples for file share and permission setup, analogous to the PowerShell scripts shown for Windows.
  • Include diagrams and screenshots for Linux-based clusters, not just Windows Failover Cluster Manager.
  • Reference Linux-specific Azure resources (e.g., NFS on Azure Files, Linux VM clustering guides) where appropriate.
  • Clarify in the introduction that the guide is Windows-specific, and link to Linux-focused documentation if available.
GitHub Create pull request

Scan History

Date Scan ID Status Bias Status
2025-09-16 00:00 #113 completed ✅ Clean
2025-09-15 00:00 #112 completed ✅ Clean
2025-09-14 00:00 #111 completed ✅ Clean
2025-09-13 00:00 #110 completed ✅ Clean
2025-09-12 00:00 #109 completed ✅ Clean
2025-09-11 00:00 #108 completed ✅ Clean
2025-08-22 00:01 #88 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

# Create SOFS with SAP Global Host Name 2 $SAPGlobalHostName = "sapglobal2" Add-ClusterScaleOutFileServerRole -Name $SAPGlobalHostName
New-Volume -StoragePoolFriendlyName S2D* -FriendlyName SAPPR2 -FileSystem CSVFS_ReFS -Size 5GB -ResiliencySettingName Mirror
################## # SAP multi-SID ################## $SAPSID2 = "PR2" $DomainName2 = "SAPCLUSTER" $SAPSIDGlobalAdminGroupName2 = "$DomainName2\SAP_" + $SAPSID2 + "_GlobalAdmin" # SAP ASCS/SCS cluster nodes $ASCSCluster2Node1 = "ja1-ascs-0" $ASCSCluster2Node2 = "ja1-ascs-1" # Define the SAP ASCS/SCS cluster node computer objects $ASCSCluster2ObjectNode1 = "$DomainName2\$ASCSCluster2Node1$" $ASCSCluster2ObjectNode2 = "$DomainName2\$ASCSCluster2Node2$" # Create usr\sap\.. folders on CSV $SAPGlobalFolder2 = "C:\ClusterStorage\Volume1\usr\sap\$SAPSID2\SYS" New-Item -Path $SAPGlobalFolder2 -ItemType Directory # Add permissions for the SAP SID2 system Grant-SmbShareAccess -Name sapmnt -AccountName $SAPSIDGlobalAdminGroupName2, $ASCSCluster2ObjectNode1, $ASCSCluster2ObjectNode2 -AccessRight Full -Force $UsrSAPFolder = "C:\ClusterStorage\Volume1\usr\sap\" # Set file and folder security $Acl = Get-Acl $UsrSAPFolder # Add the security object of the SAP_<sid>_GlobalAdmin group $Ar = New-Object system.security.accesscontrol.filesystemaccessrule($SAPSIDGlobalAdminGroupName2,"FullControl", 'ContainerInherit,ObjectInherit', 'None', 'Allow') $Acl.SetAccessRule($Ar) # Add the security object of the clusternode1$ computer object $Ar = New-Object system.security.accesscontrol.filesystemaccessrule($ASCSCluster2ObjectNode1,"FullControl",'ContainerInherit,ObjectInherit', 'None', 'Allow') $Acl.SetAccessRule($Ar) # Add the security object of the clusternode2$ computer object $Ar = New-Object system.security.accesscontrol.filesystemaccessrule($ASCSCluster2ObjectNode2,"FullControl",'ContainerInherit,ObjectInherit', 'None', 'Allow') $Acl.SetAccessRule($Ar) # Set security Set-Acl $UsrSAPFolder $Acl -Verbose
# Create a folder for <SID2> on a second Volume2 and set file security $SAPSID = "PR2" $DomainName = "SAPCLUSTER" $SAPSIDGlobalAdminGroupName = "$DomainName\SAP_" + $SAPSID + "_GlobalAdmin" # SAP ASCS/SCS cluster nodes $ASCSClusterNode1 = "ascs-1" $ASCSClusterNode2 = "ascs-2" # Define SAP ASCS/SCS cluster node computer objects $ASCSClusterObjectNode1 = "$DomainName\$ASCSClusterNode1$" $ASCSClusterObjectNode2 = "$DomainName\$ASCSClusterNode2$" # Create usr\sap\.. folders on CSV $SAPGlobalFolder = "C:\ClusterStorage\Volume2\usr\sap\$SAPSID\SYS" New-Item -Path $SAPGlobalFOlder -ItemType Directory $UsrSAPFolder = "C:\ClusterStorage\Volume2\usr\sap\" # Set file and folder security $Acl = Get-Acl $UsrSAPFolder # Add the file security object of the SAP_<sid>_GlobalAdmin group $Ar = New-Object system.security.accesscontrol.filesystemaccessrule($SAPSIDGlobalAdminGroupName,"FullControl", 'ContainerInherit,ObjectInherit', 'None', 'Allow') $Acl.SetAccessRule($Ar) # Add the security object of the clusternode1$ computer object $Ar = New-Object system.security.accesscontrol.filesystemaccessrule($ASCSClusterObjectNode1,"FullControl",'ContainerInherit,ObjectInherit', 'None', 'Allow') $Acl.SetAccessRule($Ar) # Add the security object of the clusternode2$ computer object $Ar = New-Object system.security.accesscontrol.filesystemaccessrule($ASCSClusterObjectNode2,"FullControl",'ContainerInherit,ObjectInherit', 'None', 'Allow') $Acl.SetAccessRule($Ar) # Set security Set-Acl $UsrSAPFolder $Acl -Verbose