Business Continuity with SAP ASE – Server Availability Solutions (2/2)
Integration of SAP ASE with Prominent Cluster Solutions
This article is the continuation of “Business Continuity with SAP ASE – Server Availability Solutions (1/2)“. It details SAP ASE integration with major vendors cluster solutions.
Symantec Veritas Cluster Server:
Symantec Veritas Cluster Server (VCS) provides cross platform cluster software (for HP-UX, IBM AIX, Linux, Microsoft Windows, Oracle Solaris and VMware).
It has Business Continuity solutions for both SAP ERP  and SAP ASE.
Symantec ships two agents for SAP ASE with Veritas Cluster Server to monitor/start/stop SAP ASE resources:
- Agent for SQL Server- Sybase
- Agent for Backup Server- SybaseBK
A quick overview of Symantec Veritas Cluster Server for SAP ASE is given in [3a]
- Following diagram depicts a single SAP ASE database server sample configuration with Symantec Veritas Cluster Server. It shows the resource types, resources, and resource dependencies within the service group.
- Each ellipse stands for a resource type (DiskGroup, Volume, Mount, NIC, IP, Sybase and SybaseBK).
Each ellipse is tagged with a resource name in bold (dgres, nicres, sybasedg_vol, …).
- The resource dependencies are represented with dependence lines; dependencies dictate the start and stop sequence for all resources in the service group.
The resource dependencies define the order of starting (or stopping) the resources inside a service group.
To start the Sybase database service a bottom-up order is used. The first resource to be started is the dgres resource (of “DiskGroup” resource type). Then several logical volumes are started (sybasedg_vol for data and log devices of the database server and for the SAP ASE distribution). The network interface for the SAP ASE database server is started via nicres and ipres resources. Then file systems are mounted via several “Mount” resource types. Once all the resources are brought online, the database server can be started. The Backup Server is started after the datasever is started.
Stopping the resource for a graceful shutdown or a planned failover uses a top-down order.
Setting up the cluster configuration can be done with a GUI (Cluster Manager, Java console) or using the command line. Using the command line, you have to:
- Edit the /etc/VRTSvcs/conf/config/main.cf file.
Create a SYBASE service group.
Create the SYBASE and SybaseBk resources.
Edit the default attributes to match the parameters in your configuration.
Assign dependencies to the newly created resources.
- Verify the syntax of the file /etc/VRTSvcs/conf/config/main.cf
# cd /etc/VRTSvcs/conf/config
# hacf -verify .
- Start VCS on the local node.
A failover process can be a planned event or triggered by an outage. In case of a planned failover, the administrator (DBA or system administrator) chooses to move the SAP ASE service from a physical node onto another. Following graceful procedure is executed:
- The SAP ASE instance is shut down.
- The virtual IP address is removed from its network interface.
- The files systems are unmounted.
- The disk group containing the files systems is deported.
On the target node (the node chosen by the administrator to host the failover database), the above sequence is reversed.
For unplanned failover events, the same sequence occurs. Nevertheless, in case of a sudden failure there are noticeable differences:
- The cluster layer triggers the failover process (not the DBA).
- Depending on the failure, resources may be stopped abruptly, and may not be brought down gracefully.
- Subsequent starting of resources on the next node may be longer due to additional tasks involved (like extra file systems checks and longer database recovery).
Failling back to the original node is a planned process and follows the planned failover process.
HP Serviceguard is available on HP-UX and Linux. SAP ASE can be integrated with HP Serviceguard in two ways:
- SAP ASE as database server for SAP application environments.
HP Serviceguard Extension for SAP (SGeSAP) on HP-UX, extends HP Serviceguard’s failover cluster capabilities to SAP application environments. It is intended to be used in conjunction with the HP Serviceguard product. SGeSAP provides a single, uniform interface to cluster ABAP-only, JAVA-only, double-stack and split-stack installations of SAP Netweaver based SAP applications. SGeSAP B.05.10 requires the installation of HP Serviceguard A.11.20 and can be used on HP-UX 11i v3 with SYBASE ASE 15.7 and later. Serviceguard extension for SAP is available on Linux (RHEL, SLES) with SAP SYBASE 15.7. HP provides comprehensive documentation to set up and manage SGeSAP and the SAP SYBASE integration .
- SAP ASE as standalone database server
SAP ASE can be integrated to a HP Serviceguard cluster as a package (a resource group). HP offers a toolkit to manage SAP SYBASE database servers with HP Serviceguard cluster. The Sybase ASE Toolkit for Serviceguard can be used with recent versions of HP Serviceguard ( A.11.19, A.11.20) on HP-UX (11i v2 and HP-UX 11i v3) with SAP ASE 15.0.2 and later.
Configuration steps for standalone database server:
The Sybase ASE Toolkit for Serviceguard consists of a shell script that is used to start, stop, and monitor a single-instance of Sybase ASE. SAP ASE binaries should be installed on a shared directory accessible by all nodes.
Registering of SAP ASE as an HP Serviceguard package is done via command line.
- Fill Attribute Definition File with SYBASE information (like start script, monitoring login/password, …)
- Create a shared directory for data and symbolic links
- Test if ASE is able to start on all nodes
- Create a package configuration file
- Following command will create a configuration file for ASE0 dataserver with given Attribute Definition File.
cmmackepkg –m ASE0.conf
- Add database package to the cluster.
Following commands will register ASE0 database server configuration in the cluster; enable ASE0 on physical nodes (here node1 and node2) and start the database server.
cmapplyconf –p ASE0.conf
cmmodpkg –e –n node1 –n node2 ASE0
cmmodpkg –e ASE0
Check  for more information.
For a planned failover, run following:
- Before you move a failover package to a new node, check package dependencies, be sure they can be met on the new node.
cmviewcl -v -l <database package name>
- Halt the package on its node.
cmhaltpkg <database package name>
- Run the package on the new node
cmrunpkg <database package name>
IBM PowerHA SystemMirror:
PowerHA SystemMirror is the Business Continuity solution from IBM. It was previously known as IBM HACMP. IBM PowerHA SystemMirror does not provide specific agent (Smart Assist) for SAP ASE yet. SAP ASE can be integrated into a IBM PowerHA cluster as an application resource. PowerHA SystemMirror uses the term “application server” for application resource like database server.
The administration of cluster resources is done with AIX smitty utility.
For instance, in order to register a SAP ASE database server use “Configuration–>HACMP Extended Resources Configuration–> Configure HACMP Application Servers–>Add an Application Server” menu of smitty.
See documentation  and .
Microsoft Cluster Server:
Installation of SAP ASE with Microsoft Cluster Server is described in SAP Note 1651052 – SYB: MS Cluster: DB instance for failover. SAP installations for SAP ASE provide installation options for a Microsoft Cluster environment as of Software Logistics Toolset 1.0 SPS 06.
ORACLE SUN Cluster:
SUN Cluster uses cluster agents to start/stop/monitor application resources. You can use the SYBASE cluster agents provided by ORACLE or your custom agents for ASE. Custom agents are known as Generic Data Services (GDS).
Availability of ORACLE SUN agents for SYBASE ASE depends on the version of SUN Cluster:
- With SUN Cluster 3.5, ORACLE provides an agent for SYBASE ASE 15. This resource type is named “SUNW.sybase” (See ). You can also use your own custom agent and integrate it with GDS interface.
- With new SUN Cluster 4.1, there is no ASE agent available yet. The only choice is to use a GDS agent (See ). To define a GDS for SAP ASE, you have to provide scripts to stop/start/check the database server.
I have seen both types of agents on customer sites. Both resource types rely on other cluster resources that can be imported/exported by all the nodes of the cluster:
- Highly available IP address resource
- Highly available volumes group resources (named HAStoragePlus)
They are registered in the same way with the “clresource create” Solaris command. Properties of the commands are different depending of the resource types.
For example, below are the steps for registering a database server with the provided agent “SUNW.sybase”. Database server corresponds to ASE-resource-name resource and belongs to a resource-group-name resource group.
# clresource create -g resource-group-name
-p DB_Wait_List=db1, db2, …
-p Custom_action_file=filepath ASE-resource-name
Below is the equivalent method for registering a database server resource via GDS. Database server corresponds to ASE-resource-name resource and belongs to a resource-group-name resource group.
clresource create -g resource-group-name
-p Scalable=false -p Start_timeout=120
-p Stop_timeout=120 -p Probe_timeout=120
-p Child_mon_level=0 -p Network_resources_used=logical_node
-p Failover_enabled=TRUE -p Stop_signal=9 ASE-resource-name
To failover a database server resource, the entire resource group to which it belongs to must be switched. “clresourcegroup switch” Solaris command is used for failover/failback purposes. It does the following:
- Shutdown of all resources of the resource group on the current node
- Deport of logical IP address, volumes groups
- Import of logical IP address, volumes groups on next node
- Starting of the resource group on next node
Red Hat Enterprise Linux with High Availability Add-on:
Red Hat provides an agent for SYBASE ASE for Red Hat Enterprise Linux with High Availability Add-on. The agent is called, “ASEHAagent – Sybase ASE Failover Instance”. A typical “SYBASE” service contains three resources:
- Floating IP Address
- A GFS used to store the shared database devices
- An ASEHAagent
SYBASE ASE service (enable, disable, restart, and relocate) can be executed using a:
- GUI tool (see next illustration)
- Web tool “luci”
- Command line
SUSE Linux Cluster Solution:
There is no support for Sybase ASE 15.7 yet, but customers can add their own live check scripts for SAP Sybase ASE. In collaboration with Novel, SAP has started to develop the official integration of SAP Sybase ASE. For more information, refer to the white paper, “SAP Made High-Available on SUSE Linux Enterprise Server for SAP Applications” on http://www.novell.com/sap.
In my next post, I will describe SAP ASE with HA option. The SAP ASE with HA option is built on top of the vendor failover cluster solutions outlined in this post. It ensures quicker failover and additional features pertinent to database HA needs.
 “Competitive Landscape: Clustering Software Market, Worldwide” GARTNER December 2012. http://www.symantec.com/hk/content/en/us/about/media/industryanalysts/Gartner_Clustering_Software_Market_Dec09.pdf
 “High availability and disaster recovery: concepts, design, implementation”, Klaus SCHMIDT, Springer 2006, ISBN 3540244603, 9783540244608
Symantec Veritas Cluster Server:
 Data Sheet: Clustering – Veritas™ Cluster Server for SAP Solutions
[3a] High Availability for Databases Protecting Sybase Databases with Veritas™ Cluster Server
 Sample configuration for a Sybase service group on AIX systems Article: HOWTO17258
 VCS Sybase agent 6.0 for AIX
 Managing Serviceguard Eighteenth Edition http://bizsupport2.austin.hp.com/bc/docs/support/SupportManual/c02437444/c02437444.pdf
 Managing Serviceguard Extension for SAP Version B.05.10
 Using the Sybase ASE Toolkit in a Serviceguard Cluster on HP-UX
 HP Serviceguard Enterprise Cluster Master Toolkit User Guide
Using Easy Deployment in Serviceguard and Metrocluster environments on HP-UX 11i v3 – (March 2012)
IBM PowerHA SystemMirror:
 IBM PowerHA SystemMirror documentation
ORACLE SUN Cluster:
 Sun Cluster 3.5 – Data services – Sybase ASE – http://docs.oracle.com/cd/E18728_01/pdf/821-2908.pdf
 Sun Cluster 4.1 – Howto Use Oracle Solaris Cluster Administration Commands to Create a Highly Available ServiceThat Uses the GDS p.187 – http://docs.oracle.com/cd/E29086_01/pdf/E29471.pdf
Red Hat Cluster Suite:
 Red Hat Enterprise Linux Cluster Admin Guide
 Deploying Highly Available SAP Servers using Red Hat Clustering
Stay in the conversation by following SAP Services on SCN