Implementation Of SAP Content Server and MaxDB in SUSE High Availability Cluster Environment

Share
Share

In today’s fast-paced business landscape, ensuring the seamless operation and availability of critical systems is paramount. SAP Content Server, paired with MaxDB, provides a robust solution for storing and retrieving documents, but without a high availability setup, businesses risk downtime that can lead to significant productivity losses and data accessibility issues.

This blog is aimed at solving the key challenges customers face with their SAP environments. Downtime and data loss can be detrimental to business operations, causing disruptions and potential revenue losses. Implementing SAP Content Server with MaxDB in a SUSE HA environment addresses these concerns by providing a reliable and resilient system that ensures continuous availability and quick recovery from failures.

Why does this matter? High availability is not just a luxury; it’s a necessity for businesses that rely on constant data access and uptime. SUSE’s expertise in high availability and SAP solutions uniquely positions us to offer comprehensive and reliable configurations that meet the demands of modern enterprises. Our partnership with SAP and years of experience in deploying SAP solutions ensure that we deliver optimized performance and stability, reducing the risk of downtime and enhancing overall business continuity.

In this blog, we’ll explore the step-by-step implementation process, share best practices, and provide insights into the benefits of leveraging SUSE’s HA capabilities for your SAP Content Server with MaxDB. Whether you’re an IT professional looking to enhance your current setup or an enterprise aiming to maximize the efficiency and reliability of your SAP environment, this blog is your go-to resource for expert guidance and practical solutions.

It includes the following topics:

  1. Download Content Server Installer
  2. Filesystem Preparation
  3. Start Installation from Local System
  4. Check Application and Database Status from the OS CLI
  5. Post-Installation Steps
  6. Cluster Integration of SAP Content Server and MaxDB

Download Content Server Installer

Download contents:

  • SWPM : Software package manager required to start the sapinst (SAP product installer).
  • SAPCAR: Required to extract any SAR file of SAP products.
  • MAXDB Installation Dump
  • SAPCS: Content server installation dump.
  • SAPHOSTAGENT: Required to install SAP host agent service on the server.

You can also download all these installation media from the SAP site SAP Support Portal. Refer to the steps below for manual downloads.


  • Download Content server installation media

 


  • Download MaxDB installation media


  • Download SAPHOSTAGENT

 

 

 


  • Download SAPCAR to extract all other Medias

 

 

 


Filesystem Preparation

For Application (minimum consideration):

  • NFS share on both cluster nodes:
/sapmnt: 1G 
  • Cluster Shared Filesystem for Application:
/usr/sap: 1G
  • Cluster Shared Filesystem for Database:
/sapdb: 15GB 
Disclaimer: The filesystem size should be considered according to your landscape requirements

 

Important: Please refer to SAP Note 1552925 before starting the filesystem preparation process.

 


Start Installation from Local System

App / DB Installation

  • Go to the parent directory where all media is available.
  • Untar SWPM***.SAR file using the SAPCAR utility (One-time task):
./SAPCAR_1115-70006178.EXE -X SWPM10SP40_5-20009701.SAR
  • Start installation (For both app and DB, this step is common. After installation of the app, start the DB installation using the same command): — Here, vhost_name refers to the virtual hostname of the application
./sapinst SAPINST_USE_HOSTNAME=vhost_name

APP Installation Steps:

 

 

 


DB installation steps:

 

 

 

 


Check App and DB Status from OS CLI

Login as <sid>adm:

su – susadm

To check DB State:

/sapdb/programs/bin/dbmcli -d SUS -u SUPERDBA,suse123 db_state

Expected output:

OK
State
ONLINE

To start the DB:

/sapdb/programs/bin/dbmcli -d SUS -u SUPERDBA,Suse@1234 db_start
/sapdb/programs/bin/dbmcli -d SUS -u SUPERDBA,Suse@1234 db_online

To stop the DB:

/sapdb/programs/bin/dbmcli -d SUS -u SUPERDBA,Suse@1234 db_stop

To check application status:

sapcontrol -nr 00 -function GetProcessList

Expected output:

01.02.2022 18:32:33
GetProcessList
OK
name, description, dispstatus, textstatus, starttime, elapsedtime, pid
sapcs, Content Server, GREEN, Running, 2022 02 01 14:34:16, 3:58:17, 113634

Start/stop content server application:

sapcontrol -nr 00 -function Start
sapcontrol -nr 00 -function Stop

Start/stop sapstartsrv:

sapcontrol -nr 00 -function Stopservice
sapcontrol -nr 00 -function StartService SUS
# OR
/usr/sap/SUS/C00/exe/sapstartsrv pf=/usr/sap/SUS/SYS/profile/SUS_C00_sapcsmapp -D -u susadm

Post Installation Steps

Synchronization of Files to All Nodes

Sync the below files with the secondary cluster node:

/etc/passwd --> only new SAP app/db users
/etc/group  --> only new SAP app/db groups
/etc/services
/home/sapadm, /home/<sid>adm and 'database user' home directory
/etc/init.d/sapinit

MaxDB specific files:

/etc/opt
/var/lib/sdb

Add sapinit service on node2 using chkconfig to be present among other system services:

chkconfig --add sapinit
SetDatabaseProperty
Reference: 2018919 – SAP MaxDB/SAPHostagent: Setting connect information as SetDatabaseProperty function
/usr/sap/hostctrl/exe/saphostctrl -host vnode \
-user susadm Suse@1234 -dbname SUS -dbtype ada \
-function SetDatabaseProperty DBCredentials=SET \
-dboption User=SUPERDBA -dboption Password=Suse@1234

Expected output:

Webmethod returned successfully
Operation ID: C79C68055B271EEF83E904AEC59FDB9E

----- Log messages ----
Info: saphostcontrol: Executing SetDatabaseProperty
Info: saphostcontrol: SetDatabaseProperty successfully executed
/usr/sap/hostctrl/exe/saphostctrl -dbname SUS -dbtype ada -function SetDatabaseProperty DBCredentials=SET -dboption User=SUPERDBA -dboption Password=Suse@1234

Expected output:

Webmethod returned successfully
Operation ID: C79C68055B271EEF83E8E3421E02DB9E

----- Log messages ----
Info: saphostcontrol: Executing SetDatabaseProperty
Info: saphostcontrol: SetDatabaseProperty successfully executed

The below command should be run by the root user after setting the above DB property:

/usr/sap/hostctrl/exe/saphostctrl -function GetDatabaseStatus -dbname SUS -dbtype ADA -service
/usr/sap/hostctrl/exe/saphostctrl -function StopDatabase -dbname SUS -dbtype ADA -service
/usr/sap/hostctrl/exe/saphostctrl -function StartDatabase -dbname SUS -dbtype ADA -service

Cluster Integration of SAP Content Server and MaxDB

To prevent the cluster from starting partially defined resources, set the cluster to the maintenance mode. This deactivates all monitor actions.
As user root, type the following command:

# crm configure property maintenance-mode="true"

Now, configure the resources for the file system, IP address and the SAP instance, Database. You need to adapt the parameters for your specific environment.

primitive dlm ocf:pacemaker:controld \
    op monitor interval=60 timeout=60 \
    op start timeout=90s interval=0s \
    op stop timeout=100s interval=0s
primitive lvmlockd lvmlockd \
    op start timeout=90 interval=0s \
    op stop timeout=100 interval=0s \
    op monitor interval=30s timeout=90s
primitive maxdb_fs Filesystem \
    params device="/dev/maxdbvg/maxdblv" directory="/sapdb" fstype=xfs \
    op start timeout=60s interval=0 \
    op stop timeout=60s interval=0 \
    op monitor interval=20s timeout=40
primitive maxdbvg LVM-activate \
    params vgname=maxdbvg vg_access_mode=lvmlockd \
    op start timeout=90s interval=0 \
    op stop timeout=90s interval=0 \
    op monitor interval=30s timeout=90s
primitive rsc_ip IPaddr2 \
    params ip=192.168.2.6 cidr_netmask=24 \
    op monitor interval=10s timeout=20s \
    op start timeout=20s interval=0s \
    op stop timeout=20s interval=0s
primitive rsc_sap_SUS_SAPDB SAPDatabase \
    params SID=SUS DBTYPE=ADA AUTOMATIC_RECOVER=true \
    meta target-role=Started \
    op monitor interval=120 timeout=180 \
    op_params start_delay=60 \
    op start timeout=1800s interval=0s \
    op stop timeout=1800s interval=0s \
    op_params trace_ra=1
primitive rsc_sap_SUS_C00 SAPInstance \
    operations $id=rsc_sap_SUS_C00-operations \
    op monitor interval=20 timeout=60 \
    op_params on_fail=restart \
    params InstanceName=SUS_C00_vode START_PROFILE="/usr/sap/SUS/SYS/profile/SUS_C00_vnode" AUTOMATIC_RECOVER=false DIR_EXECUTABLE="/usr/sap/SUS/C00/exe" MONITOR_SERVICES="sapcs" \
    meta target-role=Started
primitive sapvg LVM-activate \
    params vgname=sapvg vg_access_mode=lvmlockd \
    op start timeout=90s interval=0 \
    op stop timeout=90s interval=0 \
    op monitor interval=30s timeout=90s
primitive stonith-sbd stonith:external/sbd \
    op monitor timeout=20 interval=3600 \
    op start timeout=20 interval=0s \
    op stop timeout=15 interval=0s \
    params pcmk_delay_max=30s
primitive usrsap_fs Filesystem \
    params device="/dev/sapvg/saplv" directory="/usr/sap" fstype=xfs \
    op start timeout=60s interval=0 \
    op stop timeout=60s interval=0 \
    op monitor interval=20s timeout=40
group g-resources maxdbvg sapvg maxdb_fs usrsap_fs rsc_sap_SUS_SAPDB rsc_sap_SUS_C00 rsc_ip 
group g-storage dlm lvmlockd
clone cl-storage g-storage \
    meta interleave=true target-role=Started
order cl-storage_before_g-resources cl-storage g-resources symmetrical=true
rsc_defaults build-resource-defaults: \
    resource-stickiness=1 \
    migration-threshold=3

Create a txt file (like crm_cs_mxdb.txt) with your preferred text editor. Add above example (primitives and group) to that file and load the configuration to the cluster manager configuration.
As user root, type the following command:

# crm configure load update crm_cs_mxdb.txt

The last step is to end the cluster maintenance mode and to allow the cluster to detect already running resources.
As user root, type the following command:

# crm configure property maintenance-mode="false"

 

Summary

In this blog, we’ve explored the detailed implementation of SAP Content Server with MaxDB in a SUSE High Availability environment. We’ve discussed the challenges of maintaining system uptime and data accessibility, and how SUSE’s robust HA capabilities can address these issues. By following our step-by-step guide, you can ensure a resilient and reliable SAP Content Server setup that minimizes downtime and maximizes productivity.

Get Help and Stay Connected

If you have any questions or need further assistance with implementing SAP Content Server with MaxDB in a SUSE HA environment, don’t hesitate to reach out to our support team or visit our community forums. Our experts are here to help you achieve the highest levels of performance and reliability for your SAP solutions.

Stay updated with the latest tips, best practices, and insights by subscribing to our newsletter and following us on social media. Join our community of IT professionals and SAP enthusiasts, and let’s drive innovation together.

Share
(Visited 2 times, 1 visits today)
Avatar photo
1,324 views
Gaurav Patil I am a Premium Support Engineer at SUSE with over 7 years of experience in SUSE High Availability technologies for SAP applications.