Veritas High Availability Agent Guide
Veritas High Availability Agent Guide
5.0
September 2009
Veritas High Availability Agent for SAP WebAS
Installation and Configuration Guide
The software described in this book is furnished under a license agreement and may be used
only in accordance with the terms of the agreement.
Legal Notice
Copyright © 2009 Symantec Corporation. All rights reserved.
Symantec, the Symantec Logo, Veritas and Veritas Storage Foundation are trademarks or
registered trademarks of Symantec Corporation or its affiliates in the U.S. and other
countries. Other names may be trademarks of their respective owners.
The product described in this document is distributed under licenses restricting its use,
copying, distribution, and decompilation/reverse engineering. No part of this document
may be reproduced in any form by any means without prior written authorization of
Symantec Corporation and its licensors, if any.
THE DOCUMENTATION IS PROVIDED "AS IS" AND ALL EXPRESS OR IMPLIED CONDITIONS,
REPRESENTATIONS AND WARRANTIES, INCLUDING ANY IMPLIED WARRANTY OF
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT,
ARE DISCLAIMED, EXCEPT TO THE EXTENT THAT SUCH DISCLAIMERS ARE HELD TO
BE LEGALLY INVALID. SYMANTEC CORPORATION SHALL NOT BE LIABLE FOR INCIDENTAL
OR CONSEQUENTIAL DAMAGES IN CONNECTION WITH THE FURNISHING,
PERFORMANCE, OR USE OF THIS DOCUMENTATION. THE INFORMATION CONTAINED
IN THIS DOCUMENTATION IS SUBJECT TO CHANGE WITHOUT NOTICE.
The Licensed Software and Documentation are deemed to be commercial computer software
as defined in FAR 12.212 and subject to restricted rights as defined in FAR Section 52.227-19
"Commercial Computer Software - Restricted Rights" and DFARS 227.7202, "Rights in
Commercial Computer Software or Commercial Computer Software Documentation", as
applicable, and any successor regulations. Any use, modification, reproduction release,
performance, display or disclosure of the Licensed Software and Documentation by the U.S.
Government shall be solely in accordance with the terms of this Agreement.
Symantec Corporation
350 Ellis Street
Mountain View, CA 94043
[Link]
Technical Support
Symantec Technical Support maintains support centers globally. Technical
Support’s primary role is to respond to specific queries about product features
and functionality. The Technical Support group also creates content for our online
Knowledge Base. The Technical Support group works collaboratively with the
other functional areas within Symantec to answer your questions in a timely
fashion. For example, the Technical Support group works with Product Engineering
and Symantec Security Response to provide alerting services and virus definition
updates.
Symantec’s maintenance offerings include the following:
■ A range of support options that give you the flexibility to select the right
amount of service for any size organization
■ Telephone and Web-based support that provides rapid response and
up-to-the-minute information
■ Upgrade assurance that delivers automatic software upgrade protection
■ Global support that is available 24 hours a day, 7 days a week
■ Advanced features, including Account Management Services
For information about Symantec’s Maintenance Programs, you can visit our Web
site at the following URL:
[Link]/techsupp/
Customer service
Customer service information is available at the following URL:
[Link]/techsupp/
Customer Service is available to assist with the following types of issues:
■ Questions regarding product licensing or serialization
■ Product registration updates, such as address or name changes
■ General product information (features, language availability, local dealers)
■ Latest information about product updates and upgrades
■ Information about upgrade assurance and maintenance contracts
■ Information about the Symantec Buying Programs
■ Advice about Symantec's technical support options
■ Nontechnical presales questions
■ Issues that are related to CD-ROMs or manuals
Documentation feedback
Your feedback on product documentation is important to us. Send suggestions
for improvements and reports on errors or omissions to
clustering_docs@[Link]. Include the title and document version (located
on the second page), and chapter and section titles of the text on which you are
reporting.
Maintenance agreement resources
If you want to contact Symantec regarding an existing maintenance agreement,
please contact the maintenance agreement administration team for your region
as follows:
Symantec Early Warning Solutions These solutions provide early warning of cyber attacks, comprehensive threat
analysis, and countermeasures to prevent attacks before they occur.
Managed Security Services These services remove the burden of managing and monitoring security devices
and events, ensuring rapid response to real threats.
Consulting Services Symantec Consulting Services provide on-site technical expertise from
Symantec and its trusted partners. Symantec Consulting Services offer a variety
of prepackaged and customizable options that include assessment, design,
implementation, monitoring, and management capabilities. Each is focused on
establishing and maintaining the integrity and availability of your IT resources.
Educational Services Educational Services provide a full array of technical training, security
education, security certification, and awareness communication programs.
To access more information about Enterprise services, please visit our Web site
at the following URL:
[Link]
Select your country or language from the site index.
Contents
About sample configurations for the agent for SAP WebAS .................. 87
Sample agent type definition for SAP WebAS .................................... 87
Sample SAP resource configuration ................................................. 88
Sample SAP primary application server instance ......................... 88
Sample SAP additional application server instance ....................... 88
Sample SAP Central Services instance ....................................... 89
Sample SAP Enqueue Replication server instance ........................ 89
Sample service group configuration for ABAP and Java Usage
types ................................................................................... 89
Sample SAP WebAS service group configurations for Solaris zone
support ................................................................................ 92
Sample service group dependency for SAP WebAS ............................. 93
Index .................................................................................................................... 97
10 Contents
Chapter 1
Introducing the Veritas
High Availability Agent for
SAP WebAS
This chapter includes the following topics:
■ Supported software
See the following Technical Support TechNote for the latest updates or software
issues for this agent:
[Link]
The Veritas agent for SAP WebAS brings SAP instances online, monitors the
instances, and bring the instances offline. The agent monitors the system processes
and server states, and can shutdown the server in case of a failover.
The agent supports the following SAP instance types:
■ Central Services Instance
■ Application Server Instance
■ Enqueue Replication Server Instance
The agent supports the following SAP Web Application Server Usage Types:
■ ABAP
■ Java
■ Add-In (ABAP + Java)
Supported software
The Veritas agent for SAP WebAS supports the following software versions:
Introducing the Veritas High Availability Agent for SAP WebAS 13
How the agent makes SAP WebAS highly available
Similarly, on AIX, to use the agent for VCS 5.1, use the agent provided
for VCS 5.0
Solaris 9, 10 SPARC
Solaris 10 x64
are present in the process table. Process check cannot detect whether processes
are in a hung or stopped states.
■ Secondary or Detail monitoring
In this mode, the agent runs a utility to verify the status of SAP instance. The
agent detects application failure if the monitoring routine reports an improper
function of the SAP instance processes. When this application failure occurs,
the SAP instance service group fails over to another node in the cluster. Thus,
the agent ensures high availability for SAP instance.
Online
The online function performs the following tasks:
■ Performs a preliminary check to ensure that the SAP instance is not online on
the specified node in the cluster.
■ Removes any SAP processes that remain because of an unclean shutdown as
follows:
Introducing the Veritas High Availability Agent for SAP WebAS 15
SAP WebAS agent functions
Offline
The offline function performs the following tasks:
■ Checks if the SAP Instance is already offline.
■ Executes [Link] and/or [Link], if exists.
■ Sends a SIGINT signal to the sapstart process, if the process exists. Otherwise,
the function sends a SIGINT signal to all running processes that are relevant
to the specified SAP instance.
■ Waits for the SAP instance to go offline successfully.
■ Ensures that no relevant SAP processes are running. If any processes remain,
the operation kills the remaining processes using a SIGKILL signal.
■ If the [Link] and/or [Link] file exists in the
/usr/sap/SAPSID/InstName/work directory, the operation removes the file
from the directory.
■ Removes the SE and CO locks files from the /usr/sap/SAPSID/InstName/data
directory.
■ If the SAP instance is APPSERV or ENQREP the operation executes the
cleanipc utility.
Monitor
The monitor function monitors the state of the SAP instance on all nodes in the
cluster. The function performs the following tasks:
16 Introducing the Veritas High Availability Agent for SAP WebAS
SAP WebAS agent functions
■ Depending upon the search criteria that the ProcMon attribute specifies, the
monitor function scans the process table to verify the SAP instance processes
are running. For more information about setting the ProcMon attribute:
See “Monitoring an SAP instance” on page 24.
■ If the SecondLevelMonitor attribute is greater than 0, the monitor function
performs a thorough health check of the SAP instance as follows:
■ For APPSERV instances, the function uses the following utilities to perform
this check:
■ For Enqueue Server and Enqueue Replication Server instances, the function
uses the ensmon utility.
Clean
The clean function performs the following tasks:
■ Sends a SIGINT signal to the sapstart process, if the process exists. Otherwise,
the function sends a SIGINT signal to all running processes that are relevant
to the specified SAP instance.
■ Ensures that no relevant SAP processes are running. If any processes remain,
the operation kills all the remaining processes using a SIGKILL signal.
■ If the [Link] and/or [Link] file exists in the
/usr/sap/SAPSID/InstName/work directory, the operation removes the file
from the directory
■ Removes the SE and CO lock files from the /usr/sap/SAPSID/InstName/data
directory.
■ If the SAP Instance is APPSERV or ENQREP, the operation executes the
cleanipc utility.
Introducing the Veritas High Availability Agent for SAP WebAS 17
Typical SAP Web AS configuration in a VCS cluster
Figure 1-1 depicts a configuration where SAP Web AS instance binaries and
sapmnt are installed completely on shared disks.
Node 2
Node 1
VCS Private Network
Public Network
18 Introducing the Veritas High Availability Agent for SAP WebAS
Setting up SAP WebAS in a VCS cluster
Figure 1-2 depicts a configuration where SAP Web AS instance binaries are
installed locally on each node and sapmnt is installed on shared
disks.
Node 1 Node 2
VCS Private Network
Public Network
■ Setting up zones on Solaris for SAP Enqueue and Enqueue Replication Servers
The following three usage types are possible with SAP WebAS:
■ SAP WebAS ABAP (ABAP only)
■ SAP WebAS Java (Java only)
■ SAP WebAS Add-In (ABAP and Java)
Depending on the SAP NetWeaver component to be installed, the Web Application
Server installation type is determined. For example, SAP NetWeaver PI requires
SAP WebAS Add-In (ABAP + Java) usage type.
SAP architecture
Table 2-1 lists the different SAP architectures and its components.
SAP WebAS ABAP Application Server ABAP Dispatcher ■ Controls program that manages the
resources of the R/3 applications.
■ Balances assignment of the transaction
load to the work processes.
■ Manages buffers in main memory.
■ Manages connections with the
presentation level.
■ Organizes the communication processes.
Installing and configuring SAP WebAS for high availability 21
About SAP Web Application Server
SAP WebAS Java Application Server Java Server Processes Processes the requests and holds the session
data.
SAP WebAS Add-In Application Server ABAP Dispatcher ■ Controls program that manages the
resources of R/3 applications.
■ Balances the assignments of the
transaction load to the work processes.
■ Manages buffer in main memory.
■ Connects to the presentation level.
■ Organizes the communication processes.
SAP Central File System ■ Cluster File System (CFS) by switch-over solution
■ NFS file share
■ Hardware based highly available Storage Solution
InstName InstType
ABAP APPSERV dw
ig co se are optional
ABAP ENQUEUE en ms
Installing and configuring SAP WebAS for high availability 25
About installing SAP WebAS for high availability
ABAP ENQREP er
Java APPSERV jc
ig is optional
Java ENQUEUE en ms
Java ENQREP er
ig co se are optional
The monitor operation takes a snapshot of the running processes table. The
operation compares the processes that the ProcMon attribute specifies, to the set
of running UNIX processes. If any process is missing, the operation declares the
SAP instance as offline, and bypasses further monitor operations.
SAP instance on a shared disk Install the SAP instance binaries and sapmnt
on shared disks.
SAP instance on a local disk Install the SAP instance binaries on each
node and sapmnt on shared disks.
Note: sapmnt includes the global directory, profile directory and the exe directory
for the SAP system.
When installing SAP WebAS, ensure that the login_id, id_name, group_id, and
group_name for the sidadm is the same on all the nodes.
26 Installing and configuring SAP WebAS for high availability
About configuring SAP WebAS for high availability
The user sidadm and the group ‘sapsys’ must be local and not Network Information
Service (NIS and NIS+) users.
For more details refer to SAP documentation.
sapinst SAPINST_USE_HOSTNAME=VirtualHostName
Note: Restart of enqueue server process "en" is not supported by the Veritas High
Availability agent for SAP WebAS.
To restart message server, use the following syntax in the start profile:
Restart_Program_xx = local program name program arguments
For example following is the modified syntax for message server with instance
name ASCS00 and SAPSID ERP
Restart_Program_00 = local $(_MS)
pf=$(DIR_PROFILE)/PI1_ASCS00_sappi1scs
By default sapstart restarts the message server without any delay. To determine
under which circumstances a program must be restarted, sapstart uses a signal
mask.
The default signal mask consists of the following signals:
■ SIGABRT
■ SIGBUS
■ SIGFPE
■ SIGILL
■ SIGPIPE
■ SIGSEGV
■ SIGSYS
■ SIGXCPU
■ SIGXFSZ
This mask is extendable using the parameter SignalMask_xx. This parameter
consists of a list separated by commas which define the additional signals required
by sapstart.
For more information on how to set signal mask and additional information on
the restart process of a program through sapstart, refer to SAP Note 768727 and
related notes.
Installing and configuring SAP WebAS for high availability 29
Setting up zones on Solaris for SAP Enqueue and Enqueue Replication Servers
Note: Symantec recommends to carefully study the SAP note before you modify
the profile files for (A)SCS instance.
Step2: Add all the required loop back file systems (LOFS) to the zone configuration.
zonecfg:enqueue_zone1> add fs
zonecfg:enqueue_zone1:fs> set dir=/usr/sap/PI1
zonecfg:enqueue_zone1:fs> set special=/usr/sap/PI1
zonecfg:enqueue_zone1:fs> set type=lofs
zonecfg:enqueue_zone1:fs> end
zonecfg:enqueue_zone1> add fs
zonecfg:enqueue_zone1:fs> set dir=/usr/sap/trans
zonecfg:enqueue_zone1:fs> set special=/usr/sap/trans
zonecfg:enqueue_zone1:fs> set type=lofs
zonecfg:enqueue_zone1:fs> end
zonecfg:enqueue_zone1> add fs
zonecfg:enqueue_zone1:fs> set dir=/usr/sap/ccms
zonecfg:enqueue_zone1:fs> set special=/usr/sap/ccms
zonecfg:enqueue_zone1:fs> set type=lofs
zonecfg:enqueue_zone1:fs> end
zonecfg:enqueue_zone1> add fs
zonecfg:enqueue_zone1:fs> set dir=/usr/sap/tmp
zonecfg:enqueue_zone1:fs> set special=/usr/sap/tmp
zonecfg:enqueue_zone1:fs> set type=lofs
zonecfg:enqueue_zone1:fs> end
30 Installing and configuring SAP WebAS for high availability
Setting up zones on Solaris for SAP Enqueue and Enqueue Replication Servers
zonecfg:enqueue_zone1> verify
zonecfg:enqueue_zone1> commit
zonecfg:enqueue_zone1> exit
Select a Language
0. English
1. Japanese
2. Korean
3. Simplified Chinese
4. Traditional Chinese
more than three nodes in your cluster configuration and would like to use all the
systems for Enqueue and Enqueue Replication server failover targets.
Note: Alternatively, create a zone with same name on all the systems where you
intend to run the Enqueue and Enqueue Replication Server and make sure that
you have different hostnames for all zones.
After installing and configuring a zone on each of the cluster nodes where Enqueue
and Enqueue Replication Server is running, you must configure Veritas Cluster
Server to run under Solaris non-global zones.
Also, ensure that the zone and the Enqueue server have different IPs. This is
required because the Enqueue Server (that is, the application running inside the
zone) fails over between the zones, but the zone itself does not failover.
Figure 2-1 Service group for the Zone resource with NFS mount
Mount
SAP71-PI1EnqZone_mnt
SAP71-PI1EnqZone_zone Zone
SAP71-PI1EnqZone_nic
NIC
include "[Link]"
group SAP71-PI1EnqZone (
SystemList = { systemA = 0, systemB = 1, systemC = 2 }
Parallel = 1
)
Mount SAP71-PI1EnqZone_mnt (
MountPoint = "/sapmnt/PI1"
BlockDevice = "sappi1nfs:/export/sapmnt/PI1"
FSType = nfs
MountOpt = rw
ContainerName @systemA = enqueue_zone1
ContainerName @systemB = enqueue_zone2
ContainerName @systemC = enqueue_zone3
)
NIC SAP71-PI1EnqZone_nic (
34 Installing and configuring SAP WebAS for high availability
Configuring CCMS Monitoring Agent for SAP instance
Device = bge0
NetworkType = ether
)
Zone SAP71-PI1EnqZone_zone (
ZoneName @systemA = enqueue_zone1
ZoneName @systemB = enqueue_zone2
ZoneName @systemC = enqueue_zone3
)
Figure 2-2 Central monitoring scenarios possible with different SAP WebAS
components
Configuring CCMS Agents to work with Veritas agent for SAP WebAS
The Veritas agent for SAP WebAS supports the following SAP CCMS agents:
To install and register the CCMS agents with Central Monitoring System refer to,
[Link]
After you install and register the CCMS agent with Central Monitoring System,
perform the following steps to configure the CCMS agent with the Veritas agent
for SAP WebAS.
To configure the CCMS agent with the Veritas agent for SAP WebAS
1 Log on to the host of SAP instance as <sid>adm.
2 Stop the SAP instance for which you are configuring the CCMS agent.
3 Using the following command, stop the CCMS agent, if already started.
sapccm4x -stop pf=<Instance_Profile_Path>
or
sapccmsr -stop -j2ee pf=<Instance_Profile_Path>
4 Add the CCMS Agent's start specific information to SAP Instance’s START
profile. To do this, edit the Start Profile of the SAP Instance as follows:
For sapccm4x, add the following lines at the end of the START profile:
#---------------------------------------------------
# Start CCMS sapccm4x agent
#---------------------------------------------------------------
_CM = [Link]$(SAPSYSTEMNAME)_$(INSTANCE_NAME)
Execute_xx = local rm -f $(_CM)
Execute_yy = local ln -s -f $(DIR_EXECUTABLE)/sapccm4x $(_CM)
Start_Program_zz = local $(_CM) -DCCMS pf=$(DIR_PROFILE)/ \
$(SAPSYSTEMNAME)_$(INSTANCE_NAME)_$(SAPLOCALHOST)
#---------------------------------------------------------------
For sapccmsr, add the following lines at the end of the START profile:
#---------------------------------------------------
# Start CCMS sapccmsr agent
#---------------------------------------------------------------
_CS = [Link]$(SAPSYSTEMNAME)_$(INSTANCE_NAME)
Execute_xx = local rm -f $(_CS)
Execute_yy = local ln -s -f $(DIR_EXECUTABLE)/sapccmsr $(_CS)
Start_Program_zz = local $(_CS) -DCCMS pf=$(DIR_PROFILE)/ \
$(SAPSYSTEMNAME)_$(INSTANCE_NAME)_$(SAPLOCALHOST)-j2ee
#---------------------------------------------------------------
Where,
xx, yy and zz denotes the next available number for the programs in the start
profile.
5 Start the SAP instance.
An additional connection route gets set between the monitored SAP instance
and the Central Monitoring System using the CCMS agent SAPCCM4X or
SAPCCMSR
■ sapstart
■ sapstartsrv
■ sapcontrol
Note: The binary extensions vary for different operating systems. The naming
conventions followed in the above binaries are applicable to Solaris platform.
For each binary, ensure that the access and execute permissions are correctly
set for sidadm.
■ Create a sapcpe list file [Link] with the following names.
■ cleanipc
■ enqt
■ enrepserver
■ ensmon
■ libsapu16_mt.so
■ [Link].30
■ [Link].30
■ [Link].30
■ [Link]
■ [Link]
■ sapcpe
■ sapstart
■ sapstartsrv
■ sapcontrol
■ stopsap
■ [Link]
The binary extensions may vary for different operating systems
■ Create a new ERS instance profile in /usr/sap/PLL/SYS/profile.
SAPSYSTEMNAME = PLL
SAPSYSTEM = 11
INSTANCE_NAME = ERS11
#---------------------------------------------------------
Installing and configuring SAP WebAS for high availability 41
Configuring the Enqueue Replication Server for SAP WebAS
SETENV_00 = PATH=$(DIR_INSTANCE)/exe:%(PATH)
SETENV_01 = LD_LIBRARY_PATH=$(DIR_EXECUTABLE):%(LD_LIBRARY_PATH)
SETENV_02 = SHLIB_PATH=$(DIR_LIBRARY):%(SHLIB_PATH)
SETENV_03 = LIBPATH=$(DIR_LIBRARY):%(LIBPATH)
_PF = $(DIR_PROFILE)/PLL_ERS11_sapershost
#----------------------------------------------------------
# Copy SAP Executables
#----------------------------------------------------------
_CPARG0 = list:$(DIR_EXECUTABLE)/[Link]
Execute_00 = immediate $(DIR_EXECUTABLE)/sapcpe$(FT_EXE)\
$(_CPARG0) pf=$(_PF)
#----------------------------------------------------------
# Settings for enqueue monitoring tools (enqt, ensmon)
#----------------------------------------------------------
enque/process_location = REMOTESA
rdisp/enqname = $(rdisp/myname)
#----------------------------------------------------------
# standalone enqueue details from (A)SCS instance
#----------------------------------------------------------
enque/serverinst = $(SCSID)
enque/serverhost = $(SAPGLOBALHOST)
enque/serverport = 32$(SCSID)
enque/poll_interval = 0
enque/poll_timeout = 120
enque/enrep/inactive_actio = sleep
enque/table_size = 4096
#----------------------------------------------------------
# Start enqueue replication server
42 Installing and configuring SAP WebAS for high availability
Configuring the Enqueue Replication Server for SAP WebAS
#----------------------------------------------------------
_ER = [Link]$(SAPSYSTEMNAME)_$(INSTANCE_NAME)
Execute_01 = immediate rm -f $(_ER)
Execute_02 = local ln -s -f $(DIR_EXECUTABLE)/enrepserver $(_ER)
Start_Program_00 = local $(_ER) pf=$(_PF) NR=$(SCSID)
For DIR_CT_RUN in this ERS profile, take the value DIR_CT_RUN from the
(A)SCS instance profile. If the (A)SCS instance has not configured DIR_CT_RUN
in its profiles, take the value specified for DIR_EXECUTABLE from the (A)SCS
instance profile.
It is essential that the binaries from (A)SCS and ERS instance are from the
same binary set.
■ Control the life time of Enqueue Replication Server using switchover solution.
Note: If you are installing the agent under Solaris non-global zone, ensure that
the non-global zone is in a running state.
Installing, upgrading, and removing the agent for SAP WebAS 45
Installing the ACC library
AIX cd1/aix/vcs/application/acc_library/version_library/pkgs
HP-UX cd1/hpux/generic/vcs/application/acc_library/version_library/pkgs
Linux cd1/linux/generic/vcs/application/acc_library/version_library/rpms
Solaris cd1/solaris/dist_arch/vcs/application/acc_library/version_library/pkgs
3 Install the package. Enter Yes if asked to confirm overwriting of files in the
existing package.
Linux # rpm -i \
VRTSacclib-VersionNumber-GA_GENERIC.[Link]
AIX cd1/aix/vcs/application/sapwebas_agent/
vcs_version/version_agent/pkgs
HP-UX cd1/hpux/generic/vcs/application/sapwebas_agent/
vcs_version/version_agent/pkgs
Linux cd1/linux/generic/vcs/application/sapwebas_agent/
vcs_version/version_agent/rpms
Solaris cd1/solaris/dist_arch/vcs/application/sapwebas_agent/
vcs_version/version_agent/pkgs
# haconf -makerw
3 Remove all SAP Web AS resources from the cluster. Use the following
command to verify that all resources have been removed:
4 Remove the agent type from the cluster configuration by typing the following
command from any node in the cluster:
Removing the agent’s type file from the cluster removes the include statement
for the agent from the [Link] file, but the agent's type file is not removed
from the cluster configuration directory. You can remove the agent’s type
file later from the cluster configuration directory.
5 Save these changes. Then set the cluster configuration mode to read-only by
typing the following command from any node in the cluster:
6 Use the platform's native software management program to remove the agent
for SAP WebAS from each node in the cluster.
Execute the following command to uninstall the agent:
3 Ensure that the agent operations are stopped on all the nodes.
# ps -ef | grep SAPWebAS71
Note: To note the list of changed attributes, compare the new type definition
file with the old type definition file.
10 Unfreeze the service groups once all the resources come to an online steady
state.
# hagrp -unfreeze GroupName -persistent
50 Installing, upgrading, and removing the agent for SAP WebAS
Upgrading the agent in a VCS environment
Chapter 4
Configuring the agent for
SAP WebAS
This chapter includes the following topics:
To import the agent types file using the Veritas Cluster Server graphical user
interface
1 Start the Veritas Cluster Manager and connect to the cluster on which the
agent is installed.
2 Click File > Import Types.
3 In the Import Types dialog box, select the following file:
4 Click Import.
5 Save the VCS configuration.
The SAP agent type is now imported to the VCS engine.
You can now create SAP Web AS resources. For additional information about
using the VCS GUI, refer to the Veritas Cluster Server User's Guide.
To import the agent types file using the Veritas Cluster Server command line
interface (CLI), perform the following steps.
1 Log on to any one of the systems in the cluster as the superuser.
2 Create a temporary directory.
# mkdir ./temp
# cd ./temp
# haconf -makerw
# sh [Link]
# haconf -dump
EnqSrvResName The name of the VCS resource for SAP Central Services (A)SCS Instance. This attribute
is used by Enqueue and Enqueue Replication Server. Using this attribute the Enqueue
server queries the Enqueue Replication Server resource state while determining the fail
over target and vice a versa.
Default: ""
Example: SAP71-PI1SCS_sap
Configuring the agent for SAP WebAS 55
SAP WebAS agent attributes
EnvFile The absolute path to the file that must be sourced with the UNIX shell. You must source
this file to set the environment before executing SAP scripts for online, offline, monitor,
and clean operations.
Symantec recommends that you store this file on shared disk so that the file is always
available to an online system.
Default: ""
Example: /usr/sap/PI1/DVEBMGS00/[Link]
InstType An identifier that classifies and describes the SAP server instance type. Valid values are:
Default: APPSERV
Example: ENQUEUE
ProcMon The list of SAP processes to monitor. The entries in this list are separated using space
and can be specified in any order. Review the information about how the monitor operation
uses this attribute:
Default: ""
Example: dw se jstart
56 Configuring the agent for SAP WebAS
SAP WebAS agent attributes
ResLogLevel The logging detail performed by the agent for the resource. Valid values are:
TRACE: Logs above plus trace messages. TRACE is very verbose and should only be used
during initial configuration or for troubleshooting and diagnostic operations.
Default: INFO
Example: TRACE
SAPAdmin SAP System administrator for SAPSID. This user name is usually a concatenation of the
SAPSID attribute and the adm string 'sidadm'.
Storing SAPAdmin in system naming services is not supported, for example: NIS, NIS+
and LDAP servers. The agent functions use this user name to execute their respective
core subroutines.
Default: ""
Example: pi1adm
Default: ""
Example: /usr/sap/PI1/SYS/profile/PI1_DVEBMGS00_sappi1pas
MonitorProgram Absolute path name of an external, user-supplied monitor executable. Review the
information about setting this attribute:
Default: ""
Example 1: /usr/sap/PI1/DVEBMGS00/work/[Link]
Example: 1
Default: 0
ContainerName Non-global zone support for Solaris. Defines the name of the non-global zone.
Example: sap710scs-zone
58 Configuring the agent for SAP WebAS
Setting the SecondLevelMonitor attribute
ContainerInfo Non-global zone support for VCS 5.1 on Solaris. Determines if you can use the service
group with the container.
To ensure that the customized utility is always available to the agent, Symantec
recommends storing the file in a shared directory that is available on the online
node.
For example, if an add-in server instance takes 9 seconds to restart a failed jstart
process, you must set the value of the MonitorTimeout attribute to at least 90
seconds.
Chapter 5
Configuring the service
groups for SAP WebAS
This chapter includes the following topics:
■ Creating service groups for Enqueue and Enqueue Replication Server under
Solaris non-global zones
■ Verify that VCS is installed and configured on all nodes in the cluster where
you will configure the service group.
Refer to the Veritas Cluster Server Installation Guide for more information.
■ Verify that SAP WebAS is installed and configured identically on all nodes in
the cluster.
See “About installing SAP WebAS for high availability” on page 25.
See “About configuring SAP WebAS for high availability ” on page 26.
■ Verify that the Veritas agent for SAP WebAS is installed on all nodes in the
cluster.
See “Installing the agent in a VCS environment” on page 46.
Note: If you have created zones for Enqueue and Enqueue Replication Server with
same name on all the systems, it is not required to localize the ZoneName attribute.
Configuring the service groups for SAP WebAS 63
Creating service groups for Enqueue and Enqueue Replication Server under Solaris non-global zones
SAP71-PI1EnqZone_zone
Zone
NIC
SAP71-PI1EnqZone_nic
You need not have the IP resource configured for the IP used for zone. When you
start the zone, the IP is brought online automatically. When the zone is shut down,
the IP is taken offline automatically.
The following figure shows the properties view for the zone service group.
64 Configuring the service groups for SAP WebAS
Creating service groups for Enqueue and Enqueue Replication Server under Solaris non-global zones
group SAP71-PI1EnqZone (
SystemList = { systemA = 0, systemB = 1, systemC = 2 }
Parallel = 1
)
NIC SAP71-PI1EnqZone_nic (
Device = bge0
NetworkType = ether
)
Zone SAP71-PI1EnqZone_zone (
ZoneName @systemA = enqueue_zone1
ZoneName @systemB = enqueue_zone2
ZoneName @systemC = enqueue_zone3
)
requires group SAP71-PI1NFS online global soft
SAP71-PI1EnqZone_mnt requires SAP71-PI1EnqZone_zone
SAP71-PI1EnqZone_zone requires SAP71-PI1EnqZone_nic
// resource dependency tree
//
// group SAP71-PI1EnqZone
// {
// Mount SAP71-PI1EnqZone_mnt
// {
// Zone SAP71-PI1EnqZone_zone
// {
// NIC SAP71-PI1EnqZone_nic
// }
// }
// }
For more details on VCS in Solaris non-global zones, refer to the Veritas Cluster
Server User's Guide.
Perform the following steps to configure zones on each cluster node:
■ Setup the non-global zone configuration.
hazonesetup servicegroup_name zoneres_name zone_name password
systems
Example: hazonesetup SAP71-PI1EnqZone SAP71-PI1EnqZone_zone
enqueue_zone1 XXXXX vcssx074
Whenever you make a change that effects the zone configuration, run the
hazonesetup command to reconfigure the zones in VCS.
Make sure that the zone configuration files are consistent on all nodes at all times.
The file is located at /etc/zones/zone_name.xml.
Make sure that the application is identical on all nodes. If you update the
application configuration on one node, apply the same updates to all nodes.
Step 2: Create the service group for Enqueue Server.
After you configure the service group for zone resource, you can configure the
service groups for Enqueue server.
The following figure shows the resource dependencies for Enqueue Server.
SAP71-PI1SCSZone_sap
SAPWebAS71
IP
Mount
SAP71-PI1ASCSZone_ip
SAP71-PI1SCSZone_mnt
SAP71-PI1SCSZone_nic SAP71PI1Zone_dg
NIC
DiskGroup
include "[Link]"
include "[Link]"
include "[Link]"
66 Configuring the service groups for SAP WebAS
Creating service groups for Enqueue and Enqueue Replication Server under Solaris non-global zones
cluster SolarisZones (
UserNames = { admin = ElmElgLimHmmKumGlj }
ClusterAddress = "[Link]"
Administrators = { admin }
)
system systemA (
)
system systemB (
)
system systemC (
)
group SAP71-PI1SCSZone (
SystemList = { systemA = 0, systemB = 1, systemC = 2 }
)
DiskGroup SAP71-PI1SCSZone_dg (
DiskGroup = sappi1scs_dg
)
IP SAP71-PI1SCSZone_ip (
Device = bge0
Address = "[Link]"
NetMask = "[Link]"
ContainerName @systemA = enqueue_zone1
ContainerName @systemB = enqueue_zone2
ContainerName @systemC = enqueue_zone3
)
Mount SAP71-PI1SCSZone_mnt (
MountPoint = "/usr/sap/PI1/SCS20"
BlockDevice = "/dev/vx/dsk/sappi1scs_dg/sappi1scs_vol"
FSType = vxfs
FsckOpt = "-y"
)
NIC SAP71-PI1SCSZone_nic (
Device = bge0
NetworkType = ether
Configuring the service groups for SAP WebAS 67
Creating service groups for Enqueue and Enqueue Replication Server under Solaris non-global zones
SAPWebAS71 SAP71-PI1SCSZone_sap (
EnvFile = "/home/pi1adm/[Link]"
InstProfile = "/usr/sap/PI1/SYS/profile/PI1_SCS20_sappi1scs"
InstType = ENQUEUE
ProcMon = "ms en"
SAPAdmin = pi1adm
ContainerName @systemA = enqueue_zone1
ContainerName @systemB = enqueue_zone2
ContainerName @systemC = enqueue_zone3
)
Step 3: Authenticate the Enqueue Server service group under zones with VCS.
Perform the following steps to authenticate the Enqueue Server service group
under zones with VCS.
■ Execute the following command to authenticate zones under VCS configuration.
# hazonesetup servicegroup_name zoneres_name zone_name password
systems
68 Configuring the service groups for SAP WebAS
Creating service groups for Enqueue and Enqueue Replication Server under Solaris non-global zones
For example,
# hazonesetup SAP71-PI1SCSZone SAP71-PI1EnqZone_zone enqueue_zone1
XXXXX vcssx074
SAP71-PI1ERSZone_sap
SAPWebAS71
IP
Mount
SAP71-PI1ERSZone_ip
SAP71-PI1ERSZone_mnt
SAP71-PI1ERSZone_nic SAP71-PI1ERSZone_dg
NIC
DiskGroup
include "[Link]"
include "[Link]"
include "[Link]"
cluster SolarisZones (
UserNames = { admin = ElmElgLimHmmKumGlj }
ClusterAddress = "[Link]"
Administrators = { admin }
)
system systemA (
)
system systemB (
)
system systemC (
)
group SAP71-PI1ERSZone (
SystemList = { systemA = 0, systemB = 1, systemC = 2 }
)
DiskGroup SAP71-PI1ERSZone_dg (
DiskGroup = sappi1ers_dg
)
IP SAP71-PI1ERSZone_ip (
Device = bge0
Address = "[Link]"
NetMask = "[Link]"
ContainerName @systemA = enqueue_zone1
ContainerName @systemB = enqueue_zone2
ContainerName @systemC = enqueue_zone3
)
Mount SAP71-PI1ERSZone_mnt (
MountPoint = "/usr/sap/PI1/ERS21"
BlockDevice = "/dev/vx/dsk/sappi1ers_dg/sappi1ers_vol"
FSType = vxfs
FsckOpt = "-y"
70 Configuring the service groups for SAP WebAS
Creating service groups for Enqueue and Enqueue Replication Server under Solaris non-global zones
NIC SAP71-PI1ERSZone_nic (
Device = bge0
NetworkType = ether
)
SAPWebAS71 SAP71-PI1ERSZone_sap (
EnvFile = "/home/pi1adm/[Link]"
InstProfile = "/usr/sap/PI1/SYS/profile/PI1_ERS21_sappi1ers"
InstType = ENQREP
ProcMon = "er"
SAPAdmin = pi1adm
ContainerName @systemA = enqueue_zone1
ContainerName @systemB = enqueue_zone2
ContainerName @systemC = enqueue_zone3
)
Perform the following steps to add a service group for SAP WebAS
1 Create a service group for SAP WebAS.
For example,
# hagrp -add SAP71-PI1SCS
For more details on creating a service group refer to,Veritas Cluster Server
User's Guide
2 Modify SystemList attribute for the group, to add systems.
For example,
# hagrp -modify SAP71-PI1SCS SystemList vcssx074 0 vcssx075 1
3 Create resources for NIC, IP, DiskGroup, Volume and Mount in the service
group.
For example,
# hares -add SAP71-PI1SCS_nic NIC SAP71-PI1SCS
# hares -add SAP71-PI1SCS_ip IP SAP71-PI1SCS
For more details on creating and modifying resource attributes for NIC, IP,
DiskGroup, Volume and Mount refer to, Bundled Agents Reference Guide.
4 Create links between the resources. For example,
# hares -link SAP71-PI1SCS_ip SAP71-PI1SCS_nic
5 Create SAPWebAS71 resource for SAP. For example,
# hares -add SAP71-PI1SCS_scs SAPWebAS71 SAP71-PI1SCS
Based on the SAP instance you are clustering, modify the resource attributes.
For more information on agent attributes,
See “SAP WebAS agent attributes” on page 54.
Configuring the service groups for SAP WebAS 73
Generating environments file for SAP
su – pi1adm
4 Copy the [Link] file to shared directory and use it as the SAP instance’s
environments file in EnvFile attribute. Ensure that the permissions are set
properly for user SAPAdmin.
To configure the VCS preonline script in the VCS 4.x and 5.0 environments
1 Create a symlink for the preonline script to the monitor script by running
the following commands.
Note: You need to create this link only if the package installer has failed to
create it.
4.x cd /opt/VRTSvcs/bin/SAPWebAS71
ln -s /opt/VRTSvcs/bin/SAPWebAS71/monitor preonline
5.x cd /opt/VRTSagents/ha/bin/SAPWebAS71
ln -s /opt/VRTSagents/ha/bin/SAPWebAS71/monitor preonline
3 In the preonline file, add these lines to integrate the call to the SAPWebAS71
preonline trigger, in the main trigger script.
If you do not find the preonline file, proceed to step 4.
4 If the VCS preonline trigger script is not present, you can do the following:
■ Pick the sample preonline script present in the following directory.
4.x /etc/VRTSvcs/conf/sample_SAPWebAS71
5.x /etc/VRTSagents/ha/conf/SAPWebAS71
■ Ensure that the file is executable, and accessible to the "root" user.
Note: Once the preonline trigger is configured, you may see unexpected
behavior while manually switching or performing online operations on the
Enqueue Replication service group. This behavior is a result of the control
logic within the preonline trigger that protects the Enqueue lock table. For
system maintenance, if you prefer to perform manual operations on the
service groups, you can do so by disabling the preonline trigger.
To disable the preonline trigger, use the following command:
For VCS 4.x and 5.0,
# hagrp -modify service_group PreOnline 0
For VCS 5.1 use the following command on each system
# hagrp -modify service_group PreOnline 0 -sys system
Chapter 6
Troubleshooting the agent
for SAP WebAS
This chapter includes the following topics:
■ Meeting prerequisites
■ Handling the pkgadd and pkgrm script errors for Solaris non-global zones
Meeting prerequisites
Before installing the agent for SAP WebAS, double check that you meet the
prerequisites.
For example, you must install the ACC library on VCS before installing the agent
for SAP WebAS.
See “Before you install the Veritas agent for SAP WebAS” on page 43.
Note: While restarting the SAP instance outside the cluster framework, use the
same parameters as that configured for the VCS SAP resource.
# su SAPAdmin
$ USER=SAPAdmin; LOGNAME=SAPAdmin; HOME=/home/SAPAdmin
$ export USER LOGNAME HOME
$ . EnvFile
$ sapstart pf=InstProfile
5 Ensure that the SAP instance is running successfully by running the grep
command for InstName.
For example, for a SAP instance:
As a result all the processes listed in ProcMon, for the instance running on
the system, must be displayed.
If the SAP instance is working outside the cluster framework, you can log out
of the resource. You can then attempt to restart the SAP server within the
framework.
Additionally, you can also refer to the latest SAPWebAS71 agent log files located
at /var/VRTSvcs/log/SAPWebAS71_A.log
Note: Include both these log files while addressing the problem to Symantec
support team.
Note: Starting with version [Link] of the ACC library, the TRACE level logs for
any ACCLib based agent are generated locally at the location
/var/VRTSvcs/log/Agent_A.log.
Warning: You may consider to temporarily increase the timeout values for
SAPWebAS71 for debugging purposes. After the debugging process is complete,
you can revert back to the original timeout values.
4 Note the time before you begin to operate the identified resource.
5 Test the identified resource. The function reproduces the problem that you
are attempting to diagnose.
6 Note the time when the problem is reproduced.
7 Set the ResLogLevel attribute back to INFO for the identified resource:
8 Review the contents of the log file. Use the time noted in Step 4 and Step 6
to diagnose the problem.
You can also contact Symantec support for more help.
#-------------------
# Define variables..
#-------------------
my $sCmd = '/opt/VRTSagents/ha/bin/SAPWebAS71/preonline';
my $sResLogLevel = 'INFO'; # Define logging level..
my @lsCmdArgs = ( @ARGV, $sResLogLevel ); # Insert logging level..
my $sArgs = join ( ' ', @lsCmdArgs );
my $iExitCode = undef;
84 Troubleshooting the agent for SAP WebAS
Checks for an SAP Add-in Usage Types
#-------------------
# Define variables..
#-------------------
my $sCmd = '/opt/VRTSagents/ha/bin/SAPWebAS71/preonline';
my $sResLogLevel = 'TRACE'; # Define logging level..
my @lsCmdArgs = ( @ARGV, $sResLogLevel ); # Insert logging level..
my $sArgs = join ( ' ', @lsCmdArgs );
my $iExitCode = undef;
The pkgadd command used to install the agent package may throw this error
message, if the Solaris non-global zone is in the installed state.
Workaround:
Ignore the error and boot the zone. Once the zone is booted, configure the preonline
script for the resource.
For details on configuring the preonline script,
See “Configuring SAPWebAS71 preonline script” on page 74.
Alternatively, perform the following steps:
■ Uninstall the agent package from the node.
See “Removing the agent in a VCS environment” on page 46.
■ Boot the zone on the node.
■ Install the package on the node.
See “Installing the agent in a VCS environment” on page 46.
For package uninstallation
The pkgrm command used to uninstall the agent may throw this error message,
if the Solaris non-global zone is in installed state.
Workaround:
Perform the following steps:
■ Ignore the error and boot the zone.
■ Check for any traces of the agent package in the following directories:
■ /etc/VRTSagents/ha/conf/AgentName
■ /opt/VRTSagents/ha/bin/AgentName
■ /opt/VRTS/messages/en/*[Link]
■ Sample service group configuration for ABAP and Java Usage types
■ Sample SAP WebAS service group configurations for Solaris zone support
type SAPWebAS71 (
static str AgentFile = "/opt/VRTSvcs/bin/Script50Agent"
static str AgentDirectory = "/opt/VRTSagents/ha/bin/SAPWebAS71"
static str ArgList[] = { ResLogLevel, State, IState, EnvFile,
SAPAdmin, InstProfile, InstType, ProcMon, EnqSrvResName,
SecondLevelMonitor, MonitorProgram }
str ResLogLevel = INFO
str EnvFile
str SAPAdmin
str InstProfile
str InstType = APPSERV
str ProcMon
str EnqSrvResName
int SecondLevelMonitor = 0
str MonitorProgram
)
SAPWebAS71 SAP71-PI1PAS_sap (
EnvFile = "/home/pi1adm/.login"
SAPAdmin = pi1adm
InstProfile = "/usr/sap/PI1/SYS/profile/PI1_DVEBMGS07_sappi1pas"
InstType = APPSERV
ProcMon = "dw jstart co se ig"
SecondLevelMonitor = 1
)
SAPWebAS71 SAP71-PI1AAS_sap (
EnvFile = "/home/pi1adm/.login"
SAPAdmin = pi1adm
InstProfile = "/usr/sap/PI1/SYS/profile/PI1_D08_sappi1aas"
InstType = APPSERV
ProcMon = "dw jstart se ig"
SecondLevelMonitor = 1
)
SAPWebAS71 SAP71-PI1SCS_ascs (
EnvFile = "/home/pi1adm/.login"
SAPAdmin = pi1adm
InstProfile = "/usr/sap/PI1/SYS/profile/PI1_ASCS05_sappi1scs"
InstType = ENQUEUE
ProcMon = "en ms"
SecondLevelMonitor = 1
)
SAPWebAS71 SAP71-PI1ERS_aers (
EnvFile = "/home/pi1adm/.login"
SAPAdmin = pi1adm
InstProfile = "/usr/sap/PI1/ERS09/profile/PI1_ERS09_sappi1ers"
InstType = ENQREP
ProcMon = er
EnqSrvResName = SAP71-PI1SCS_ascs
SecondLevelMonitor = 1
)
SAP71-PI1PAS_sap
SAPWebAS71
SAP71-PI1PAS_ip
SAP71-PI1PAS_mnt
IP
Mount
NIC DiskGroup
SAP71-PI1PAS_nic
SAP71-PI1PAS_dg
Figure A-2 shows a sample service group configuration for Enqueue Server
instance.
Sample Configurations 91
Sample service group configuration for ABAP and Java Usage types
SAP71-PI1SCS_sap
SAPWebAS71
SAP71-PI1SCS_ip
SAP71-PI1SCS_mnt
IP
Mount
NIC
DiskGroup
SAP71-PI1SCS_nic
SAP71-PI1SCS_dg
Figure A-3 shows a sample service group configuration for Enqueue Replication
Server instance.
92 Sample Configurations
Sample SAP WebAS service group configurations for Solaris zone support
Figure A-3 Service group configuration for Enqueue Replication Server instance
SAP71-PI1ERS_sap
SAPWebAS71
SAP71-PI1ERS_ip
SAP71-PI1ERS_mnt
IP
Mount
NIC
DiskGroup
SAP71-PI1ERS_nic SAP71-PI1ERS_dg
Figure A-4 Service group with loop back file systems for application server
instance running in a non-global zone
SAP WebAS71
SAP71-PI1PAS_sap
SAP71-PI1PAS_appip IP
SAP71-PI1PAS_zone
Zone
Mount Mount
SAP71-PI1PAS_appmnt SAP71-PI1PAS_zonemnt
NIC
SAP71-PI1PAS_nic
Volume Volume
SAP71-PI1PAS_appvol SAP71-PI1PAS_zonevol
DiskGroup DiskGroup
SAP71-PI1PAS_appdg SAP71-PI1PAS_zonedg
SAP71-PI1PAS SAP71-PI1AAS
SAP Enqueue
SAP Enqueue Replication Failover SG SAP71-PI1SCS
Falover SG
SAP Database
online local (soft) Failover SG
SAP71-PI1DB
P U
uninstalling agent, VCS environment 46
preonline script 74
uniquely identifying SAP server instances 23
configuring 75
upgrading agent 48
preventing early faulting of Java and Add-In
instances 59
R
removing agent, VCS environment 46
S
sample
additional application server instance 88
agent type definition 87
primary application server instance 88
resource configuration 88
service group configuration
ABAP and Java architectures 89
service group configurations
Solaris zone support 92
service group dependency 93
SAP Web AS
configuring resources 80
starting instance outside cluster 80
setting
SAP Web AS in a cluster 18
SecondLevelMonitor attribute 58
Solaris zone support
installation requirements 44
sample service group configurations 92
troubleshooting 85
starting the SAP Web AS instance outside a
cluster 80
supported software 12
T
troubleshooting
configuration checks for Solaris zones
support 85