Skip to content

Commit 849d8d5

Browse files
authored
Merge pull request #77148 from rdeltcheva/swpm-sofs
swpm sofs changes
2 parents 9a81dc3 + 63ea728 commit 849d8d5

File tree

1 file changed

+27
-272
lines changed

1 file changed

+27
-272
lines changed

articles/virtual-machines/workloads/sap/sap-high-availability-installation-wsfc-file-share.md

Lines changed: 27 additions & 272 deletions
Original file line numberDiff line numberDiff line change
@@ -53,6 +53,7 @@ ms.custom: H1Hack27Feb2017
5353
[sap-high-availability-architecture-scenarios]:sap-high-availability-architecture-scenarios.md
5454
[sap-high-availability-guide-wsfc-shared-disk]:sap-high-availability-guide-wsfc-shared-disk.md
5555
[sap-high-availability-guide-wsfc-file-share]:sap-high-availability-guide-wsfc-file-share.md
56+
[high-availability-guide]:high-availability-guide.md
5657
[sap-ascs-high-availability-multi-sid-wsfc]:sap-ascs-high-availability-multi-sid-wsfc.md
5758
[sap-high-availability-infrastructure-wsfc-shared-disk]:sap-high-availability-infrastructure-wsfc-shared-disk.md
5859
[sap-high-availability-infrastructure-wsfc-file-share]:sap-high-availability-infrastructure-wsfc-file-share.md
@@ -204,11 +205,16 @@ Before you start the installation, review the following articles:
204205

205206
* [Prepare Azure infrastructure SAP high availability by using a Windows failover cluster and file share for SAP ASCS/SCS instances][sap-high-availability-infrastructure-wsfc-file-share]
206207

208+
* [High availability for SAP NetWeaver on Azure VMs][high-availability-guide]
209+
207210
You need the following executables and DLLs from SAP:
208-
* SAP Software Provisioning Manager (SWPM) installation tool version SPS21 or later.
209-
* Download the latest NTCLUST.SAR archive with new SAP cluster resource DLL. The new SAP cluster DLLs support SAP ASCS/SCS high availability with file share on Windows Server Failover Cluster.
211+
* SAP Software Provisioning Manager (SWPM) installation tool version SPS25 or later.
212+
* SAP Kernel 7.49 or later
213+
214+
> [!IMPORTANT]
215+
> Clustering SAP ASCS/SCS instances by using a file share is supported for SAP NetWeaver 7.40 (and later), with SAP Kernel 7.49 (and later).
216+
>
210217
211-
For more information about the new SAP cluster resource DLL, see this blog: [New SAP cluster resource DLL is available!][sap-blog-new-sap-cluster-resource-dll].
212218

213219
We do not describe the Database Management System (DBMS) setup because setups vary depending on the DBMS you use. However, we assume that high-availability concerns with the DBMS are addressed with the functionalities that various DBMS vendors support for Azure. Such functionalities include AlwaysOn or database mirroring for SQL Server, and Oracle Data Guard for Oracle databases. In the scenario we use in this article, we didn't add more protection to the DBMS.
214220

@@ -219,58 +225,6 @@ There are no special considerations when various DBMS services interact with thi
219225
>
220226
>
221227
222-
## Install an ASCS/SCS instance on an ASCS/SCS cluster
223-
224-
> [!IMPORTANT]
225-
>
226-
> Currently, a high-availability setting with a file share configuration is not supported by the SAP SWPM installation tool. Therefore, some manual adoption is necessary to install an SAP system (for example, to install and cluster an SAP ASCS/SCS instance and configure a separate SAP global host).
227-
>
228-
> There is no change in other installation steps to install (and cluster) a DBMS instance and SAP application servers.
229-
>
230-
231-
### Install an ASCS/SCS instance on your local drive
232-
233-
Install an SAP ASCS/SCS instance on *both* nodes of the ASCS/SCS cluster. Install it on local drive. In our example, the local drive is C:\\, but you can choose any other local drive.
234-
235-
To install the instance, in the SAP SWPM installation tool, go to:
236-
237-
**\<Product>** > **\<DBMS>** > **Installation** > **Application Server ABAP** (or **Java**) > **Distributed System** > **ASCS/SCS instance**
238-
239-
> [!IMPORTANT]
240-
> Currently, the file-share scenario is not supported by the SAP SWPM installation tool. You *cannot use* the following installation path:
241-
>
242-
> **\<Product>** > **\<DBMS>** > **Installation** > **Application Server ABAP** (or **Java**) > **High-Availability System** > …
243-
>
244-
245-
### Remove SAPMNT and create an SAPLOC file share
246-
247-
SWMP created an SAPMNT local share in the C:\\usr\\sap folder.
248-
249-
Remove the SAPMNT file share on *both* ASCS/SCS cluster nodes.
250-
251-
Execute the following PowerShell script:
252-
253-
```powershell
254-
Remove-SmbShare sapmnt -ScopeName * -Force
255-
```
256-
257-
If the SAPLOC share does not exist, create one on *both* ASCS/SCS cluster nodes.
258-
259-
Execute the following PowerShell script:
260-
261-
```powershell
262-
#Create SAPLOC share and set security
263-
$SAPSID = "PR1"
264-
$DomainName = "SAPCLUSTER"
265-
$SAPSIDGlobalAdminGroupName = "$DomainName\SAP_" + $SAPSID + "_GlobalAdmin"
266-
$HostName = $env:computername
267-
$SAPLocalAdminGroupName = "$HostName\SAP_LocalAdmin"
268-
$SAPDisk = "C:"
269-
$SAPusrSapPath = "$SAPDisk\usr\sap"
270-
271-
New-SmbShare -Name saploc -Path c:\usr\sap -FullAccess "BUILTIN\Administrators", $SAPSIDGlobalAdminGroupName , $SAPLocalAdminGroupName
272-
```
273-
274228
## Prepare an SAP global host on the SOFS cluster
275229

276230
Create the following volume and file share on the SOFS cluster:
@@ -306,24 +260,20 @@ $ASCSClusterObjectNode1 = "$DomainName\$ASCSClusterNode1$"
306260
$ASCSClusterObjectNode2 = "$DomainName\$ASCSClusterNode2$"
307261
308262
# Create usr\sap\.. folders on CSV
309-
$SAPGlobalFolder = "C:\ClusterStorage\Volume1\usr\sap\$SAPSID\SYS"
263+
$SAPGlobalFolder = "C:\ClusterStorage\SAP$SAPSID\usr\sap\$SAPSID\SYS"
310264
New-Item -Path $SAPGlobalFOlder -ItemType Directory
311265
312-
$UsrSAPFolder = "C:\ClusterStorage\Volume1\usr\sap\"
266+
$UsrSAPFolder = "C:\ClusterStorage\SAP$SAPSID\usr\sap\"
313267
314268
# Create a SAPMNT file share and set share security
315-
New-SmbShare -Name sapmnt -Path $UsrSAPFolder -FullAccess "BUILTIN\Administrators", $SAPSIDGlobalAdminGroupName, $ASCSClusterObjectNode1, $ASCSClusterObjectNode2 -ContinuouslyAvailable $false -CachingMode None -Verbose
269+
New-SmbShare -Name sapmnt -Path $UsrSAPFolder -FullAccess "BUILTIN\Administrators", $ASCSClusterObjectNode1, $ASCSClusterObjectNode2 -ContinuouslyAvailable $false -CachingMode None -Verbose
316270
317271
# Get SAPMNT file share security settings
318272
Get-SmbShareAccess sapmnt
319273
320274
# Set file and folder security
321275
$Acl = Get-Acl $UsrSAPFolder
322276
323-
# Add a file security object of SAP_<sid>_GlobalAdmin group
324-
$Ar = New-Object system.security.accesscontrol.filesystemaccessrule($SAPSIDGlobalAdminGroupName,"FullControl", 'ContainerInherit,ObjectInherit', 'None', 'Allow')
325-
$Acl.SetAccessRule($Ar)
326-
327277
# Add a security object of the clusternode1$ computer object
328278
$Ar = New-Object system.security.accesscontrol.filesystemaccessrule($ASCSClusterObjectNode1,"FullControl",'ContainerInherit,ObjectInherit', 'None', 'Allow')
329279
$Acl.SetAccessRule($Ar)
@@ -335,239 +285,44 @@ $Acl.SetAccessRule($Ar)
335285
# Set security
336286
Set-Acl $UsrSAPFolder $Acl -Verbose
337287
```
338-
## Stop ASCS/SCS instances and SAP services
339288

340-
Execute the following steps:
341-
1. Stop SAP ASCS/SCS instances on both ASCS/SCS cluster nodes.
342-
2. Stop SAP ASCS/SCS Windows services **SAP\<SID>_\<InstanceNumber>** on both cluster nodes.
343-
344-
## Move the \SYS\... folder to the SOFS cluster
345-
346-
Execute the following steps:
347-
1. Copy the SYS folder (for example, `C:\usr\sap\<SID>\SYS`) from one of the ASCS/SCS cluster nodes to the SOFS cluster (for example, to `C:\ClusterStorage\Volume1\usr\sap\<SID>\SYS`).
348-
2. Delete the `C:\usr\sap\<SID>\SYS` folder from both ASCS/SCS cluster nodes.
349-
350-
## Update the cluster security setting on the SAP ASCS/SCS cluster
289+
## Create a virtual host name for the clustered SAP ASCS/SCS instance
351290

352-
Execute the following PowerShell script on one of the SAP ASCS/SCS cluster nodes:
291+
Create an SAP ASCS/SCS cluster network name (for example, **pr1-ascs [10.0.6.7]**), as described in [Create a virtual host name for the clustered SAP ASCS/SCS instance][sap-high-availability-installation-wsfc-shared-disk-create-ascs-virt-host].
353292

354-
```powershell
355-
# Grant <DOMAIN>\SAP_<SID>_GlobalAdmin group access to the cluster
356293

357-
$SAPSID = "PR1"
358-
$DomainName = "SAPCLUSTER"
359-
$SAPSIDGlobalAdminGroupName = "$DomainName\SAP_" + $SAPSID + "_GlobalAdmin"
294+
## Install an ASCS/SCS and ERS instances in the cluster
360295

361-
# Set full access for the <DOMAIN>\SAP_<SID>_GlobalAdmin group
362-
Grant-ClusterAccess -User $SAPSIDGlobalAdminGroupName -Full
296+
### Install an ASCS/SCS instance on the first ASCS/SCS cluster node
363297

364-
#Check security settings
365-
Get-ClusterAccess
366-
```
298+
Install an SAP ASCS/SCS instance on the first cluster node. To install the instance, in the SAP SWPM installation tool, go to:
367299

368-
## Create a virtual host name for the clustered SAP ASCS/SCS instance
300+
**\<Product>** > **\<DBMS>** > **Installation** > **Application Server ABAP** (or **Java**) > **High-Availability System** > **ASCS/SCS instance** > **First cluster node**.
369301

370-
Create an SAP ASCS/SCS cluster network name (for example, **pr1-ascs [10.0.6.7]**), as described in [Create a virtual host name for the clustered SAP ASCS/SCS instance][sap-high-availability-installation-wsfc-shared-disk-create-ascs-virt-host].
302+
### Add a probe port
371303

372-
## Update the default and SAP ASCS/SCS instance profile
373-
374-
To use the new SAP ASCS/SCS virtual host name and SAP global host name, you must update the default and SAP ASCS/SCS instance profile \<SID>_ASCS/SCS\<Nr>_\<Host>.
304+
Configure an SAP cluster resource, the SAP-SID-IP probe port, by using PowerShell. Execute this configuration on one of the SAP ASCS/SCS cluster nodes, as described [in this article][sap-high-availability-installation-wsfc-shared-disk-add-probe-port].
375305

306+
### Install an ASCS/SCS instance on the second ASCS/SCS cluster node
376307

377-
| Old values | |
378-
| --- | --- |
379-
| SAP ASCS/SCS host name = SAP global host | ascs-1 |
380-
| SAP ASCS/SCS instance profile name | PR1_ASCS00_ascs-1 |
308+
Install an SAP ASCS/SCS instance on the second cluster node. To install the instance, in the SAP SWPM installation tool, go to:
381309

382-
| New values | |
383-
| --- | --- |
384-
| SAP ASCS/SCS host name | **pr1-ascs** |
385-
| SAP global host | **sapglobal** |
386-
| SAP ASCS/SCS instance profile name | PR1\_ASCS00\_**pr1-ascs** |
310+
**\<Product>** > **\<DBMS>** > **Installation** > **Application Server ABAP** (or **Java**) > **High-Availability System** > **ASCS/SCS instance** > **Additional cluster node**.
387311

388-
### Update SAP default profile
389312

313+
## Update the SAP ASCS/SCS instance profile
390314

391-
| Parameter name | Parameter value |
392-
| --- | --- |
393-
| SAPGLOBALHOST | **sapglobal** |
394-
| rdisp/mshost | **pr1-ascs** |
395-
| enque/serverhost | **pr1-ascs** |
315+
Update parameters in the SAP ASCS/SCS instance profile \<SID>_ASCS/SCS\<Nr>_\<Host>.
396316

397-
### Update the SAP ASCS/SCS instance profile
398317

399318
| Parameter name | Parameter value |
400319
| --- | --- |
401-
| SAPGLOBALHOST | **sapglobal** |
402-
| DIR_PROFILE | \\\sapglobal\sapmnt\PR1\SYS\profile |
403-
| _PF | $(DIR_PROFILE)\PR1\_ASCS00_ pr1-ascs |
404-
| Restart_Program_02 = local$(_MS) pf=$(_PF) | **Start**_Program_02 = local$(_MS) pf=$(_PF) |
405-
| SAPLOCALHOST | **pr1-ascs** |
406-
| Restart_Program_03 = local$(_EN) pf=$(_PF) | **Start**_Program_03 = local$(_EN) pf=$(_PF) |
407320
| gw/netstat_once | **0** |
408321
| enque/encni/set_so_keepalive | **true** |
409322
| service/ha_check_node | **1** |
410323

411-
> [!IMPORTANT]
412-
>You can use the **Update-SAPASCSSCSProfile** PowerShell cmdlet to automate the profile update.
413-
>
414-
>The PowerShell cmdlet supports both the SAP ABAP ASCS and SAP Java SCS instances.
415-
>
416-
417-
Copy [**SAPScripts.psm1**][sap-powershell-scrips] to your local drive C:\tmp, and run the following PowerShell cmdlet:
418-
419-
```powershell
420-
Import-Module C:\tmp\SAPScripts.psm1
421-
422-
Update-SAPASCSSCSProfile -PathToAscsScsInstanceProfile \\sapglobal\sapmnt\PR1\SYS\profile\PR1_ASCS00_ascs-1 -NewASCSHostName pr1-ascs -NewSAPGlobalHostName sapglobal -Verbose
423-
```
424-
425-
![Figure 1: SAPScripts.psm1 output][sap-ha-guide-figure-8012]
426-
427-
_**Figure 1**: SAPScripts.psm1 output_
428-
429-
## Update the \<sid>adm user environment variable
430-
431-
1. Update the \<sid>adm user environment new GLOBALHOST UNC path on *both* ASCS/SCS cluster nodes.
432-
2. Log on as \<sid>adm user, and then start the Regedit.exe tool.
433-
3. Go to **HKEY_CURRENT_USER** > **Environment**, and then update the variables to the new value:
434-
435-
| Variable | Value |
436-
| --- | --- |
437-
| RSEC_SSFS_DATAPATH | \\\\**sapglobal**\sapmnt\PR1\SYS\global\security\rsecssfs\data |
438-
| RSEC_SSFS_KEYPATH | \\\\**sapglobal**\sapmnt\PR1\SYS\global\security\rsecssfs\key |
439-
| SAPEXE | \\\\**sapglobal**\sapmnt\PR1\SYS\exe\uc\NTAMD64 |
440-
| SAPLOCALHOST | **pr1-ascs** |
441-
442-
443-
## Install a new saprc.dll file
444-
445-
1. Install a new version of the SAP cluster resource that supports the file-share scenario.
446-
447-
2. Download the latest NTCLUST.SAR package from the SAP Service Marketplace.
448-
449-
3. Unpack NTCLUS.SAR on one of the ASCS/SCS cluster nodes, and then run the following command from the command prompt to install the new saprc.dll file:
450-
451-
```
452-
.\NTCLUST\insaprct.exe -yes -install
453-
```
454-
455-
The new saprc.dll file is installed on both ASCS/SCS cluster nodes.
456-
457-
For more information, see [SAP Note 1596496 - How to update SAP resource type DLLs for Cluster Resource Monitor][1596496].
458-
459-
## Create a SAP \<SID> cluster group, network name, and IP
460-
461-
To create a SAP \<SID> cluster group, an ASCS/SCS network name, and a corresponding IP address, run the following PowerShell cmdlet:
462-
463-
```powershell
464-
# Create SAP Cluster Group
465-
$SAPSID = "PR1"
466-
$SAPClusterGroupName = "SAP $SAPSID"
467-
$SAPIPClusterResourceName = "SAP $SAPSID IP"
468-
$SAPASCSNetworkName = "pr1-ascs"
469-
$SAPASCSIPAddress = "10.0.6.7"
470-
$SAPASCSSubnetMask = "255.255.255.0"
471-
472-
# Create an SAP ASCS instance virtual IP cluster resource
473-
Add-ClusterGroup -Name $SAPClusterGroupName -Verbose
474-
475-
#Create an SAP ASCS virtual IP address
476-
$SAPIPClusterResource = Add-ClusterResource -Name $SAPIPClusterResourceName -ResourceType "IP Address" -Group $SAPClusterGroupName -Verbose
477-
478-
# Set a static IP address
479-
$param1 = New-Object Microsoft.FailoverClusters.PowerShell.ClusterParameter $SAPIPClusterResource,Address,$SAPASCSIPAddress
480-
$param2 = New-Object Microsoft.FailoverClusters.PowerShell.ClusterParameter $SAPIPClusterResource,SubnetMask,$SAPASCSSubnetMask
481-
$params = $param1,$param2
482-
$params | Set-ClusterParameter
483-
484-
# Create a corresponding network name
485-
$SAPNetworkNameClusterResourceName = $SAPASCSNetworkName
486-
Add-ClusterResource -Name $SAPNetworkNameClusterResourceName -ResourceType "Network Name" -Group $SAPClusterGroupName -Verbose
487-
488-
# Set a network DNS name
489-
$SAPNetworkNameClusterResource = Get-ClusterResource $SAPNetworkNameClusterResourceName
490-
$SAPNetworkNameClusterResource | Set-ClusterParameter -Name Name -Value $SAPASCSNetworkName
491-
492-
#Check the updated values
493-
$SAPNetworkNameClusterResource | Get-ClusterParameter
494-
495-
#Set resource dependencies
496-
Set-ClusterResourceDependency -Resource $SAPNetworkNameClusterResourceName -Dependency "[$SAPIPClusterResourceName]" -Verbose
497-
498-
#Start an SAP <SID> cluster group
499-
Start-ClusterGroup -Name $SAPClusterGroupName -Verbose
500-
```
501-
502-
## Register the SAP start service on both nodes
503-
504-
Re-register the SAP ASCS/SCS start service to point to the new profile and profile path.
505-
506-
You must execute this re-registration on *both* ASCS/SCS cluster nodes.
507-
508-
In the elevated command prompt, run the following command:
509-
510-
```
511-
C:\usr\sap\PR1\ASCS00\exe\sapstartsrv.exe -r -p \\sapglobal\sapmnt\PR1\SYS\profile\PR1_ASCS00_pr1-ascs -s PR1 -n 00 -U SAPCLUSTER\SAPServicePR1 -P mypasswd12 -e SAPCLUSTER\pr1adm
512-
```
513-
514-
![Figure 2: Reinstall SAP service][sap-ha-guide-figure-8013]
515-
516-
_**Figure 2**: Reinstall SAP service_
517-
518-
Make sure that the parameters are correct, and then select **Manual** as the **Startup Type**.
519-
520-
## Stop the ASCS/SCS service
521-
522-
Stop the SAP ASCS/SCS service SAP\<SID>_\<InstanceNumber> on both ASCS/SCS cluster nodes.
523-
524-
## Create a new SAP service and SAP instance resources
525-
526-
To finalize the creation of resources of the SAP SAP\<SID> cluster group, create the following resources:
527-
528-
* SAP \<SID> \<InstanceNumber> service
529-
* SAP \<SID> \<InstanceNumber> instance
530-
531-
Run the following PowerShell cmdlet:
532-
533-
```powershell
534-
$SAPSID = "PR1"
535-
$SAPInstanceNumber = "00"
536-
$SAPNetworkNameClusterResourceName = "pr1-ascs"
537-
538-
$SAPServiceName = "SAP$SAPSID"+ "_" + $SAPInstanceNumber
539-
540-
$SAPClusterGroupName = "SAP $SAPSID"
541-
$SAPServiceClusterResourceName = "SAP $SAPSID $SAPInstanceNumber Service"
542-
543-
$SAPASCSServiceClusterResource = Add-ClusterResource -Name $SAPServiceClusterResourceName -Group $SAPClusterGroupName -ResourceType "SAP Service" -SeparateMonitor -Verbose
544-
$SAPASCSServiceClusterResource | Set-ClusterParameter -Name ServiceName -Value $SAPServiceName
545-
546-
#Set resource dependencies
547-
Set-ClusterResourceDependency -Resource $SAPASCSServiceClusterResource -Dependency "[$SAPNetworkNameClusterResourceName]" -Verbose
548-
549-
$SAPInstanceClusterResourceName = "SAP $SAPSID $SAPInstanceNumber Instance"
550-
551-
# Create SAP instance cluster resource
552-
$SAPASCSServiceClusterResource = Add-ClusterResource -Name $SAPInstanceClusterResourceName -Group $SAPClusterGroupName -ResourceType "SAP Resource" -SeparateMonitor -Verbose
553-
554-
#Set SAP instance cluster resource parameters
555-
$SAPASCSServiceClusterResource | Set-ClusterParameter -Name SAPSystemName -Value $SAPSID -Verbose
556-
$SAPASCSServiceClusterResource | Set-ClusterParameter -Name SAPSystem -Value $SAPInstanceNumber -Verbose
557-
558-
#Set resource dependencies
559-
Set-ClusterResourceDependency -Resource $SAPASCSServiceClusterResource -Dependency "[$SAPServiceClusterResourceName]" -Verbose
560-
```
561-
562-
## Add a probe port
563-
564-
Configure an SAP cluster resource, the SAP-SID-IP probe port, by using PowerShell. Execute this configuration on one of the SAP ASCS/SCS cluster nodes, as described [in this article][sap-high-availability-installation-wsfc-shared-disk-add-probe-port].
565-
566-
## Install an ERS instance on both cluster nodes
567-
568-
Install an Enqueue Replication Server (ERS) instance on *both* nodes of the ASCS/SCS cluster. On the SWPM menu, follow this installation path:
569-
570-
**\<Product>** > **\<DBMS>** > **Installation** > **Additional SAP System instances** > **Enqueue Replication Server Instance**
324+
Restart the SAP ASCS/SCS instance.
325+
Set `KeepAlive` parameters on both SAP ASCS/SCS cluster nodes follow the instructions to [Set registry entries on the cluster nodes of the SAP ASCS/SCS instance]([high-availability-guide]:high-availability-guide.md).
571326

572327
## Install a DBMS instance and SAP application servers
573328

0 commit comments

Comments
 (0)