Jump to content

Setup of SAP Content Server 7.54 with MaxDB in a WSFC environment based on Azure shared disks.


Recommended Posts

Guest SteffenMueller
Posted

Setup of SAP Content Server 7.54 with MaxDB in a WSFC environment based on Azure shared disks

 

 

 

 

This blog shows the setup of an independent SAP Content server running on its own resources represented by a WSFC cluster role. The same applies to the MaxDB server instance. Following best practices, the data and log files are placed on distinct disks. The MaxDB binaries are installed on the OS disk. If you have the policy not to install any additional SAP related binaries on C: you can create a local disk for each node with the same drive letter assigned and install all binaries on this drive. Contrary to older Content Server installations, this installation is cluster aware and installs all relevant files in the right places. No manual adjustments and the moving around of binaries are required.

 

Please pay attention to the limitations regarding shared disks which can be found in this article:

 

Share an Azure managed disk across VMs - Azure Virtual Machines | Microsoft Learn

 

This installation is supported with Windows Server 2019 and higher.

 

 

 

Installation steps

 

 

Consult the official SAP documentation and Notes: Installation of SAP Content Server 7.5 and Higher on Windows

Please pay attention to the chapters 6 – 8 and the referenced SAP Notes in the SAP Installation manual.

 

 

 

Create 2 identical VMs running Windows Server 2019 or higher

 

 

 

 

Add at least 3 Azure shared disks:

 

1 shared disk is used for the Content Server.

 

2 shared disks are used for the MaxDB data and log files.

 

711x478vv2.png.b5aa654e4d083fa0ba50fa2d51b8400c.png

 

Make sure to select the enable shared disk option for each disk you want to share.

 

 

 

712x466vv2.png.3061b081d80cb167d8fa0dd46fb8f7a1.png

 

This is an example for three shared disks. The individual disk size must be chosen according to your sizing.

 

 

 

453x531vv2.png.c3ee99d552aff4394a529bdbda7a8de0.png

Add the VMs to your Windows AD.

 

 

 

Create DNS/host file entries for the clustered Content Server and clustered MaxDB.

 

 

972x73vv2.png.ad4a3127dcc3a27a9f3dc80e8295a65a.png

Create a virtual host name and IP address for the SAP Content Server and MaxDB cluster roles.

 

 

 

Install the WSFC software on both nodes.

 

 

 

 

706x506vv2.png.06fb6226897877bb470b01f7097de352.png

 

Install the WSFC feature on each cluster node.

 

 

Initialize the disks with the Computer Manager or PowerShell

 

 

744x186vv2.png.c0cb65c5f213b19d738e7a87b1f683fd.png

 

Initialize and format your disks with the Windows Computer Manager.

 

 

 

Create the cluster with the cluster wizard.

 

 

716x496vv2.png.78f826a5c887490e2d15dd39a82bb780.png

 

 

Create your cluster with the cluster wizard. Starting with Windows Server 2019 a virtual IP address for the cluster is not required any more. The cluster name will be assigned to each cluster node.

 

761x218vv2.png.21cf9bff3622e8cf550cac1284f1d49c.png

 

After a successful installation, 3 disks should show up under disks. Since a cloud witness is not defined at this point, one of the disks will act as quorum disk. This will change after setting up a storage account and configure it as cloud witness.

 

 

 

Create storage account and assign it as cloud witness

 

 

640x726vv2.png.44e49fe215db74cbad6949d4e4379064.png

 

A standard storage account is created to act a cloud witness.

 

 

655x454vv2.png.5e9b96d633ed731c836f6b621f8dcfa7.png

 

 

518x162vv2.png.7c95a01da81c09b2327db6220b62f4ff.png

The cloud witness is created in the More Actions section of Failover Cluster Manager.

 

 

655x197vv2.png.54ffe053f2d56f9096b204672e37ca2d.png

 

After the cloud witness is created, all disks become Available Storage as shown in the screen above.

 

Necessary network settings changes

 

 

652x320vv2.png.054af6aecacbe9503a45c09a5d5d63fc.png

 

Use PowerShell to change some of the default network parameters.

 

 

Use SAP SWPM to run First Cluster Node installation.

 

 

 

 

603x639vv2.png.f32d11f9b8318fc73032f92409ba9288.png

Use SWPM Generic Options - SAP Content Server- High Availability (7.5 and higher) to install the First Cluster Node.

 

 

 

608x281vv2.png.9e0d851fee959fc985f1b60d9bf59d53.png

 

Decide where local binaries will be installed. Some customers don't want to install SAP components on the OS disk. In this case you can install a dedicated local drive and install the SAP components there. In this example the OS disk (C:) is used.

 

 

 

676x435vv2.png.74047bcb6e814b071af0f033002d52a2.png

 

Provide the virtual hostname as it is defined in your DNS settings.

 

 

535x392vv2.png.d945cbf14edba90d492793517321e2f2.png

 

 

 

Select the SAP Content Server.

 

 

657x430vv2.png.634bb829e40002898be4462ce13232ea.png

 

Provide the Content Server instance data.

 

 

642x668vv2.thumb.png.fae371a4c03403eb0468f867b13c28cb.png

 

Provide the basic parameters for the Content Server configuration.

 

Create an Azure Internal Load Balancer (ILB) with 2 virtual host names and 2 virtual IP addresses

 

  • The first virtual hostname is used for the Content Server role.
  • The second virtual hostname is used for the MaxDB role.

 

629x601vv2.png.8718f9ac3dcf789b92e6a6774bc03f96.png

 

540x987vv2.thumb.png.65c08a8f2829d8a00ba6640ee3ecbd2b.png

 

Definition of the Content Server hostname in the Load Balancer configuration.

 

538x978vv2.thumb.png.30406f3e5799fda61a82c144df936128.png

 

Definition of the MaxDB hostname in the Load Balancer configuration.

 

 

703x276vv2.png.826e1773c374f503abf368e09dbdd727.png

List of the created virtual hostnames and IP addresses for the ILB.

 

 

489x779vv2.thumb.png.6a0cf46ac4c968af45904ed2382ea59f.png

 

Definition of the Health Probe port for the Content Server.

 

494x594vv2.thumb.png.de62e7f89b491e19bf244ac4abac90bd.png

 

 

Definition of the Health Probe port for the MaxDB SDB server instance.

 

 

Create the Probe port for the SAP Content Server (Cluster Role SAP <SID>)

 

 

Update the probe port for the SAP <SID> role in Windows Server Failover Cluster (WSFC)

 

 

775x26vv2.png.87e816840281665890bae16c010d8da5.png

 

 

 

Actual creation of the Content Server Probe Port. Without this step the Additional Node cannot be installed.

 

652x641vv2.thumb.png.30925babdf3a8389ece354a95af1410d.png

 

Screenshot after successful Probe Port creation

 

 

 

661x191vv2.png.cf968e3987ca75ff0100655872979802.png

 

 

 

663x188vv2.png.27f2fe3eb76465ae79b9a7d6148b8253.png

 

Successful creation of the Content Server cluster role.

 

Use SWPM to install the Second Cluster Node

 

 

 

 

This step must be executed on the additional cluster node. Leave the already created cluster roles untouched. SWPM performs all necessary steps (move cluster group etc.) to create the additional cluster node.

 

602x670vv2.png.6f56143ec10152a82d1de1ad55799c89.png

Use SWPM Generic Options - SAP Content Server- High Availabilty (7.5 and higher) to install the Additional Cluster Node.

 

 

707x223vv2.png.a5b4d9a002118e248b3d65097c842e59.png

 

 

 

On the Additional Node the local installation disk is also the C: drive. This is the main step for installing the Additional Cluster Node.

 

 

 

Use SWPM to install the First MaxDB Cluster Node

 

 

This step must be executed on the first cluster node.

 

 

608x637vv2.png.f88387f52118d159f967dc3f421c872f.png

 

Use SWPM Generic Options - SAP Content Server- High Availability (Legacy) to install the

First MSCS Node.

 

 

621x413vv2.png.23745487057c92f17e3c309722797e2f.png

Provide the DB SID (SDB) and the virtual hostname.

 

 

 

617x407vv2.png.2eec855148a28475f17dc01e63b5dd05.png

Provide the passwords for the MaxDB admin users superdba and control.

 

 

 

614x353vv2.png.4575d30e42bdea7c995e43ce2993bd87.png

Provide the schema user and password for the Content Server.

 

 

 

619x416vv2.png.71c0602971ad3ab331be0a8df0b7901b.png

Provide the basic parameters for MaxDB

 

618x378vv2.png.dd3776ddef0fcef54a9b731c4f579947.png

Choose the location of the MaxDB Log Volumes.

 

616x356vv2.png.dd714b1d69cc2147b2f5cba49024fa01.png

Choose the location of the MaxDB Data Volumes.

 

 

620x335vv2.png.64bff84d054f63dc2527985a1959ba88.png

 

Choose the number and size of the MaxDB Log Files.

630x301vv2.png.171c43eae201d2c4dda15efd1d9499d6.png

 

Choose the number and size of the MaxDB Data Files.

 

 

 

Create the Probe Port for SAP MaxDB (Cluster Role MaxDB)

 

 

Use the following PowerShell script to perform this task.

 

 

 

 

 

 

 

$ProbePort = 62300 # ProbePort of the Azure internal load balancer

 

Clear-Host

 

$SAPClusterRoleName = "MaxDB"

 

$SAPIPresourceName = "MaxDB IP-Address"

 

$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-Host "Current configuration parameters for SAP IP cluster resource '$SAPIPresourceName' are:" -ForegroundColor Cyan

 

Get-ClusterResource -Name $SAPIPresourceName | Get-ClusterParameter

 

Write-Host

 

Write-Host "Current probe port property of the SAP cluster resource '$SAPIPresourceName' is '$OldProbePort'." -ForegroundColor Cyan

 

Write-Host

 

Write-Host "Setting the new probe port property of the SAP cluster resource '$SAPIPresourceName' to '$ProbePort' ..." -ForegroundColor Cyan

 

Write-Host

 

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

 

Write-Host

 

$ActivateChanges = Read-Host "Do you want to take restart SAP cluster role '$SAPClusterRoleName', to activate the changes (yes/no)?"

 

if($ActivateChanges -eq "yes"){

 

Write-Host

 

Write-Host "Activating changes..." -ForegroundColor Cyan

 

Write-Host

 

write-host "Taking SAP cluster IP resource '$SAPIPresourceName' offline ..." -ForegroundColor Cyan

 

Stop-ClusterResource -Name $SAPIPresourceName

 

sleep 5

 

Write-Host "Starting SAP cluster role '$SAPClusterRoleName' ..." -ForegroundColor Cyan

 

Start-ClusterGroup -Name $SAPClusterRoleName

 

Write-Host "New ProbePort parameter is active." -ForegroundColor Green

 

Write-Host

 

Write-Host "New configuration parameters for SAP IP cluster resource '$SAPIPresourceName':" -ForegroundColor Cyan

 

Write-Host

 

Get-ClusterResource -Name $SAPIPresourceName | Get-ClusterParameter

 

}else

 

{

 

Write-Host "Changes are not activated."

 

}

 

 

 

 

 

 

 

733x518vv2.png.f2b4bb29c180edb4434c797d2d9d363d.png

Output of the successful MaxDB Probe Port creation.

 

 

Use SWPM to install the Second MaxDB Cluster Node

 

 

This step must be executed on the additional cluster node. Leave already created cluster roles untouched. SWPM performs all necessary steps (move cluster group etc.) to create the additional cluster node.

 

669x783vv2.thumb.png.2b8e950a7afa3ce12784b4d9303c4e0a.png

Use SWPM Generic Options - SAP Content Server- High Availability (Legacy) to install the

Additional MSCS Node.

 

 

 

670x419vv2.png.74507a3f44609317b98e9055ddf9031c.png

 

Provide the same settings you put in for the First Cluster Node

 

 

 

669x435vv2.png.6fd8d3a21dd7d43aea8066ad1e01ac6d.png

 

Since the MaxDB Software is installed locally, the passwords for user superdba and control need to be supplied again.

 

 

669x296vv2.png.cdb0b85773479ebd582a7cfd7d70be85.png

 

This screen shows the admin console of the Content Server.

 

 

 

667x160vv2.png.8c0cbe0abfbd45ff32ddb3be411f3a6e.png

664x161vv2.png.741b6a5ee54f921bb6da2543b9efd634.png

 

The 2 previous screens show the disk assignment to the 2 cluster roles and the cluster roles themselves. For performance reasons, it is advisable to run the 2 cluster roles on the same node. This can be enforced by creating a dependency between the SAP Content Server and the MaxDB SDB instance.

 

 

Setup the Content Server in the connected SAP ERP or S/4 system

 

 

667x477vv2.png.c475d0d83c8ddae0dde023100eb6afe5.png

 

This is a screenshot of transaction OAC0 with the connected SAP ERP6 system. With this transaction a content repository can be created. Pushing the CS Admin button leads to the following screen where the connection between the Content Server and the MaxDB is established.

 

665x482vv2.png.37777b36e5c26c93fefaffb8c670fe77.png

 

This screen shows the Repository Settings. In the top you can see under HTTP server the virtual host name cs9content for the Content Server. Under ContentStorageName the name SDB of the MaxDB instance is supplied. Under ContentStorageHost the virtual host name cs9db of the MaxDB cluster role is supplied. The parameter StorageDriver needs to be set to SAPDBStorage. Finally, the parameter CurrentStorageDriver needs to be set to SAP MaxDB SDB (Unicode). This establishes the connection from the Content Server to the MaxDB SDB instance.

 

Continue reading...

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...